我创建了一个使用媒体播放器播放音频的应用程序,但即使其他应用程序(如youtube)开始播放视频,我的播放器也不会停止。
如果其他应用程序开始播放音频,如何停止音频。
我使用过mediaPlayer.start();播放音频。
任何帮助都将不胜感激。
答案 0 :(得分:0)
您需要收听音频焦点更改。 请参阅:https://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html
使用指示音频焦点状态的标志调用OnAudioFocusChangeListener回调,该标志可用于停止媒体播放器。
答案 1 :(得分:0)
您可以设置AudioFocusChangeListener以侦听音频焦点更改。
private AudioManager.OnAudioFocusChangeListener mOnAudioFocusChangeListener;
audioFocusChangeListener =new AudioManager.OnAudioFocusChangeListener()
{
@Override
public void onAudioFocusChange ( int focusChange){
switch (focusChange) {
case AudioManager.AUDIOFOCUS_GAIN:
// Set volume level to desired levels
play();
break;
case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT:
// You have audio focus for a short time
play();
break;
case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:
// Play over existing audio
play();
break;
case AudioManager.AUDIOFOCUS_LOSS:
stop();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
// Temporary loss of audio focus expect to get it back you can keep your resources around
pause();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
// Lower the volume
break;
}
}
}
;