最近在開發一個類似微信發表朋友圈的功能,其中有個拍攝短視訊的功能,DEMO上執行沒有問題,但是寫進專案一呼叫攝像機就黑屏,其他的UI圖確顯示出來了,很讓人奇怪。後來除錯才發現報了一個這樣的錯誤,A TextureView or a subclass can only be used with hardware acceleration enabled.(華為測試機是真坑,報錯一開始沒有日誌,這個問題我在別一篇文章中寫過了,這裡就不多說了)。
先說下解決方案吧:
在 application級別修改:
<application android:hardwareAccelerated="true"
...>
複製程式碼
在 activity 級別修改:
<activity android:hardwareAccelerated="true"
/>
複製程式碼
在 window 級別修改:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
複製程式碼
我是因為這專案剛接手,前輩就是在application裡面給設定成了false,坑了我兩天,尷尬啊!