簡體   English   中英

Cordova Media-Capture 插件不工作

[英]Cordova Media-Capture plugin is not working

我制作了一個簡單的 cordova 測試應用程序來測試運行媒體捕獲插件,單擊錄制音頻、捕獲圖像或錄制視頻的按鈕沒有任何反應

以下是我在 cordova 項目目錄中安裝的插件: 在此處輸入圖像描述

以下是 HTML 文件的代碼

 <button id = "audioCapture">AUDIO</button>
 <button id = "imageCapture">IMAGE</button>
 <button id = "videoCapture">VIDEO</button>

以下是 JS 文件的代碼,我在其中分別添加了音頻捕獲、圖像捕獲和視頻捕獲的功能。

document.getElementById("audioCapture").addEventListener("click", audioCapture);
document.getElementById("imageCapture").addEventListener("click", imageCapture);
document.getElementById("videoCapture").addEventListener("click", videoCapture);
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;

        }
    }

    function onError(error) {
        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
    }
}

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;

        }
    }

    function onError(error) {
        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
    }
}

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;

        }
    }

    function onError(error) {
        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
    }
}

Cordova 必須滿載才能使用設備 API

為此 cordova 提供設備就緒事件

在 HTML 主體中添加加載onload

<body onload="onLoad()">

在 JS 中

function onLoad() {
  document.addEventListener("deviceready", onDeviceReady, false);
}

// ready to use device APIs
function onDeviceReady() {
   console.log(navigator.device);
   // document.getElementById("audioCapture").addEventListener("click", audioCapture);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM