2016-01-24 84 views
0

这里是我的相机设置: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错误。所以显然不是问题的解决方案。我还检查了设备上支持的图片/预览分辨率,因此在那里肯定没有问题。

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

回答

1

这种图像格式应该是兼容所有设备上的

仅用于预览;你正试图用它来拍照。引用the documentation

对于老年摄像头API,这种格式是保证,因为API层面上对相机预览图像的支持12

The documentation for setPictureFormat()指出,三种格式,你可以使用的都是ImageFormat.NV21ImageFormat.RGB_565,或ImageFormat.JPEG

+0

当我使用'setPictureFormat(ImageFormat.NV21)'时出现同样的错误。一定还有其他的错误。我也需要YUV,所以我可以提取RGB值,如下所示:http://stackoverflow.com/a/2164906/1449637 –

+0

@GregPeckory:我只使用过'JPEG',所以我不知道'NV21'是。另外,无论如何,你应该使用getSupportedPictureFormats()来检查它。 “我也需要YUV,所以我可以提取RGB值” - 嗯,'RGB_565'似乎有RGB值。你引用的答案是预览框架,而不是图片。如果你坚持使用YUV,你将需要处理预览帧而不是图片。 – CommonsWare

+0

很酷,感谢您的帮助!所以基本上,如果我坚持相框,并使用RGB_565我应该罚款? –

相关问题