在一项活动中,我使用两个媒体播放器播放不同的声音,如果播放了两个声音并按下后退按钮就没有问题,它可以正常工作。媒体播放器停止并释放。(mp设置为循环,mps只播放短音)
@Override
protected void onPause() {
// TODO Auto-generated method stub
mp.stop();
super.onPause();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
mp.release();
mps.release();
super.onStop();
}
但是,如果没有播放一个和/或两个声音,当按下后退按钮并且空指针异常时,我会强行关闭。您将如何编写代码来检查媒体播放器是否曾被使用过,因此需要停止并释放它们?
答案 0 :(得分:0)
你可以使用一个计数,如果有一个游戏则添加一个计数,然后检查它是否等于0。
答案 1 :(得分:0)
如果你在onPause和onStop上得到一个空指针,你需要检查mp是否为空。
@Override
protected void onPause() {
if (mp != null)
mp.stop();
super.onPause();
}
@Override
protected void onStop() {
if (mp != null)
mp.release();
if (mps != null)
mps.release();
super.onStop();
}
如果您愿意,可以保留计数,但这意味着当您已经有权访问所需的变量时,可以跟踪另一个变量