本文主要介紹上次碰到的某些機器上看不到視頻的問題,文章來自博客園RTC.Blacker,轉載請說明出處。
之前做的視頻聊天App一直運行良好,前幾天客戶反饋說在三星9100. Android4.0.3上看不到自己的圖像。
一翻查找后才發現是WebRTC底層的BUG,現已修復並反饋給社區了,下面主要分析BUG原因及解決方案。
Bug主要原因:
設置攝像頭參數時使用了不支持的參數,導致Camera.setParameters出錯,導致后面的內存分配出錯,視頻流讀取出錯,最終導致看不到視頻。
Bug具體原因:
通過parameters.getSupportedPreviewSizes()讀取攝像頭PreviewSizes
但卻將該參數賦值給PictureSize. 但是Camera不一定支持該PictureSize
所以執行Camera.setParameters()就悲劇了
下面我是測試過程中打印出來的日志,看到這里你就很容易明白了。
解決方案上面注釋已經寫得很清楚了,下面是更保險的解決方案:
你懂的,WEBRTC里面坑很多,路漫漫。。。