MediaPlayerを使ってBGMを再生する方法
2つに分けて説明します。
- MediaPlayerを使うクラスの準備
- 再生方法(クラスの使用方法)
MediaPlayerを使うクラスの準備
再生する音源を準備ここでは便宜上"bgm.ogg"とします。
res\rawフォルダを作成し、音源を入れる
以下のようなクラスを用意(BgmPlayerクラス)
import android.content.Context; import android.media.MediaPlayer; public class BgmPlayer { private MediaPlayer mediaPlayer; public BgmPlayer(Context context) { // BGMファイルを読み込む this.mediaPlayer = MediaPlayer.create(context, R.raw.bgm); // ループ再生 this.mediaPlayer.setLooping(true); // 音量設定 this.mediaPlayer.setVolume(1.0f, 1.0f); } /** * BGMを再生する */ public void start() { if (!mediaPlayer.isPlaying()) { mediaPlayer.seekTo(0); mediaPlayer.start(); } } /** * BGMを停止する */ public void stop() { if (mediaPlayer.isPlaying()) { mediaPlayer.stop(); mediaPlayer.prepareAsync(); } } }
再生方法(クラスの使用方法)
Activityが表示されたら再生、非表示になると停止するようにしてみます。import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { private BgmPlayer bgm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //プレイヤーの初期化 this.bgm = new BgmPlayer(this); } @Override protected void onResume() { super.onResume(); //BGMの再生 bgm.start(); } @Override protected void onPause() { super.onPause(); //BGMの停止 bgm.stop(); } }
以上。
関連ページ:
- SE(効果音)を再生する