天天看點

webrtc直播音頻調節失效(小米等部分機型)

在使用webrtc內建到工程進行二次開發的過程中,由于機型适配情況的複雜性,很多問題在某些機型上不會出現,但是在另一些機型上可能就出現重大的或緻命的錯誤,尤其在中國,手機廠商衆多,每個廠家的rom都會對源碼做一些封裝、修改甚至限制,作為國内的android開發者就必須具備“一碼多套”或“一碼多調”的能力,為我們d(゚∀゚d)點贊!

其中我在使用webrtc直播架構時就遇到過這麼一個問題,在小米(周圍人的手機中的隻有小米出現此問題)等機型上,音量調節失效,具體表現是升音以及降音操作混亂無法正确識别甚至完全不能調節。之前我們說過,webrtc的音頻通道使用的是手機通話的通道,是以問題可能出現在這個上。

要是隻是需要手動加某些語句或方法還較簡單,但是要是一旦廠商定制rom對資源進行了限制,因為某些不可知的原因造成的錯誤就比較麻煩了,還好我這個問題的情況是前者。

經調試觀察,我的最終解決方案是,在activity裡面初始化直播資源之前(oncreate方法裡面即可),執行以下語句就可以了:

setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);