webrtc直播插入耳机无效

阅读: 评论:0

webrtc直播插入耳机无效

webrtc直播插入耳机无效

上一篇文章webrtc直播音频无法静音讲到了音频无法静音的问题,然而在开发过程中我们还遇到一个问题,耳机插拔的时候因为机型的不同而有可能检测不到而仍然使用外放(很多机型都出现,华为小米等,也有机型是可以的,机型适配真caodan啊)。


经过调试观察,发现原因是,有的机型在处理音频功放的开闭时需要手动调用audioManager.setSpeakerphoneOn这个方法。因此我的解决方法是监听耳机插拔事件,手动调用这个方法。

关键代码:


	private MyVolumeReceiver mVolumeReceiver = null;/*** 注册广播*/private void myRegisterReceiver() {mVolumeReceiver = new MyVolumeReceiver();IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_HEADSET_PLUG);registerReceiver(mVolumeReceiver, filter);}/*** 监听耳机插拔*/private class MyVolumeReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {AudioManager audioManager = ((AudioManager) getSystemService(AUDIO_SERVICE));//检测是否插入耳机,是的话关闭扬声器,否则反之if (Action().equals(Intent.ACTION_HEADSET_PLUG)) {if (IntExtra("state", 0) == 0) {audioManager.setSpeakerphoneOn(true);}else if (IntExtra("state", 0) == 1) {audioManager.setSpeakerphoneOn(false);}}}}



本文发布于:2024-02-02 17:16:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686538145270.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:耳机   webrtc
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23