カメラのエラー setparameters faild
- Android
-
2012-04-06
この記事は最終更新日から1年以上経過しています。
android/1683で紹介していた方法で
エラーが発生したので修正しました。
surfaceChanged内のsetPreviewSizeメソッドでエラー発生
元は以下のようなコード
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(w, h);
mCamera.setParameters(parameters);
mCamera.startPreview();
}
サポートしていないプレビューサイズだったことが原因
以下のように修正しました。
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
setPreviewSize(w, h);
mCamera.startPreview();
}
protected void setPreviewSize(int width, int height) {
Camera.Parameters params = mCamera.getParameters();
List<Camera.Size> supported = params.getSupportedPreviewSizes();
if (supported != null) {
for (Camera.Size size : supported) {
if (size.width <= width && size.height <= height) {
params.setPreviewSize(size.width, size.height);
mCamera.setParameters(params);
break;
}
}
}
}
この記事がお役に立ちましたらシェアお願いします
5,087 views




