Java Android:如果我继续按后退按钮并再次启动应用程序,Mediaplayer会播放多次
当我播放歌曲并按下后退按钮返回到家中时,音乐继续播放。当我再次启动应用程序时,音乐会播放两次。我认为这是onResume方法,因为我注释掉了该方法,问题就停止了。如何让简历正常工作?我尝试在onResume中使用if(backgroundMusic.isplaying()),但当我从另一个活动恢复时,应用程序崩溃。我做错了什么Java Android:如果我继续按后退按钮并再次启动应用程序,Mediaplayer会播放多次,java,android,media-player,android-activity,Java,Android,Media Player,Android Activity,当我播放歌曲并按下后退按钮返回到家中时,音乐继续播放。当我再次启动应用程序时,音乐会播放两次。我认为这是onResume方法,因为我注释掉了该方法,问题就停止了。如何让简历正常工作?我尝试在onResume中使用if(backgroundMusic.isplaying()),但当我从另一个活动恢复时,应用程序崩溃。我做错了什么 //global mediaplayer MediaPlayer backgroundMusic; /** Called when the activity is fi
//global mediaplayer
MediaPlayer backgroundMusic;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
loadBackgroundMusic();
}
private void loadBackgroundMusic() {
//load mp3 into object and start it
backgroundMusic = MediaPlayer.create(this,R.raw.backgrounmusic);
backgroundMusic.setLooping(true);
backgroundMusic.start();
}
@Override
protected void onPause() {
super.onPause();
backgroundMusic.release();
}
@Override
protected void onResume() {
super.onResume();
loadBackgroundMusic();
}
@Override
protected void onStop() {
super.onStop();
backgroundMusic.release();
}
我不确定你想要什么样的行为。在我看来,这是两种情况之一:
onResume()
因此,解决方案是在onResume()
中启动音乐,然后在onPause()
或类似位置停止你能描述一下你想要的行为吗?我想让活动在我恢复活动时播放音乐。我的问题是我在onResume()中放了什么,以便在我从onPause()返回时播放音乐。目前我调用了loadBackgroundMusic(),它加载mp3并再次播放。这样,每当我按下“后退”按钮返回主页并重新启动应用程序时,音乐就会播放两次。@iamarnold从
onCreate()
中删除loadBackgroundMusic()
,并在onPause()
中添加backgroundMusic.stop()
在backgroundMusic.release()之前。