2010-05-01 36 views
6

在索尼愛立信X10或Droid上使用Camera API時有沒有人遇到奇怪的行爲?爲什麼Camera.setParameters(Camera.Parameters)不適用於索尼愛立信X10和Droid?

例如下面的代碼在這些設備上不起作用。結果我得到了很多的市場轉化爲許多訂單取消負反饋...

mParameters.set("rotation", orientation); 
mParameters.set("jpeg-quality", img_quality); 
mParameters.set("picture-size", "1024x768"); 
mCamera.setParameters(mParameters); 

你可以建議達到相同的另一種方式?謝謝。

回答

11

你不能只在相機參數中設置隨機值,因爲你不知道硬件是否會支持它,所以你需要先問一下!

mCamera = Camera.open(); 
Camera.Parameters params = mCamera.getParameters(); 
List<Size> sizes = params.getSupportedPictureSizes(); 
// See which sizes the camera supports and choose one of those 
mSize = sizes.get(0); 
params.setPictureSize(mSize.width, mSize.height); 
mCamera.setParameters(params); 
+0

好吧,這解釋了爲什麼「圖片大小」沒有工作,但被拒絕的大小我已經使用相當標準的「1024x768」...你有什麼關於「旋轉」的想法?這對我來說更重要,就好像這種方式無效,圖像隨機旋轉90度或-90度。謝謝! – mobilekid 2010-05-02 07:38:22

+0

您的解決方案僅適用於Android 2.0及更高版本的框架修訂版。任何想法如何獲得1.5和1.6支持的圖片大小? – mobilekid 2010-05-02 08:11:12

+0

看起來定位問題是G1上的一個已知問題。這個線程有一個解決方法。 http://groups.google.com/group/android-developers/browse_thread/thread/fec92fc79b38c698/b61f3669ec2a4fcf?show_docid=b61f3669ec2a4fcf 至於獲得支持的圖片大小在1.6及以下它不支持這樣的最好的建議是隻是爲了讓它一個人待着。 – CaseyB 2010-05-03 15:22:04

0

必須首先解決活動的方向,然後必須把orietación等級:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
mCamera.setDisplayOrientation(90); 
相關問題