可以通过点击开始音乐进行音乐播放
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((Button)v).setEnabled(false);//设置按钮不可用
//创建一个播放音乐的线程
if(mp==null){
thread=new Thread(new Runnable() {
@Override
public void run() {
playBGSound();
}
});
thread.start();
}
}
});
private void playBGSound(){
if (mp!=null){
mp.release();
}
mp=MediaPlayer.create(MainActivity.this,R.raw.music);
mp.start();//开始播放
//为MediPlayer添加播放完成监听器
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
try{
thread.sleep(10000);//线程休眠5秒
playBGSound();
}catch (InterruptedException e){
e.printStackTrace();
}
}
});
}
在点击暂停播放时按钮会出现继续播放的字样并且对正在播放的音乐进行
暂停播放
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp!=null&&flag==true){
mp.pause();//音乐暂停
flag=false;
button1.setText("继续播放");
}else {
mp.start();//让音乐继续播放
flag=true;
button1.setText("暂停");
}
}
});
当点击退出键时,需要对进程进行停止播放并且释放CPU的资源
@Override
protected void onDestroy() {
if(mp!=null){
mp.stop();//停止播放
mp.release();//释放资源
mp=null;
}if(thread!=null){
thread=null;
}
super.onDestroy();
}