<< Android-Note
音声ファイルの再生
mp3などの音声ファイルを再生するにはMediaPlayerクラスなどを使います。
このクラスでは音楽の音量調節やループ再生などの操作も実行できます。
音声ファイルをリソースに追加する
では、初めに再生したい音楽ファイルをリソースに追加します。
例えば、alarm.mp3という音声ファイルをリソースに追加する場合はプロジェクト内のres/rawフォルダにalarm.mp3を追加します。
もし、rawフォルダがない場合は自分で作成します。
追加したリソースにコード中から音声ファイルにアクセスするには次のようにします。
R.raw.alarm
リソース名には音声ファイルから拡張子(例えば.mp3)を除いたものを指定します。
MediaPlayerクラスで音声再生
MedeiaPlayerを使ってリソースに追加した音声ファイルを実際に再生しているのが次のコードです。
public class Activity extends Activity { MediaPlayer mp; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button startButton = (Button)findViewById(R.id.start_button); Button stopButton = (Button)findViewById(R.id.stop_button); mp = MediaPlayer.create(this, R.raw.alarm); //リソースからメディアプレイヤーを作成 //音声を再生するボタン startButton.setOnClickListener(new View.onClickListener() { public void onClick() { mp.setVolume(volume, volume); //左右の音の大きさを設定 mp.setLooping(true); ループ再生の設定 mp.seekTo(0); //どこから再生するかミリ秒で設定 mp.start(); //再生 } }); //音声を止めるボタン stopButton.setOnClickListener(new View.onClickListener() { public void onClick() { mp.stop(); //一時停止 } }); } @Override public void onDestroy() { super.onDestroy(); //リソース開放 if(mp != null){ mp.release(); } } }
再生ボタンを押すと繰り返し再生し、一時停止ボタンで再生をやめるようにしています。
また、アプリの終了時でonDestroyが呼ばれたら利用し終わったリソースを開放します。
© Kaz