Android Camera.Parameter.SCENE_MODE_BARCODE不适用于大多数设备

时间:2016-02-02 14:06:16

标签: android camera android-camera barcode barcode-scanner

当我们尝试将相机参数设置为扫描BarCode时,我想设置场景模式以获得更好的性能。

我看到了这段代码

    Camera.Parameters cameraParameters = camera.getParameters();
    cameraParameters.setSceneMode(Camera.Parameters.SCENE_MODE_BARCODE);
    camera.setParameters(cameraParameters);

但这会不断地抛出异常消息,“setParameter失败”。

2 个答案:

答案 0 :(得分:1)

您可以检查您的设备是否支持此sceneMode并在以下情况下应用它:

 Camera.Parameters cameraParameters = camera.getParameters();
 List<String> sceneModes = cameraParameters.getSupportedSceneModes();

    if (sceneModes != null){
        if (sceneModes.contains(Parameters.SCENE_MODE_BARCODE)) {
            cameraParameters.setSceneMode(Parameters.SCENE_MODE_BARCODE);
        }            
    }
    camera.setParameters(cameraParameters);

答案 1 :(得分:0)

检查一下:

parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);

您可以使用parameters.getSupportedFocusModes()并选择哪一个最适合您的应用。