音声ファイルの再生

mp3などの音声ファイルを再生するにはMediaPlayerクラスなどを使います。

このクラスでは音楽の音量調節やループ再生などの操作も実行できます。

音声ファイルをリソースに追加する

では、初めに再生したい音楽ファイルをリソースに追加します。

例えば、alarm.mp3という音声ファイルをリソースに追加する場合はプロジェクト内のres/rawフォルダにalarm.mp3を追加します。

res/rawフォルダ内の画像

もし、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が呼ばれたら利用し終わったリソースを開放します。

関連項目
プライバシーポリシー