此插件用于訪問(wèn)設(shè)備的捕獲選項(xiàng)。
要安裝此插件,我們將打開(kāi)命令提示符并運(yùn)行以下代碼 -
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-media-capture
由于我們希望向您展示如何捕獲音頻,圖片和視頻,因此我們將在 index.html 中創(chuàng)建三個(gè)按鈕。
<button id = "audioCapture">AUDIO</button> <button id = "imageCapture">IMAGE</button> <button id = "videoCapture">VIDEO</button>
下一步是在 index.js 中的 onDeviceReady 內(nèi)添加事件監(jiān)聽(tīng)器。
document.getElementById("audioCapture").addEventListener("click", audioCapture); document.getElementById("imageCapture").addEventListener("click", imageCapture); document.getElementById("videoCapture").addEventListener("click", videoCapture);
index.js 中的第一個(gè)回調(diào)函數(shù)是 audioCapture 。 要啟動(dòng)錄音機(jī),我們將使用 captureAudio 方法。 我們使用兩個(gè)選項(xiàng) - limit 將允許每次捕獲操作只記錄一個(gè)音頻剪輯, duration 是聲音片段的秒數(shù)。
function audioCapture() { var options = { limit: 1, duration: 10 }; navigator.device.capture.captureAudio(onSuccess, onError, options); function onSuccess(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; console.log(mediaFiles); } } function onError(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); } }
當(dāng)按下 AUDIO 按鈕時(shí),錄音機(jī)將打開(kāi)。
控制臺(tái)將顯示用戶(hù)捕獲的對(duì)象的返回?cái)?shù)組。
捕獲圖像的功能將與最后一個(gè)相同。 唯一的區(qū)別是我們這次使用 captureImage 方法。
function imageCapture() { var options = { limit: 1 }; navigator.device.capture.captureImage(onSuccess, onError, options); function onSuccess(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; console.log(mediaFiles); } } function onError(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); } }
現(xiàn)在我們可以點(diǎn)擊 IMAGE 按鈕啟動(dòng)相機(jī)。
當(dāng)我們拍照時(shí),控制臺(tái)將使用image對(duì)象記錄數(shù)組。
讓我們重復(fù)相同的概念來(lái)捕獲視頻。我們將使用 videoCapture 方法。
function videoCapture() { var options = { limit: 1, duration: 10 }; navigator.device.capture.captureVideo(onSuccess, onError, options); function onSuccess(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath; console.log(mediaFiles); } } function onError(error) { navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); } }
如果按 VIDEO 按鈕,相機(jī)將打開(kāi),我們可以錄制視頻。
保存視頻后,控制臺(tái)將再次返回?cái)?shù)組。這個(gè)時(shí)候跟視頻對(duì)象里面。
更多建議: