2013年4月9日火曜日

BGMを再生する


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


スポンサーリンク

Related Posts Plugin for WordPress, Blogger...