在使用webrtc集成到工程进行二次开发的过程中,由于机型适配情况的复杂性,很多问题在某些机型上不会出现,但是在另一些机型上可能就出现重大的或致命的错误,尤其在中国,手机厂商众多,每个厂家的rom都会对源码做一些封装、修改甚至限制,作为国内的android开发者就必须具备“一码多套”或“一码多调”的能力,为我们d(゚∀゚d)点赞!

其中我在使用webrtc直播框架时就遇到过这么一个问题,在小米(周围人的手机中的只有小米出现此问题)等机型上,音量调节失效,具体表现是升音以及降音操作混乱无法正确识别甚至完全不能调节。之前我们说过,webrtc的音频通道使用的是手机通话的通道,所以问题可能出现在这个上。

要是只是需要手动加某些语句或方法还较简单,但是要是一旦厂商定制rom对资源进行了限制,因为某些不可知的原因造成的错误就比较麻烦了,还好我这个问题的情况是前者。

经调试观察,我的最终解决方案是,在activity里面初始化直播资源之前(oncreate方法里面即可),执行以下语句就可以了:

setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);


Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐