2016-04-25 11 views
1

Ionicフレームワークを使用してAndroidアプリを開発しています。そこに私はCordova Media Pluginを使っていくつかのmp3ファイルを再生しました。Cordova Mediaプラグインを使用する際の問題

私が理解できないコードには何か変わったことがあります。私は、このコードセクション持っ

私のJavaScriptコードで
function playAudio(src) { 
    myMedia = new Media(src, onSuccess, onError); 
    myMedia.play(); 
    document.getElementById('forTest2').innerHTML = "end of playAudio"; 
} 

document.getElementById('forTest1').innerHTML = "before playAudio"; 
playAudio(audioSrc); 
document.getElementById('forTest3').innerHTML = "visited after playAudio return"; 

を私はデバッグのためにdocument.getElementById行を追加したようなコードでは、私は、メディアオブジェクトを作成し、それを再生する機能を持っています。

私は次の行は、文書画面に示される参照コードを実行する場合:

before playAudio 
end of playAudio 
visited after playAudio return 
:私は代わりに2本のライン上のこれらの3行を参照する playAudio関数から戻った後期待

before playAudio 
end of playAudio 

私はから返されないことを示すvisited after playAudio returnメッセージが表示されません。これは奇妙です。

これについて何か説明がありますか?

問題がある場合は、Android API 18でこれをテストしています。

本当にありがとうございます。

答えて

0

id:forTest3の要素がありますか?意味がないので、の終了に達し、次の命令は実行されません。要素がないように見えます。forTest3

代わりにconsole.log()を使ってみてください。

function playAudio(src) { 
    myMedia = new Media(src, onSuccess, onError); 
    myMedia.play(); 
    console.log("end of playAudio"); 
} 

console.log("before playAudio"); 
playAudio(audioSrc); 
console.log("visited after playAudio return"); 

出力を追加するとどうなりますか?

myMedia = new Media(src, onSuccess, onError, function(status){console.log(status)}; 
+0

はい私はそのIDの要素を持っていると確信しています。私はCordovaのメディアプラグインに関連するものがあると思っています。 – TJ1

+0

しかし、forTest2とforTest3の間には命令はありません。私はこの場所で何らかのエラーが発生するとは思わない... –

+0

私の知っていることは、 '私のMedia.play()は何とかすべてをロックし、オーディオを再生することが可能なのでしょうか? – TJ1

関連する問題