2

Phonegapを使用してAndroidアプリケーション(Voi​​ce Recorder)を作成していますが、コードに次の2つのエラーがありました。

  1. ReferenceError: Can't find variable: Media.

  2. TypeError: Result of expression 'mediaRec' undefined is not an object.

最初のエラーは、アプリケーションの実行時に発生します。2番目のエラーは、recordAudio()を呼び出すときに発生します。方法。

あなたが知っているなら、何が問題なのか教えてください。

var mediaRec;
var src;
document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {

}
function init() {
    document.getElementById('status').innerHTML = "Recording Status";
    src = "myrecording.mp3";
    mediaRec = new Media(src, onSuccess, onError);
}

function recordAudio() {
    // Record audio
    mediaRec.startRecord();
    // Stop recording after 10 sec
    var recTime = 0;
    var recInterval = setInterval(function() {
        recTime = recTime + 1;
        setAudioPosition(recTime + " sec");
        if (recTime >= 10) {
            clearInterval(recInterval);
        }
    }, 1000);
}

// Stop audio
function stopRecording() {
    if (mediaRec) {
        mediaRec.stopRecord();
    }
    clearInterval(mediaTimer);
    mediaTimer = null;
}
// onSuccess Callback
function onSuccess() {
    console.log("recordAudio():Audio Success");
}
// onError Callback 
function onError(error) {
    alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n');
}
// Set audio position
function setAudioPosition(position) {
    document.getElementById('rec_position').innerHTML = position;
}

ありがとう。

4

2 に答える 2

0

アセット/www/にディレクトリphonegapがないため、scr = "/android_asset/www/myrecording.mp3"と思います。ディレクトリがphonegapにjavascriptが見つからない場合は、そのようなアラートが表示されます。ReferenceError:変数が見つかりません:メディア。

于 2013-12-30T17:14:37.793 に答える
0

グローバルメディアコンストラクターを定義する「cordova-plugin-media」プラグインを必ず追加してください。Cordovaメディアのドキュメントを参照してください cordova plugin add cordova-plugin-media --save

new Mediaこれが発生する可能性があるもう1つの理由は、コンストラクターが呼び出される前に、デバイスの準備ができるまでCordovaイベントを必ず待機することです。

于 2016-11-17T14:48:01.200 に答える