我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是我需要在录像机或视频播放器启动时暂停音频播放器。
有没有办法处理这项任务?例如,我有PhoneStateListener
来处理呼叫。当我接到电话或打电话时,我们可以通过呼叫状态暂停播放器。我想要视频录像机或视频播放器的相同场景。当视频/录制开始时,我需要暂停我的音频播放器。
答案 0 :(得分:2)
您需要检测是否有其他应用请求音频焦点并暂停您的音频播放器。 AudioManager.OnAudioFocusChangeListener应该有所帮助。这是一些示例代码
am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
afChangeListener = new OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT){
// Pause playback
} else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
// Resume playback
} else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
abandonAudioFocus();
}
}
};
我自己没有尝试过此代码,如果有帮助请告诉我。