当我在后退按钮上添加 onpause 方法时,铃声应用程序没有逻辑崩溃
Not logic crash of ringtone app when I add onpause method on back button
我有使用媒体播放器播放声音的应用程序。当我按下后退按钮时,我用来停止声音的代码是:
@Override
public void onBackPressed() {
super.onBackPressed();
if (mp != null) {
mp.reset();
mp.release();
}
finish();
}
这段代码运行良好,但如果应用程序突然中断,并且声音仍在播放,它需要停止,所以我在 onPause 方法中添加了同样的东西(如果我添加 onStop 方法也是如此)。
@Override
protected void onPause() {
super.onPause();
if (mp != null) {
mp.reset();
mp.release();
}
}
现在,当我按下返回键时,应用程序崩溃而不是返回(在我添加 onPause 方法之前有效)onPause 运行良好,因为如果我按下主页按钮声音停止我在 [=21 中收到此错误=]:
java.lang.RuntimeException: Unable to pause activity
java.lang.IllegalStateException
...
无法重置MediaPlayer,已发布。因为释放资源后,用于播放声音的资源不可用了。你应该改变:
mp.reset();
mp.release();
至:
mp.release();
mp = null;
我有使用媒体播放器播放声音的应用程序。当我按下后退按钮时,我用来停止声音的代码是:
@Override
public void onBackPressed() {
super.onBackPressed();
if (mp != null) {
mp.reset();
mp.release();
}
finish();
}
这段代码运行良好,但如果应用程序突然中断,并且声音仍在播放,它需要停止,所以我在 onPause 方法中添加了同样的东西(如果我添加 onStop 方法也是如此)。
@Override
protected void onPause() {
super.onPause();
if (mp != null) {
mp.reset();
mp.release();
}
}
现在,当我按下返回键时,应用程序崩溃而不是返回(在我添加 onPause 方法之前有效)onPause 运行良好,因为如果我按下主页按钮声音停止我在 [=21 中收到此错误=]:
java.lang.RuntimeException: Unable to pause activity
java.lang.IllegalStateException
...
无法重置MediaPlayer,已发布。因为释放资源后,用于播放声音的资源不可用了。你应该改变:
mp.reset();
mp.release();
至:
mp.release();
mp = null;