//在主类中实现播放,暂停,停止的方法
public class MainActivity extends Activity {
private MediaPlayer mediaPlayer;
private int currentPosition;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer=new MediaPlayer();//创建一个音乐播放器
mediaPlayer=MediaPlayer.create(this,R.raw.abc);//以create的方式加载音频文件
//还有一种方式加载音频文件mediaPlayer.setDataSource();是以URI的方式加载的,适合加载手机内部的文件
currentPosition=0;//设置音乐播放的位置,默认为0即从头开始播放
}
public void start(View view){
mediaPlayer.setLooping(true);//设置重复播放 true重复 false不重复
mediaPlayer.seekTo(currentPosition);//从某个位置开始播放
mediaPlayer.start();//调用start方法开始播放,否则是不会开始不播放的
}
public void stop(View view){
mediaPlayer.setLooping(false);//关闭重复播放
currentPosition=0;//把播放位置设为0
mediaPlayer.stop();//停止播放
try {
mediaPlayer.prepare();//点击停止播放后,mediaPlayer处于idal状态,不能直接调用start,pause,等方法
//必须先调用prepare方法是mediaPlayer处于就绪状态
} catch (Exception e) {
mediaPlayer.reset();
e.printStackTrace();
}
}
public void pause(View view){
currentPosition=mediaPlayer.getCurrentPosition();
mediaPlayer.pause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mediaPlayer.release();
}
}
//布局文件 在布局文件中设置了 播放 暂停 停止三个按钮,分别添加了对应的click方法
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
android:id="@+id/start"
android:onClick="start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_start" />
android:id="@+id/stop"
android:onClick="stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_stop" />
android:id="@+id/pause"
android:onClick="pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_pause" />