我正在尝试为我的背景音乐制作一个开关按钮。音乐立即开始。当我按下按钮时音乐关闭但是当我按下按钮时它会强制关闭。请帮忙
mp=MediaPlayer.create(this, R.raw.islandsong);
mp.setLooping(true);
mp.start();
onButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (mp==null){
mp.start();
}
}
});
offButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (mp!=null){
mp.stop();
mp.release();
mp = null;
}
}
});
答案 0 :(得分:2)
您使用的是错误的方法。您应该检查音乐播放器是否在播放,如果是,请停止播放。
try {
if(mp.isPlaying()){
mp.stop();
mp.release();
}
} catch(Exception ex) {
ex.printStackTrace()
}
<强>更新强> 如果要播放和停止媒体播放器,则需要将代码编辑为以下内容
onButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (!mp.isPlaying()){
mp.start();
}
}
});
offButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
if(mp.isPlaying()){
mp.stop();
mp.release();
}
} catch(Exception ex) {
ex.printStackTrace()
}
}
此代码将确保Media Player仅在播放时播放歌曲,并且仅在播放时停止播放。