我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。
有什么方法可以处理这个任务吗?例如,我让PhoneStateListener
来处理这些调用。当我收到一个呼叫或wnat发出呼叫时,我们可以使用call state暂停播放器。我想为录像机或视频播放器以及相同的情况。当视频/录制开始时,我需要暂停我的音频播放器。
发布于 2013-05-30 14:14:59
您需要检测是否有其他应用程序请求音频焦点并暂停您的音频播放器。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();
}
}
};
我自己没有尝试过这个代码,如果有帮助,请告诉我。
https://stackoverflow.com/questions/16828867
复制相似问题