ここでいうBGMは効果音SEではなく、バックで流れている
何回もLoopしている音楽です。
効果音には効果音に適している命令がありますので、別途案内いたします。
【サウンドファイルの配置】
プロジェクトフォルダ内の『res』内に『raw』フォルダを作成
rawフォルダ内にファイルを格納
【ファイルの読み込み】
MediaPlayer mMediaPlayer = new MediaPlayer.create(Context, R.raw.ファイル名);
MediaPlayer生成時にコンテクスト(getApplicationContext()とかthisとか)
とファイルパスを指定します。
MP3Extractor
unable to resync. signalling end of stream
ファイル形式がMP3の場合にエラーLogが出力される場合がありますが、
基本的には気にしなくて大丈夫です。気になるようでしたら、ファイル形式を変えましょう!!
【再生準備】
// ループ設定
mMediaPlayer .setLooping(true);
// 再生位置を0ミリ秒に指定
mMediaPlayer .seekTo(0);
ループをtrueにすると、
曲が終わったら、また、最初から曲が流れます。。
【再生・停止・一時停止】
//Music Start!!
mMediaPlayer .start();
//一時停止
mMediaPlayer.pause();
//停止
mMediaPlayer.stop();
【終了処理】
mMediaPlayer.release();
mMediaPlayer = null;
少し面倒ですが、オブジェクトの解放が必要となります。
しっかりと終了しないと、アプリを終わらせたつもりでも、
いつまでもBGMが流れてしまうので、注意ください。
【再生中かの判定】
mMediaPlayer.isPlaying()
再生中なら、trueが返ってきます。
曲を停止している最中にもう一度停止したりすると、
startしても曲が再生されないことがあるので、
//再生中かの判定
if (mMediaPlayer.isPlaying()){
//一時停止
mMediaPlayer.pause();
}こんな感じで使います。
1つとか2つの音楽ファイルだけでしたら、
メモリもあんまり使わないのですが、
何十曲もあると、割とメモリを使うので
ファイルを取り込むタイミングや破棄する
タイミングをいろいろ試行錯誤しましょう
0 件のコメント:
コメントを投稿