java Android摄像头:“设置参数失败”,支持预览
其他所有的都是如此
java.lang.RuntimeException: setParameters failed
围绕着人们设置一些他们不应该设置为cameraParameters的内容,或者尝试将其设置为它不支持的预览大小
但是,我得到了一个支持的相机尺寸列表,并将其设置为支持的尺寸
/**
* Sets the cameraParams to new size based on display size
*/
void setPreviewAndSurfaceHolderSize()
{
List<Camera.Size> sizesOfPreviews = _camera.getParameters().getSupportedPreviewSizes();
Camera.Size size = getOptimalPreviewSize(sizesOfPreviews, displayWidth, displayHeight);
printCameraPreviewSizes();
_previewSize = size;
int cameraPreviewWidth = size.width;
int cameraPreviewHeight = size.height;
System.out.println("Optimal camera preview size is " + cameraPreviewWidth + " x " + cameraPreviewHeight);
Camera.Parameters params = _camera.getParameters();
params.setPreviewSize(cameraPreviewWidth, cameraPreviewHeight);
}
我的应用程序允许用户更改相机预览的大小(从正方形到矩形)。因此,我需要切换相机以适应视图。我得到最接近的支持预览大小并使用它。但是,当它使用1280 x 720时,即使它被列为支持的值之一,它也会崩溃
当设置的唯一属性是预览大小且该预览大小受支持时,您能想到为什么setParameters会在相机上失败吗
更新
经过一些测试,如果我在1280 x 720中硬编码,它不会崩溃,但当从其他维度切换到该维度时,它有时会崩溃(但我无法让它可靠地崩溃)。我怀疑有某种种族状况,但我不知道
共 (0) 个答案