当用户离开应用程序或点击主页按钮时,我试图停止播放音乐。即使它在后台,我的应用程序也会播放音乐。如果用户单击主页按钮,如何停止音乐?如果用户返回,则再次播放音乐。 这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.vaporv2);
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
}
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mediaPlayer.start();
}
});
//toggle off and on :
MusicButton = (ToggleButton) findViewById(R.id.toggleButton);
MusicButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (MusicButton.isChecked() && mediaPlayer.isPlaying()) {
mediaPlayer.pause();
} else {
mediaPlayer.start();
}
}
});
答案 0 :(得分:0)
由于您处于“活动”状态,因此您可以覆盖onResume
和onStop
方法
然后播放/暂停你的应用。
@Override
protected void onResume() {
super.onResume();
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
}
}
@Override
protected void onStop() {
super.onStop();
mediaPlayer.pause();
}
答案 1 :(得分:0)
在您的活动中:
检查两种状态:
暂停状态:按主页按钮时
@Override
protected void onPause() {
super.onPause();
if(mediaPlayer!=null && mediaPlayer.isPlaying()){
mediaPlayer.pause();
}
}
恢复状态:当你回到屏幕时
@Override
protected void onResume() {
super.onResume();
if(mediaPlayer!=null && !mediaPlayer.isPlaying()){
mediaPlayer.start();
}
}