Я не могу изменить разрешение камеры Android - PullRequest
1 голос
/ 31 июля 2011

Это мой код в методе onPreviewFrame.

Кадр, который отображается на SurfaceHolder, в порядке.

I Я уже установил разрешение с этим кодом вначале

 mCameraParameter = mCamera.getParameters();
 mCameraParameter.setPreviewSize(100,150);
 mCameraParameter.setPreviewFrameRate(20);
 mCameraParameter.setPreviewFormat(PixelFormat.JPEG);
 mCamera.setParameters(mCameraParameter);

, но изображение, которое получает изображение, составляет 640 *480

Интересно, почему я не могу изменить разрешение предварительного просмотра.

        public void onPreviewFrame(byte[] data, Camera camera) {
        Log.e("PreviewCallBack", "Preview");


        Camera.Parameters parameters = camera.getParameters();
        Log.e("Picture Size", "width : " + parameters.getPreviewSize().width);
        Log.e("Picture Size", "height : " + parameters.getPreviewSize().height);
        Log.e("Array Size", "data.length : " + data.length);
        YuvImage image = new YuvImage(data, parameters.getPreviewFormat(),
                parameters.getPreviewSize().width,parameters.getPreviewSize().height, null);


        File file = new File(Environment.getExternalStorageDirectory()
                .getPath() + "/"+/*System.currentTimeMillis()*/"out.jpg");

        FileOutputStream filecon = null;

        try {
            filecon = new FileOutputStream(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }


        image.compressToJpeg(
                new Rect(0, 0, image.getWidth(), image.getHeight()), 90,
                filecon);
    }
};

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Возможно, вы пытаетесь установить неподдерживаемый размер предварительного просмотра. Лучше вызвать « getSupportedPreviewSizes () » и проверить, поддерживается ли ваше устройство размер предварительного просмотра, поддерживаемый вашим устройством, прежде чем вызывать setPreviewSize () .

1 голос
/ 31 июля 2011

Я думаю, вам следует позвонить setPictureSize(), чтобы установить размер самого изображения (не предварительного просмотра).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...