這個外掛程式提供了對設備的音訊、 圖像和視頻捕獲功能的訪問。
警告: 收集和使用的圖像、 視頻或音訊裝置的攝像頭或麥克風從提出了重要的隱私問題。 您的應用程式的隱私權原則應該討論應用程式如何使用這種感應器和記錄的資料是否與任何其他方共用。 此外,如果攝像機或麥克風的應用程式的使用在使用者介面中不是明顯的你應該之前應用程式訪問的相機或麥克風 (如果設備作業系統不會這樣做已經) 提供只是在時間的通知。 該通知應提供相同的資訊上文指出的並獲取該使用者的許可權 (例如,通過為確定並不感謝提出的選擇)。 請注意有些應用程式市場可能需要您的應用程式提供只是時間的通知,並從訪問攝像機或麥克風之前使用者獲得的許可權。 有關詳細資訊,請參閱隱私指南。
cordova plugin add org.apache.cordova.media-capture
supportedAudioModes: 音訊錄音設備所支援的格式。(ConfigurationData[])
supportedImageModes: 錄製圖像大小和格式的設備支援。(ConfigurationData[])
supportedVideoModes: 錄製的視頻解析度和設備支援的格式。(ConfigurationData[])
啟動音訊答錄機應用程式並返回有關捕獲音訊剪輯檔的資訊。
navigator.device.capture.captureAudio( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureAudioOptions options] );
開始非同步作業以捕獲使用該設備的預設音訊錄製應用程式的音訊錄製。 該操作允許設備使用者的單個會話中捕獲多個錄音。
在捕獲操作結束時或者在使用者退出音訊錄音應用程式或由指定的錄音的最大數目 CaptureAudioOptions.limit
到達。 如果沒有 limit
指定參數的值,它將預設為一 (1) 和捕獲操作終止後使用者記錄單個音訊剪輯。
在捕獲操作完成後, CaptureCallback
執行與陣列的 MediaFile
物件描述每個捕獲音訊剪輯檔。 如果使用者終止操作之前捕獲音訊剪輯時, CaptureErrorCallback
與執行 CaptureError
物件中,設有 CaptureError.CAPTURE_NO_MEDIA_FILES
錯誤代碼。
// capture callback var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // do something interesting with the file } }; // capture error callback var captureError = function(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); }; // start audio capture navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2});
封裝的音訊捕獲的配置選項。
限制: 音訊剪輯設備使用者可以在單個捕獲操作中記錄的最大數目。值必須是大於或等於 1 (預設為 1)。
持續時間: 音訊的音效片段,以秒為單位的最長期限。
// limit capture operation to 3 media files, no longer than 10 seconds each var options = { limit: 3, duration: 10 }; navigator.device.capture.captureAudio(captureSuccess, captureError, options);
duration
參數不受支援。記錄長度不能僅限於以程式設計方式。duration
參數不受支援。記錄長度不能僅限於以程式設計方式。duration
參數不受支援。記錄長度不能局限以程式設計方式。limit
參數不受支援,所以只有一個記錄可以創建的每個調用。limit
參數不受支援,所以只有一個記錄可以創建的每個調用。啟動攝像頭應用程式並返回有關捕獲的影像檔的資訊。
navigator.device.capture.captureImage( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options] );
開始非同步作業以捕獲圖像使用該設備的攝像頭應用程式。該操作允許使用者在一個會話中捕獲多個圖像。
在捕獲操作結束或者當使用者關閉攝像頭應用程式或由指定的錄音的最大數目 CaptureAudioOptions.limit
到達。 如果沒有 limit
指定的值,它將預設為一 (1) 和捕獲操作終止後使用者捕獲單個圖像。
在捕獲操作完成後,它將調用 CaptureCB
回檔與陣列的 MediaFile
物件描述每個捕獲的影像檔。 如果使用者終止之前捕獲圖像,操作 CaptureErrorCB
回檔執行與 CaptureError
物件特色 CaptureError.CAPTURE_NO_MEDIA_FILES
錯誤代碼。
調用本機攝像頭應用程式,同時通過 Zune 連接您的設備不工作,並錯誤回檔執行。
// capture callback var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // do something interesting with the file } }; // capture error callback var captureError = function(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); }; // start image capture navigator.device.capture.captureImage(captureSuccess, captureError, {limit:2});
封裝圖像捕獲的配置選項。
// limit capture operation to 3 images var options = { limit: 3 }; navigator.device.capture.captureImage(captureSuccess, captureError, options);
啟動視頻錄製器應用程式並返回有關捕獲的視訊短片檔的資訊。
navigator.device.capture.captureVideo( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options] );
開始非同步作業以捕獲使用該設備的視頻錄製應用程式的視頻錄製。該操作允許使用者在一個會話中捕獲多個錄音。
在捕獲操作結束時或者在使用者退出視頻錄製應用程式或由指定的錄音的最大數目 CaptureVideoOptions.limit
到達。 如果沒有 limit
指定參數的值,它將預設為一 (1) 和捕獲操作終止後使用者記錄單個視訊短片。
在捕獲操作完成後,它 CaptureCB
回檔執行與陣列的 MediaFile
物件描述每個捕獲視訊短片檔。 如果使用者終止之前捕獲的視訊短片,操作 CaptureErrorCB
回檔執行與 CaptureError
物件特色 CaptureError.CAPTURE_NO_MEDIA_FILES
錯誤代碼。
// capture callback var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // do something interesting with the file } }; // capture error callback var captureError = function(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); }; // start video capture navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2});
CaptureError.CAPTURE_NOT_SUPPORTED
錯誤代碼,如果應用程式未安裝在設備上。封裝視頻捕獲的配置選項。
限制: 該設備的使用者可以在單個捕獲操作中捕獲的視訊短片的最大數目。值必須是大於或等於 1 (預設為 1)。
持續時間: 視訊短片,以秒為單位的最長期限。
// limit capture operation to 3 video clips var options = { limit: 3 }; navigator.device.capture.captureVideo(captureSuccess, captureError, options);
在成功的媒體捕獲操作時調用。
function captureSuccess( MediaFile[] mediaFiles ) { ... };
此函數執行成功捕獲操作完成後。 在已捕獲的媒體檔案,這點,或者使用者已退出媒體捕獲應用程式,或已達到捕獲限制。
每個 MediaFile
物件描述一個捕捉的媒體檔案。
// capture callback function captureSuccess(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; // do something interesting with the file } };
封裝失敗的媒體捕獲操作所引起的錯誤代碼。
CaptureError.CAPTURE_INTERNAL_ERR
: 攝像機或麥克風無法捕獲的圖像或聲音。
CaptureError.CAPTURE_APPLICATION_BUSY
: 相機或音訊捕獲應用程式正在服另一個捕獲請求。
CaptureError.CAPTURE_INVALID_ARGUMENT
: API 的使用無效 (例如,價值 limit
小於 1)。
CaptureError.CAPTURE_NO_MEDIA_FILES
: 在使用者退出之前捕獲任何相機或音訊捕獲應用程式。
CaptureError.CAPTURE_NOT_SUPPORTED
: 請求的捕獲操作不受支援。
如果媒體捕獲操作期間發生錯誤,調用。
function captureError( CaptureError error ) { ... };
如果發生錯誤時試圖發起一個媒體捕獲操作,執行此函數。 故障情形包括捕獲應用程式正忙、 捕獲操作已經發生,或使用者取消該操作之前捕獲任何媒體檔案時。
此函數執行與 CaptureError
物件,其中包含適當的錯誤code
.
// capture error callback var captureError = function(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); };
封裝一組設備支援的媒體捕獲參數。
描述設備所支援的媒體捕獲模式。配置資料包含的 MIME 類型和捕獲尺寸的視頻或圖像捕獲。
MIME 類型應堅持RFC2046。例子:
video/3gpp
video/quicktime
image/jpeg
audio/amr
audio/wav
類型: ASCII 編碼的小寫字串表示的媒體類型。() DOMString
高度: 圖像或視頻以圖元為單位的高度。值為零的音效片段。(人數)
寬度: 圖像或視頻以圖元為單位的寬度。值為零的音效片段。(人數)
// retrieve supported image modes var imageModes = navigator.device.capture.supportedImageModes; // Select mode that has the highest horizontal resolution var width = 0; var selectedmode; for each (var mode in imageModes) { if (mode.width > width) { width = mode.width; selectedmode = mode; } }
不支援任何平臺。所有配置資料陣列都是空的。
檢索格式媒體捕獲檔的資訊。
mediaFile.getFormatData (MediaFileDataSuccessCB successCallback) [MediaFileDataErrorCB errorCallback] ;
此函數以非同步方式嘗試檢索該媒體檔案的格式資訊。 如果成功,它將調用 MediaFileDataSuccessCB
回檔與 MediaFileData
物件。 如果該嘗試失敗,此函數將調用 MediaFileDataErrorCB
回檔。
訪問媒體檔案格式資訊的 API 的限制,所以並不是所有 MediaFileData
支援的屬性。
不為媒體檔案,所以所有有關的資訊提供一個 API MediaFileData
物件返回的預設值。
訪問媒體檔案格式資訊的 API 的限制,所以並不是所有 MediaFileData
支援的屬性。
訪問媒體檔案格式資訊的 API 的限制,所以並不是所有 MediaFileData
支援的屬性。
封裝媒體捕獲檔的屬性。
名稱: 檔的名稱,不包含路徑資訊。() DOMString
完整路徑: 檔,包括名稱的完整路徑。() DOMString
類型: 檔的 mime 類型 (DOMString)
lastModifiedDate: 日期和檔的上次修改時間。(日期)
大小: 檔的大小,以位元組為單位。(人數)
封裝有關的媒體檔案的格式資訊。
編解碼器: 實際的音訊和視頻內容的格式。() DOMString
位元速率: 內容的平均位元速率。值為零的圖像。(人數)
高度: 圖像或視頻以圖元為單位的高度。值為零的音訊剪輯。(人數)
寬度: 圖像或視頻以圖元為單位的寬度。值為零的音訊剪輯。(人數)
持續時間: 以秒為單位的視頻或音效片段的長度。值為零的圖像。(人數)
沒有 API 提供的格式資訊的媒體檔案,所以 MediaFileData
物件返回的 MediaFile.getFormatData
功能以下預設值:
編解碼器: 不受支援,並且返回null
.
位元速率: 不受支援,並且返回零。
高度: 不受支援,並且返回零。
寬度: 不受支援,並且返回零。
持續時間: 不受支援,並且返回零。
支援以下 MediaFileData
屬性:
編解碼器: 不受支援,並且返回null
.
位元速率: 不受支援,並且返回零。
高度: 支援: 僅圖像和視頻檔。
寬度: 支援: 僅圖像和視頻檔。
持續時間: 支援: 僅音訊和視頻檔
支援以下 MediaFileData
屬性:
編解碼器: 不受支援,並且返回null
.
位元速率: 不受支援,並且返回零。
高度: 支援: 僅圖像和視頻檔。
寬度: 支援: 僅圖像和視頻檔。
持續時間: 支援: 僅音訊和視頻檔。
支援以下 MediaFileData
屬性:
編解碼器: 不受支援,並且返回null
.
位元速率: 僅音訊 iOS4 設備上受支援。對於圖像和視頻,返回零。
高度: 支援: 僅圖像和視頻檔。
寬度: 支援: 僅圖像和視頻檔。
持續時間: 支援: 僅音訊和視頻檔。