Java 在后台停止MediaPlayer-Android
在我的一项活动中,有一个使用mediaPlayer播放音乐的按钮。此外,它还可以选择在后台播放音乐或在活动结束时停止 我用这个代码Java 在后台停止MediaPlayer-Android,java,android,android-mediaplayer,Java,Android,Android Mediaplayer,在我的一项活动中,有一个使用mediaPlayer播放音乐的按钮。此外,它还可以选择在后台播放音乐或在活动结束时停止 我用这个代码 @Override protected void onStop() { super.onStop(); SharedPreferences perfs = PreferenceManager .getDefaultSharedPreferences(getApplicationContext()); if (!perf
@Override
protected void onStop() {
super.onStop();
SharedPreferences perfs = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
if (!perfs.getBoolean("bg_play", true)) {
mediaPlayer.stop();
mediaPlayer.release();
}
}
那很好用。现在的问题是,当用户返回活动并按下播放按钮时,它会启动一个新的mediaPlayer并播放新音乐。我想在新音乐启动时停止在后台运行的上一个音乐
这是我的密码
private void myMediaPlayer() {
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
}
else {
mediaPlayer.stop();
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(Environment.getExternalStorageDirectory()+"file.mp3");
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
}
以及MediaPlayer声明
MediaPlayer mediaPlayer=new MediaPlayer();
在
onCreate
之前,我是编程新手,所以我可能错了。。让mefiaPlayer变量静态工作不是很好吗?但我认为问题在于,当您回到活动时,活动正在重建。我是编程新手,所以我可能错了。。让mefiaPlayer变量静态工作不是很好吗?但我认为问题是,当你回到活动时,活动正在重建。@AftabHussain谢谢。很酷!我加上它作为答案。请不要忘记接受:)我让它在活动重新启动时停止并重置。“我的活动”播放与webview html文件相关的音乐。i、 对于file1.html,它播放file1.mp3。返回活动时,我是否可以检查播放的音乐是否与网络视图相关?检查媒体播放器的获取方法。总是有一个get方法:P(例如:mediaPlayer.get…)