接听弹出的电话对话框时如何暂停活动?

时间:2019-10-15 11:56:20

标签: java android mobile samsung-mobile

三星电话可以在弹出对话框中呼叫接听电话,但不会触发onPause()方法,因此录制音频不会停止,因此如何在发生电话时获取事件/触发被回答

enter image description here

1 个答案:

答案 0 :(得分:0)

管理播放器控制器的音频焦点更改

@Override
        public void onAudioFocusChange(int focusChange) {
            switch (focusChange) {
                case AudioManager.AUDIOFOCUS_GAIN:
                    if (mPlayOnAudioFocus && !mPlayer.isPlaying()) {
                        play();
                    }
                    mPlayOnAudioFocus = false;
                    break;
                case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
                    //  setVolume(MEDIA_VOLUME_DUCK);
                    break;
                case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
                    try {
                        if (mPlayer.isPlaying()) {
                            mPlayOnAudioFocus = true;
                            pausePlayer();
                        }
                    } catch (Exception e) {
                    }
                    break;
                case AudioManager.AUDIOFOCUS_LOSS:
                    mAudioManager.abandonAudioFocus(this);
                    mPlayOnAudioFocus = false;
                    pausePlayer();
                    break;
            }
        }

有关完整示例,请检查Example

相关问题