- MediaPlayer01.java
- MediaPlayer#isPlayingメソッドで, 再生中か否かを調べる.
- MediaPlayer#stopメソッドで, 再生を停止する.
注) 再度再生を開始する場合, MeidaPlayer#startメソッドの前に, MediaPlayer#prepareメッソドを呼ぶ必要がある.
package com.moonlight_aska.android.mediaplayer01;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MediaPlayer01 extends Activity implements View.OnClickListener {
MediaPlayer player = null;
Button btn = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button)findViewById(R.id.button_id);
btn.setOnClickListener(this);
player = new MediaPlayer();
try {
player.setDataSource("/sdcard/MusicSample/sample.m4a");
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v == btn) {
if (player.isPlaying()) {
player.stop();
startBtn.setText(R.string.start_label);
}
else {
try {
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
player.seekTo(0);
player.start();
startBtn.setText(R.string.stop_label);
}
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.v("MediaPlayer", "onDestroy");
if (player.isPlaying()) {
player.stop();
}
player.release();
}
}