MediaPlayerで、むむむ


Androidではandroid.media.MediaPlayerを使って楽にメディアファイルが再生できる。


今回はリソースから再生する手順を紹介するが、
公式HPにはそれ以外にもファイルのパスや、URLから再生する方法も掲載されている。
http://code.google.com/android/toolbox/apis/media.html

メディアファイルを再生する前準備として、プロジェクトフォルダ内の./res/rawに
再生したいメディアファイルを入れる。rawフォルダがない場合は自分で作る。
再生の仕方は公式HPによると次の通り、

MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);
mp.prepare();
mp.start();

これだけ。sound_file_1のとこはリソースのIDです。
基本的にはrawフォルダに入れたファイル名の拡張子を取ったものになります。
"R.java"の中にも書いてあるのでそれで確認するもの良いです。


という感じで非常に簡単。なんだけど自分で試してみたところうまく動かない。
なんでなんだろう。
メディアファイルの再生とかをエミュレータが対応してないのか、
それともやり方が悪いのか。


どなたか再生できたという方が入れば教えてください。

11/18追記

コメント欄にてchephesさんに情報をいただきました。
emulator起動時に-useaudioオプションを付けることでサウンドの再生が可能になります。
このやり方で無事に再生できました。ただファイルが大きいとエラーが出るっぽい。
時間がないのでサンプルソースなどはまた後日。