设置摄像机参数异常

时间:2014-09-04 09:57:48

标签: android

我有一个"奇怪的"问题!我使用3-4个设备进行测试,但我对Samsung Tab | Pro(SM-T230)有问题。当我试图用后置摄像头拍照时,它会在setPictureSize方法上崩溃(前置摄像头没问题)。

我真正想要做的是在预览和捕获的图像上保持相同的宽高比。因此,每次我正在切换时都在进行此配置。

Camera.Parameters parameters = mCamera.getParameters();
Camera.Size size = getBestPreviewSize(screenWidth, screenHeight);
parameters.setJpegQuality(80);
parameters.setPreviewSize(size.width, size.height);
parameters.setPictureSize(size.width, size.height);
mCamera.setParameters(parameters);

修改

getBestPreviewSize()方法

private Camera.Size getBestPreviewSize(int width, int height) {
    Camera.Size result=null;
    Camera.Parameters p = mCamera.getParameters();
    for (Camera.Size size : p.getSupportedPictureSizes()) {
        Log.i("PictureSize", "Supported Size: " +size.width + " height : " + size.height);
    }
    for (Camera.Size size : p.getSupportedPreviewSizes()) {
        Log.i("Preview Size", "Supported Size: " +size.width + " height : " + size.height);
        if (size.width<=width && size.height<=height) {
            if (result==null) {
                result=size;
            } else {
                int resultArea=result.width*result.height;
                int newArea=size.width*size.height;

                if (newArea>resultArea) {
                    result=size;
                }
            }
        }
    }
    return result;
}

0 个答案:

没有答案