我喜欢在我的应用程序中循环播放音频。循环工作正常,但是当调用On Destroy方法来停止循环音频时,它会给我一条错误消息,说“不幸的是应用程序停止工作”我也试过给出一个停止按钮,同样的错误消息即将到来。这是我的媒体播放器代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quote);
final MediaPlayer mp1=MediaPlayer.create(QuoteActivity.this,R.raw.ohm2);
mp1.setLooping(true);
mp1.start();
}
这是我在On Destroy中给出的方法
@Override
public void onDestroy() {
super.onDestroy ();{
if(mp1.isPlaying())
mp1.stop();
mp1.release();
mp1 = null;
}
}
我已经尝试了很长时间寻找解决方案,但没有用。 有人能帮助我吗?
答案 0 :(得分:2)
您在onCreate(...)
方法中定义了媒体播放器,这意味着mp1
方法中的onDestroy()
无效。此外,您需要在致电mp1
之前检查null
不是isPlaying()
。
将代码更改为mp1
,如下所示(示例代码)...
public class MyActivity extends Activity {
MediaPlayer mp1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quote);
mp1 = MediaPlayer.create(this, R.raw.ohm2);
mp1.setLooping(true);
mp1.start();
}
@Override
public void onDestroy() {
super.onDestroy ();
if(mp1 != null && mp1.isPlaying()) {
mp1.stop();
mp1.release();
mp1 = null;
}
}
}