我的应用程序有一个按钮,单击时播放短mp3文件。我想正确地释放和重用媒体播放器对象(因此它不会干扰其他应用程序),例如用户接到电话,或点击主页按钮。
如果我以这种方式实施onPause
和onSto
:
@Override
public void onPause() {
super.onPause();
mp.release();
mp = null;
}
@Override
public void onStop() {
super.onStop();
mp.release();
mp = null;
}
然后在调用onRestart时如何重新使用mp?这是正确的方法吗?也许我应该使用mp.stop()
?
感谢
编辑:我自己找到了解决方案。再次重新创建对象:
@Override
publib void onResume() {
super.onResume();
mp = new MediaPlayer();
}
完成这项工作。还是一个菜鸟...... :)谢谢
答案 0 :(得分:1)
使用onCompletion
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
myStereo.setLooping(true);
myStereo.release();
try {
myStereo.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
myStereo.start();
}