在使用webrtc集成到工程进行二次开发的过程中,由于机型适配情况的复杂性,很多问题在某些机型上不会出现,但是在另一些机型上可能就出现重大的或致命的错误,尤其在中国,手机厂商众多,每个厂家的rom都会对源码做一些封装、修改甚至限制,作为国内的android开发者就必须具备“一码多套”或“一码多调”的能力,为我们d(゚∀゚d)点赞!
其中我在使用webrtc直播框架时就遇到过这么一个问题,在小米(周围人的手机中的只有小米出现此问题)等机型上,音量调节失效,具体表现是升音以及降音操作混乱无法正确识别甚至完全不能调节。之前我们说过,webrtc的音频通道使用的是手机通话的通道,所以问题可能出现在这个上。
要是只是需要手动加某些语句或方法还较简单,但是要是一旦厂商定制rom对资源进行了限制,因为某些不可知的原因造成的错误就比较麻烦了,还好我这个问题的情况是前者。
经调试观察,我的最终解决方案是,在activity里面初始化直播资源之前(oncreate方法里面即可),执行以下语句就可以了:
setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);