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(効果音)を再生する
