【问题标题】:setParameters Failed in Nexus 5 and Nexus 7Nexus 5 和 Nexus 7 中的 setParameters 失败
【发布时间】:2015-05-04 12:17:19
【问题描述】:

我已经在我的应用中实现了自定义摄像头。它在除 Nexus 5 和 Nexus 7 之外的所有设备上都可以正常工作。在这两种设备中,它在相机上因 SetParameters failed 而崩溃。我已经使用以下代码实现了自定义相机:

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        if (mCamera != null) {
            Log.e(TAG, "surfaceChanged called");
            Camera.Parameters parameters = mCamera.getParameters();
            if (mSupportedPreviewSizes != null) {
                mPreviewSize = getOptimalPreviewSize(mSupportedPreviewSizes, w,
                        h);
            }
            Log.e(TAG, "surfaceChanged : mPreviewSize height:"
                    + mPreviewSize.height + " width: " + mPreviewSize.width);
            parameters.setPreviewSize(mPreviewSize.width, mPreviewSize.height);

            requestLayout();

            mCamera.setParameters(parameters);
            Log.e(TAG, "surfaceChanged called setParameters success");
        }
    }

我在很多地方发现这是由于不受支持的预览大小造成的,但在我的情况下,我已经从支持的预览大小中获取它。

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    我在使用 Nexus 平板电脑时遇到了同样的问题:将预览尺寸更改为另一个受支持的预览尺寸的相同代码适用于各种平板电脑,但不适用于我拥有的 Nexus 平板电脑。

    就我而言,问题在于我在更改预览大小之前已经开始预览。在开始预览大小之前更改预览大小解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-11
      • 2014-05-21
      • 2013-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多