2012-04-24 16 views
3

私は、サウンドの再生ボタンをいくつか持っている基本的な響板のようなアプリケーションを構築しています。私はPhoneGap/Cordovaを使用しており、PhoneGap Buildサービスを使用してコードをAPKにコンパイルしています。最初は、私はデスクトップブラウザだけでなく、Androidのブラウザで正常に働いたが、PhoneGapのアプリにパッケージ化されたときに、何の音が再生されませんされていた<audio>タグは、単純なHTML5を使用していました。PhoneGap/Cordovaを使用して作成されたAndroidアプリのボタンをクリックして音声を再生するにはどうすればよいですか?

私は周りを見回したし、いくつかを見ては、PhoneGapの中にメディアAPIの代わりに、標準のHTML5オーディオを使用するので言及ので、私は次のコードの変更とそれに切り替えます。

私が代わりに以下の機能を持っている:

function doPlay(soundId) { 
    var my_media = new Media("/android_asset/www/"+soundId+".mp3", 
    function() { 
     navigator.notification.alert('Success!', alertDismissed); 
    }, 
    function(err) { 
    navigator.notification.alert('Error!', alertDismissed); 
    }); 
    my_media.play(); 
} 

各ボタンは、これと同様のonclickハンドラを持っている...

onclick="doPlay('sound1');" 

ファイルが呼ばindex.html、同じディレクトリにありますsound1.mp3,sound2.mp3など。関数alertDismissed()も定義されていますが、空です。

しかし、それはまだ動作しません。クリックすると音が出ません。 'Success'または'Error'メッセージもありません。はい、notificationmediaのアクセス許可が必要です。

私はかなりここに困惑。何か案は?

更新: @ simon-macdonaldの示唆したように、私はローカルファイル( "/ android_asset/www /")への完全なパスを入れましたが、それでもアプリケーションは動作していません。音声は出力されず、エラー/成功アラートは表示されません。 :-(あなたに

答えて

3

パスがファイルが正しくありませんあなたがやりたい:。

var my_media = new Media("/android_asset/www/" + soundId+".mp3", 
function() { 
    navigator.notification.alert('Success!', alertDismissed); 
}, 
function(err) { 
navigator.notification.alert('Error!', alertDismissed); 
}); 
my_media.play(); 

は私のミニチュートリアルをチェックアウト

http://simonmacdonald.blogspot.ca/2011/05/using-media-class-in-phonegap.html

+0

私はそれがこの程度になる感じを持っていたので、私は興奮して、このパスに入れて、私はまだ音が届きません。成功/失敗のアラートも表示されません。私が正しいことをしていないことがあります。私はここでEclipseを使用していないのは関連性がありますか?これは単なるテキストエディタで、ビルドにジッパーを付けてアップロードします。 – aalaap

+0

まあ、私はこのコードが私のために働くことを知っています。あなたのサウンドファイルがビルドされてパッケージ化されていますか?また、あなたのアプリをテストするときに "adb logcat"には何が表示されますか?物事の根本的な原因を指すエラーが通常ある。 –

+0

私はAndroid開発をやめ、ウェブに戻った。 – aalaap

0

私は感じてあなたの問題がある持っています。あなたが書いたコードとは無関係ですが、あなたの頭のセクションにcordovaのjavascriptファイルを含めるのを忘れたかもしれません。

<script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script> 

運が良かったです。

関連する問題