次のような状況があります。
- phonegap プロジェクトがあります。
- 「cordova build browser 」を使用してビルドし、「 cordova run browser 」を介して実行します。
filename.mp3 がルート ディレクトリ (つまり 'www' ディレクトリ) にある sound/ ディレクトリに存在しないように見えるため、コードは機能しません。
path = 'sounds/filename.mp3'; if (OS === "Android") { path = '/android_asset/www/' + path; } else { // } //Open music file var mediaFile = new Media(path, function() { console.log("Playing"); }, function(error) { console.log("Error:" + JSON.stringify(err)); }, function(st) { if (st === Media.MEDIA_STOPPED && exit === !true) { //console.log("audio status changed"); mediaFile.play(); }} ); mediaFile.play();
Android プラットフォームでは動作しますが、デスクトップ ログには興味深い内容が含まれています。
200 /js/lib/scorebar.js (/home/raian/my_project/platforms/browser/www/js/lib/scorebar.js) - ご覧のとおり、ファイルへのリンクと実際のパス (画像や CSS ファイルなど、他の多くのリソースについても同じことが言えます...);
404 /sounds/filename.mp3 - ここに本当のパスがありませんか?
質問: どうにかして真の mp3 ファイルへのパスを追加/含めることは可能ですか? mp3 ファイルは、ファイル システムのどこかに簡単に存在する可能性のある sound/ ディレクトリにコピーされていないように見えます。これは、cordova がサーバーを実行する方法に直接依存しています。