平时开发的时候 遇到这样的一个问题: 我开着系统的音乐播放器,我在我的应用程序里面播一段音乐 两个音乐会同时播放通过在stackoverflow查资料后才发行我们得自己音乐需要获取焦点,在我们音乐播完了以后释放掉焦点。这样系统的歌曲会继续播放下面介绍一下步骤
1.获取AudioManager对象
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
2. 注册OnAudioFocusChangeListener监听
OnAudioFocusChangeListener afChangeListener = new OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) {
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
}
} else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
if(mediaPlayer==null){
initBeepSound();
}else if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
}
// Resume playback
} else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
if(mediaPlayer.isPlaying()){
mediaPlayer.stop();
}
am.abandonAudioFocus(afChangeListener);
// Stop playback
}else if(focusChange==AudioManager.AUDIOFOCUS_REQUEST_GRANTED){
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
}else if(focusChange==AudioManager.AUDIOFOCUS_REQUEST_FAILED){
if(mediaPlayer.isPlaying()){
mediaPlayer.stop(