2012-07-12 2 views
2

나는 안드로이드 응용 프로그램 (보이스 레코더)을 만들 폰갭을 사용하고 있습니다,하지만 난 내 코드에서이 두 오류가 있었다 :자바 스크립트에서 이러한 변수를 찾을 수없는 이유는 무엇입니까?

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

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

첫 번째를 응용 프로그램이 실행될 때 오류가 발생합니다. 두 번째 오류는 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; 
} 

감사합니다.

+0

"Media"생성자는 어디에서 제공되기를 기대합니까? 필요한 패키지를 가져 오기 위해 적절한 것을 사용 했습니까? – Pointy

+0

'미디어'는 무엇이되어야합니까? 분명히 그런 생성자는 없습니다 (그리고'mediaRec'는 그 이후에'undefined'가 될 것이고, 속성에 접근 할 때 에러를 던집니다). – Bergi

+0

'미디어 '란 무엇입니까? 당신의 실수는'Media'라는 함수를 찾을 수 없다는 (그렇게 명확하지는 않습니다) 것입니다. –

답변

0

asset/www/... 디렉토리 phonegap이 있기 때문에 scr = "/android_asset/www/myrecording.mp3"이라고 생각합니다. 디렉토리가없는 경우 phonegap의 javascript가 다음과 같은 경고를 표시합니다. ReferenceError : 변수를 찾을 수 없습니다 : Media .

0

글로벌 미디어 생성자를 정의하는 'cordova-plugin-media'플러그인을 추가하십시오. Cordova media documentation cordova plugin add cordova-plugin-media --save

보기이 발생할 수있는 다른 이유는 장치가 new Media 생성자를 호출하기 전에 준비 코르도바 이벤트가 될 때까지 대기해야합니다.

관련 문제