2014年9月4日木曜日

PhoneGap 3.5 + Media プラグイン + Android で BGM 再生できない

org.apache.cordova.media プラグインを使用すると、
JavaScript からBGM が再生できます。

apache/cordova-plugin-media | GitHub
https://github.com/apache/cordova-plugin-media

iOS では www/ を基準にした相対パスでファイルの場所を指定できますが、
Android の場合だとエラーが発生して音声が再生できませんでした。

Android の場合は以下のように音声ファイルの場所を指定する必要があります。
var media = new Media('file:///android_asset/www/my_sound.mp3');
media.play();

Android の WebView からローカルファイルにアクセス出来ないという情報があり、
そもそもどこを参照しているのかを調べるため、
location.href を出力してみたところ上記の URI が表示されたので、
そこからパスを指定したところ再生されました。

ドキュメントに書かれていなかったので、
音声周りで数日悩んでしまいました。

0 件のコメント:

コメントを投稿