前言
Android WebRTC 默认的播放声音声道是占用了系统的通话声道, 但是因为公司的场景是只收不推,所以使用系统的通话声道显然非常的不合理, 需要切换到和播放音乐一个声道.
1. 将 AppRTCAudioManager 中的 AudioManager.STREAM_VOICE_CALL 修改成 AudioManager.STREAM_MUSIC.
2. org.webrtc.audio.WebRtcAudioTrack 这个类也需要修改,getDefaultUsageAttribute 函数里把 USAGE_VOICE_COMMUNICATION 改为 USAGE_MEDIA,createAudioTrackOnLowerThanLollipop 函数里把 STREAM_VOICE_CALL 改为 STREAM_MUSIC(ps:注意包名,别改错类了,有两个同名类,但包名不同)
经过上面的设置之后,就可以将声音切换到媒体音量的,但是会发现 WebRTC 一直控制着通话音量,我们无法控制音量。
需要修改的 AppRTCAudioManager 中的 audioManager.setMode 调用,改为 MODE_NORMAL
大功告成!