我正在使用 zxing 在 android 中集成条码扫描功能,我的应用程序包括通过按下按钮打开/关闭闪光灯功能。
当按下闪光灯按钮时,它会将闪光灯设置为手电筒模式,并将该参数设置为相机参数。我得到一个异常:Set Paramters failed exception.
这是我的代码。
Parameters p = camera.getParameters();
List<String> supportedFlashModes =p.getSupportedFlashModes();
if (active)
{
if(supportedFlashModes!= null)
{
if(supportedFlashModes.contains(Parameters.FLASH_MODE_TORCH))
{
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
}
}
CaptureActivity.flashLightON=true;
}
else
{
p.setFlashMode(Parameters.FLASH_MODE_OFF);
}
camera.setParameters(p);
我得到以下异常:
06-07 12:15:26.107: E/AndroidRuntime(24642): FATAL EXCEPTION: main
06-07 12:15:26.107: E/AndroidRuntime(24642): java.lang.RuntimeException:
setParameters failed
06-07 12:15:26.107: E/AndroidRuntime(24642): at
android.hardware.Camera.native_setParameters(Native Method)
请告诉我如何解决这个问题?
最佳答案
我的 Google Nexus One 也遇到了同样的问题。 通过取消自动对焦,设置参数然后重置自动对焦,问题为我解决了
camera.cancelAutoFocus();
camera.setParameters(parameters);
camera.autoFocus(autoFocusCallback);
不幸的是,它不是一个通用的解决方法,因为它不适用于完全失去它的 S3 或 Galaxy Nexus ... S-G 开始闪烁,S3 停止自动对焦。 我通过停止预览然后在设置参数后重新启动来解决 S3 的问题
关于android - zxing设置相机参数闪光模式时android设置参数失败异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10927387/