我有一個正確實現相機預覽的問題。我查看了StackOverflow和許多教程中提供的許多答案。我創建了自己的項目,讓它正確完成。Android上的拉伸相機預覽
https://bitbucket.org/rdkit/cameratutorial
我認爲它工作正常,但檢查對索尼XPERIA SP的代碼,不幸的是它沒有後橫空出世。
任何人都可以看看這段代碼並幫助我嗎?
從Moto G的
和索尼的Xperia SP
我有一個正確實現相機預覽的問題。我查看了StackOverflow和許多教程中提供的許多答案。我創建了自己的項目,讓它正確完成。Android上的拉伸相機預覽
https://bitbucket.org/rdkit/cameratutorial
我認爲它工作正常,但檢查對索尼XPERIA SP的代碼,不幸的是它沒有後橫空出世。
任何人都可以看看這段代碼並幫助我嗎?
從Moto G的
和索尼的Xperia SP
最後我自己找到了解決方案。在進行更改之前,我沒有停止預覽。
由於意見在方法
surfaceChanged()
如果您預覽可以改變或旋轉,把這些事件的關心在這裏說。 確保在調整大小或重新格式化之前停止預覽。
所以我需要添加
try {
mCamera.stopPreview();
} catch (Exception e) {
// ignore: tried to stop a non-existent preview
}
相機PreviewSize截圖是非常棘手的設置。
在某些手機上,不考慮頂部狀態欄的高度,但其他實施方式會考慮此高度。還有底部的虛擬按鈕區域。
例如,如果總屏幕的寬度= 1080和高度= 1920,那麼當不考慮狀態欄的高度和虛擬按鈕區域的高度時,如果將預覽大小設置爲16:9的比例,看起來不錯。但!當考慮到狀態欄的高度和按鈕的高度時,可用的屏幕高度將永遠不會達到1920,那麼屏幕中的比率將與預覽大小不同,並且會拉長。
要解決該問題,您應該實現自己的getOptimalPreviewSize()方法,並根據可用屏幕高度選擇適當的預覽比例。
http://stackoverflow.com/questions/19577299/android-camera-preview-stretched – 2014-11-06 13:34:06
謝謝,但這是導致我的源寫一個我自己的代碼。也許在執行過程中我錯過了一些東西。這就是爲什麼我提供源代碼,也許有人可以指出我犯的錯誤 – rdkit 2014-11-06 13:37:45
是的,你必須寫你自己的方法來選擇預覽尺寸 – 2014-11-06 14:05:06