我正在使用 AudioTrack 构建 MusicPlayer ,并希望在移除耳机时停止播放音乐。
我已将听众附加到耳机已移除的事件,暂停并静音播放器。
然而,当我取下耳机时,暂停和静音事件被触发,但是短暂的毫秒音乐被引导到扬声器..
我尝试过以下方法:
(播放前和耳机都已删除)
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(false);
am.setStreamMute(AudioManager.STREAM_MUSIC, true);
我还应该提一下,我正在使用流编写音频 的 audioTrack.write(粘连)即可。任何人都可以帮我弄清楚如何停下来 声音泄漏到扬声器?
谢谢!
答案 0 :(得分:0)
我自己解决了这个问题,但是其他人遇到了同样的问题
立即引发 ACTION_AUDIO_BECOMING_NOISY 事件,稍后稍稍提出 ACTION_HEADSET_PLUG 。
如果您想立即暂停播放,请使用 ACTION_AUDIO_BECOMING_NOISY