setParameters 失败 Android 相机 - 分辨率正确

setParameters failed Android Camera - Resolutions correct

这是我的相机设置:

param = camera.getParameters();              
param.setPictureFormat(ImageFormat.YV12); // Removing this line fixes the error
param.setPreviewSize(800, 480)   
param.setPictureSize(800, 480);
camera.setDisplayOrientation(90);
camera.setParameters(param);

设置 ImageFormat 导致 setParameters failed 错误。所以问题显然不是解决方案。我还检查了设备上支持的 picture/preview 分辨率,因此绝对没有问题。

这种图像格式应该在所有设备上都兼容...这是怎么回事?

This Image Format is supposed to be compatible on all devices

仅供预览;您正在尝试将其用于图片。引用 the documentation:

For the older camera API, this format is guaranteed to be supported for Camera preview images since API level 12

The documentation for setPictureFormat() 表示您可以使用的三种格式是 ImageFormat.NV21ImageFormat.RGB_565ImageFormat.JPEG.