setParameters失败Android相机 - 决议案纠正
问题描述:
这里是我的相机设置:setParameters失败Android相机 - 决议案纠正
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
错误。所以显然不是问题的解决方案。我还检查了设备上支持的图片/预览分辨率,因此在那里肯定没有问题。
这种图像格式应该在所有设备上兼容......这是怎么回事?
答
这种图像格式应该是兼容所有设备上的
仅用于预览;你正试图用它来拍照。引用the documentation:
对于老年摄像头API,这种格式是保证,因为API层面上对相机预览图像的支持12
The documentation for setPictureFormat()
指出,三种格式,你可以使用的都是ImageFormat.NV21
,ImageFormat.RGB_565
,或ImageFormat.JPEG
。
当我使用'setPictureFormat(ImageFormat.NV21)'时出现同样的错误。一定还有其他的错误。我也需要YUV,所以我可以提取RGB值,如下所示:http://*.com/a/2164906/1449637 –
@GregPeckory:我只使用过'JPEG',所以我不知道'NV21'是。另外,无论如何,你应该使用getSupportedPictureFormats()来检查它。 “我也需要YUV,所以我可以提取RGB值” - 嗯,'RGB_565'似乎有RGB值。你引用的答案是预览框架,而不是图片。如果你坚持使用YUV,你将需要处理预览帧而不是图片。 – CommonsWare
很酷,感谢您的帮助!所以基本上,如果我坚持相框,并使用RGB_565我应该罚款? –