Android:AudioTrack泄漏到耳机上的扬声器被移除

时间:2016-01-26 10:20:01

标签: android audiotrack mute speaker

我正在使用 AudioTrack 构建 MusicPlayer ,并希望在移除耳机时停止播放音乐。

我已将听众附加到耳机已移除的事件,暂停并静音播放器。

然而,当我取下耳机时,暂停和静音事件被触发,但是短暂的毫秒音乐被引导到扬声器..

我尝试过以下方法:
(播放前和耳机都已删除)

am.setMode(AudioManager.MODE_IN_CALL);    
am.setSpeakerphoneOn(false);    

am.setStreamMute(AudioManager.STREAM_MUSIC, true);    
  

我还应该提一下,我正在使用流编写音频   的 audioTrack.write(粘连)即可。任何人都可以帮我弄清楚如何停下来   声音泄漏到扬声器?

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题,但是其他人遇到了同样的问题

立即引发 ACTION_AUDIO_BECOMING_NOISY 事件,稍后稍稍提出 ACTION_HEADSET_PLUG

如果您想立即暂停播放,请使用 ACTION_AUDIO_BECOMING_NOISY