android - 我无法更改 android 相机分辨率

标签 android parameters camera resolution

这是我在 onPreviewFrame 方法中的代码。

显示在 surfaceHolder 上的框架很好。

我一开始已经用这段代码设置了分辨率

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

但是image得到的图片是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);
    }
};

最佳答案

也许您正在尝试设置不受支持的预览尺寸。最好先调用“getSupportedPreviewSizes()”,然后在调用 setPreviewSize() 之前检查您的设备是否支持您要设置的预览尺寸。

关于android - 我无法更改 android 相机分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6887503/

相关文章:

c++ - OpenJPEG 的 opj_encode 是段错误

sql-server - 将字符串参数格式化为 IN 语句

Android:以编程方式播放相机快门声音

ios - GPUImage:当过滤器完成处理来自 GPUImageVideoCamera 的帧时是否有回调函数

Android Timezone.getDefault() 给出 Asia/Calcutta 而不是 Asia/Kolkata

java - 打开 Activity 包含 fragment 时崩溃

android - 如何更改搜索 View 图标颜色?

java - 在处理 Intent 时如何使用 putExtra/get_Extra?

c# - 在unity3d中围绕游戏对象旋转相机

android - 如何在 Kotlin 中初始化 Array<List<Model>>?