camera
Camera模塊管理設備的攝像頭,可用於拍照、攝像操做,經過plus.camera獲取攝像頭管理對象。javascript
方法:
- getCamera: 獲取攝像頭管理對象
對象:
- Camera: 攝像頭對象
- CameraOption: JSON對象,調用攝像頭的參數
- PopPosition: JSON對象,彈出拍照或攝像界面指示位置
回調方法:
- CameraSuccessCallback: 調用攝像頭操做成功回調
- CameraErrorCallback: 攝像頭操做失敗回調
權限:
permissionshtml
"Camera":{"description":"訪問攝像頭設備"}
getCamera
獲取攝像頭管理對象java
Camera plus.camera.getCamera( index );
說明:
獲取須要操做的攝像頭對象,若是要進行拍照或攝像操做,需先經過此方法獲取攝像頭對象。數組
參數:
- index: ( Number ) 可選 要獲取攝像頭的索引值
指定要獲取攝像頭的索引值,1表示主攝像頭,2表示輔攝像頭。若是沒有設置則使用系統默認主攝像頭。
返回值:
Camera : 攝像頭對象平臺支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);var r =null;// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){// 獲取設備默認的攝像頭對象 var cmr = plus.camera.getCamera();// ...... }</script></head><body></body></html>
Camera
攝像頭對象ide
interfaceCamera{readonly attribute DOMString[] supportedImageResolutions;readonly attribute DOMString[] supportedVideoResolutions;readonly attribute DOMString[] supportedImageFormats;readonly attribute DOMString[] supportedVideoFormats;functionvoid captureImage( successCB, errorCB, option );functionvoid startVideoCapture( successCB, errorCB, option );functionvoid stopVideoCapture();}
屬性:
- supportedImageResolutions: 字符串數組,攝像頭支持的拍照分辨率
- supportedVideoResolutions: 字符串數組,攝像頭支持的攝像分辨率
- supportedImageFormats: 字符串數組,攝像頭支持的拍照文件格式
- supportedVideoFormats: 字符串數組,攝像頭支持的攝像文件格式
方法:
- captureImage: 進行拍照操做
- startVideoCapture: 調用攝像頭進行攝像操做
- stopVideoCapture: 結束攝像操做
supportedImageResolutions
字符串數組,攝像頭支持的拍照分辨率函數
說明:
Array 類型 只讀屬性spa
屬性類型爲DOMString[],若不支持此屬性則返回空數組對象。攝像頭支持的拍照圖片分辨率字符串形式「WIDTH*Height」,如「400*800」;若是支持任意自定義分辨率則「*」。code
平臺支持:
- Android (支持)
- iOS (不支持): 返回空數組對象
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera(); alert("Camera supperted image resolutions: "+ cmr.supportedImageResolutions );}</script></head><body></body></html>
supportedVideoResolutions
字符串數組,攝像頭支持的攝像分辨率orm
說明:
Array 類型 只讀屬性視頻
屬性類型爲String[],若不支持此屬性則返回空數組對象。攝像頭支持的視頻分辨率字符串形式爲「WIDTH*Height」,如「400*800」;若是支持任意自定義分辨率則「*」。
平臺支持:
- Android (支持)
- iOS (不支持): 返回空數組對象
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera(); alert("Camera supperted image resolutions: "+ cmr.supportedImageResolutions );}</script></head><body></body></html>
supportedImageFormats
字符串數組,攝像頭支持的拍照文件格式
說明:
Array 類型 只讀屬性
屬性類型爲String[],若不支持此屬性則返回空數組對象。攝像頭支持的圖片文件格式字符串形式爲文件格式後綴名,如「jpg」、「png」、「bmp」。
平臺支持:
- Android (支持)
- iOS (不支持): 返回空數組對象
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera(); alert("Camera supperted image formats: "+ cmr.supportedImageFormats );}</script></head><body></body></html>
supportedVideoFormats
字符串數組,攝像頭支持的攝像文件格式
說明:
Array 類型 只讀屬性
屬性類型爲String[],若不支持此屬性則返回空數組對象。攝像頭支持的視頻文件格式字符串形式爲文件格式後綴名,如「3gp」、「mp4」、「avi」。
平臺支持:
- Android (支持)
- iOS (不支持): 返回空數組對象
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera(); alert("Camera supperted video formats: "+ cmr.supportedVideoFormats );}</script></head><body></body></html>
captureImage
進行拍照操做
cmr.captureImage( successCB, errorCB, option );
說明:
攝像頭資源爲獨佔資源,若是其它程序或頁面已經佔用攝像頭,再次操做則失敗。 拍照操做成功將經過successCB返回拍照獲取的圖片路徑。 可經過option設置攝像頭的各類屬性參數。
參數:
- successCB: ( CameraSuccessCallback ) 必選 拍照操做成功的回調函數
- errorCB: ( CameraErrorCallback ) 可選 拍照操做失敗的回調函數
- option: ( CameraOption ) 必選 攝像頭拍照參數
返回值:
void : 無平臺支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);var r =null;// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera();var res = cmr.supportedImageResolutions[0];var fmt = cmr.supportedImageFormats[0]; cmr.captureImage(function( path ){ alert("Capture image success: "+ path );},function( error ){ alert("Capture image failed: "+ error.message );},{resolution:res, format:fmt });}</script></head><body></body></html>
startVideoCapture
調用攝像頭進行攝像操做
cmr.startVideoCapture( successCB, errorCB, option );
說明:
攝像頭資源爲獨佔資源,若是其它程序或頁面已經佔用攝像頭,再次操做則失敗。 拍照操做成功將經過successCB返回攝像獲取的視頻文件路徑。 可經過option設置攝像頭的各類屬性參數。
參數:
- successCB: ( CameraSuccessCallback ) 必選 攝像操做成功的回調函數
- errorCB: ( CameraErrorCallback ) 可選 拍攝像操做失敗的回調函數
- option: ( CameraOption ) 必選 攝像頭拍照參數
返回值:
void : 無平臺支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);var r =null;// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera();var res = cmr.supportedVideoResolutions[0];var fmt = cmr.supportedVideoFormats[0]; cmr.startVideoCapture(function( path ){ alert("Capture video success: "+ path );},function( error ){ alert("Capture video failed: "+ error.message );},{resolution:res, format:fmt });}</script></head><body></body></html>
stopVideoCapture
結束攝像操做
cmr.stopVideoCapture();
說明:
開始調用攝像頭進行攝像操做後,可在後臺結束攝像操做,與用戶在界面結束操做效果一致。 攝像操做成功將經過startVideoCapture函數中的successCB返回拍照獲取的圖片路徑。 用戶若是沒有進行攝像操做關閉攝像頭頁面則調用失敗回調函數。
參數:
返回值:
void : 無平臺支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<!DOCTYPE html><html><head><metacharset="utf-8"><title>Camera Example</title><scripttype="text/javascript">// 擴展API加載完畢後調用onPlusReady回調函數 document.addEventListener("plusready", onPlusReady,false);var r =null;// 擴展API加載完畢,如今能夠正常調用擴展API function onPlusReady(){var cmr = plus.camera.getCamera();var res = cmr.supportedVideoResolutions[0];var fmt = cmr.supportedVideoFormats[0]; cmr.startVideoCapture(function( path ){ alert("Capture video success: "+ path );},function( error ){ alert("Capture video failed: "+ error.message );},{resolution:res, format:fmt });// 拍攝10s後自動完成 setTimeout(function(){ cmr.stopVideoCapture();},10000);}</script></head><body></body></html>
CameraOption
JSON對象,調用攝像頭的參數
interfaceCameraOption{ attribute String filename; attribute String format; attribute String index; attribute PopPosition popover;}
屬性:
- filename: (DOMString 類型 )拍照或攝像文件保存的路徑
可設置具體文件名,也可只設置路徑,若是以「/」結尾則代表是路徑,如未設置文件名稱或設置的文件名衝突則文件名由程序程序自動生成。
- format: (DOMString 類型 )拍照或攝像的文件格式
可經過Camera對象的supportedImageFormats或supportedVideoFormats獲取,若是設置的參數無效則使用系統默認值。
- index: (DOMString 類型 )拍照或攝像默認使用的攝像頭
拍照或攝像界面默認使用的攝像頭編號,1表示主攝像頭,2表示輔攝像頭。
- popover: (PopPosition 類型 )拍照或攝像界面彈出指示區域
對於大屏幕設備如iPad,拍照或攝像界面爲彈出窗口,此時可經過此參數設置彈出窗口位置,其爲JSON對象,格式如{top:10,left:10,width:200,height:200},默認彈出位置爲屏幕居中。
PopPosition
JSON對象,彈出拍照或攝像界面指示位置
屬性:
- top: (DOMString 類型 )指示區域距離容器頂部的距離
彈出拍照或攝像窗口指示區域距離容器頂部的距離,支持像素值(如100px)和百分比(如50%)。
- left: (DOMString 類型 )指示區域距離容器左側的距離
彈出拍照或攝像窗口指示區域距離容器左側的距離,支持像素值(如100px)和百分比(如50%)。
- width: (DOMString 類型 )指示區域的寬度
彈出拍照或攝像窗口指示區域的寬度,支持像素值(如100px)和百分比(如50%)。
- height: (DOMString 類型 )指示區域的高度
彈出拍照或攝像窗口指示區域的高度,支持像素值(如100px)和百分比(如50%)。
CameraSuccessCallback
調用攝像頭操做成功回調
void onSuccess( capturedFile ){// Caputre image/video file code.}
說明:
調用攝像頭操做成功的回調函數,在拍照或攝像操做成功時調用,用於返回圖片或視頻文件的路徑。
參數:
- capturedFile: ( DOMString ) 必選 拍照或攝像操做保存的文件路徑
返回值:
void : 無平臺支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
CameraErrorCallback
攝像頭操做失敗回調
void onError( error ){// Handle camera error}
參數:
- error: ( DOMException ) 必選 攝像頭操做的錯誤信息
返回值:
void : 無平臺支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)