暂停媒体播放器,以防电话呼叫或用户在其他程序中打开视频或音频



我想暂停媒体播放器,以防用户使用其他程序观看视频 或者用户像任何多媒体应用程序一样接到电话(YouTube ,...(

MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.song);
mediaPlayer.start();

谢谢

您需要覆盖与 android 应用程序生命周期相关的 android 方法

@Override
protected void onStop() {
super.onStop();
mediaPlayer.stop(); //put your stop criteria here
}
@Override
public void onPause() {
super.onPause();
mediaPlayer.pause(); //put your pause criteria here
}
@Override
public void onResume() {
super.onResume(); 
mediaPlayer.play(); //put your resume criteria here
}

您只需重写这些方法即可完成工作。

MediaPlayer可以作为服务实现。当事件发生时,使用 BroadcastReceiver 暂停服务,您可以再次使用它恢复它。它将以这种方式工作。

你必须使用AudioFocus(https://developer.android.com/guide/topics/media-apps/audio-focus(。这样,当另一个应用程序获得音频设备的"所有权"以播放其内容/音频时,您将收到一个事件,然后当该应用程序停止播放它并且"所有权"返回到您的应用程序时,将引发另一个事件。

相关内容