Andriod相機開發關於startPreview Failed的錯誤的特別記錄(重要)


年前,自己做的Android相機嵌入到一款火爆的游戲中去了,經過幾次的修改升級,相機運行上報的錯誤也越來越少,

但是,前幾天剛上線的最新相機,卻老是在Android 2.3機器上出現startPreview failed的錯誤,不知為啥,后來,

在網絡上搜索,很多人也出現了這個問題,解決的方法是,給holder添加SURFACE_TYPE_PUSH_BUFFERS標記,

可是我明明就已經添加了,卻老是在startPreview時拋出異常。

Google 官方文檔已經說了,在2.3版本及以下需要手動添加改標記,而以上版本會自動(auto)添加。參考鏈接:

http://developer.android.com/reference/android/view/SurfaceHolder.html#setType(int)

相關截圖:

 

對比我以前最老的相機版本,它在2.3上跑的很正常,只是,給surfaceHolder添加標記時是在它初始化的時候添加的,

而新版本是在 surfaceHolder的回調函數surfaceCreated中設置的。

 

由此,才發現問題所在,我再surfaceHolder創建的時候調用該代碼:

if(PhoneInfo.getSdkVersion() <= 10)
     surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM