有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案