百度CarLife Android车机端黑屏问题
生活随笔
收集整理的這篇文章主要介紹了
百度CarLife Android车机端黑屏问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
手機端與車機端通過carlife連接后,車機端畫面與手機同步,在carlife軟件內點擊退出后,在車機端再次點擊APP,車機端黑屏,不能同步手機端畫面。
2.分析
在車機端點擊退出時,調用了銷毀Activity的方法:
getActivity().finish();只有carLife的后臺服務還沒銷毀,當再次啟動的時候這個Activity再次啟動,新建surfaceView,兩次日志比較如下圖:
基本上沒什么區別,但是第一次進有界面同步,第二次卻是黑屏。
后面發現與視頻頭幀sps和pps有關。
在ShowFragment里獲取了視頻的頭幀sps和pps,在界面內退出時,銷毀了界面,也刪除了頭幀信息,后面雖然有數據繼續傳輸到車機端,但是缺少了sps和pps就解不了碼,因此黑屏。
那為什么手機USB線斷開后,再次連接就連得上呢?
因為手機USB斷開之后,車機端將重新開啟ADB,并反初始化各參數,而手機端則停止了視頻傳輸,當再一次連接時,會重發頭幀sps和pps,自然可以解碼成功。
3.解決
因為希望carlife界面內退出,carlife后臺服務繼續,所以不能像手機斷開USB后那樣處理,所以解決辦法是記下sps和pps數據,但是不能在Activity中記,因為退出時會被銷毀,這里在AppManager這個管理Activity的類里記,然后在顯示的ShowFragment里需要視頻頭幀的時候取出,車機視頻就不在黑屏。
總結
以上是生活随笔為你收集整理的百度CarLife Android车机端黑屏问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三张图片怎么拼成一张?
- 下一篇: win10系统安装到服务器失败,win1