Camera setParameters(), getParameters(),

unlock()

三个方法之间的限制关系

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Camera mCamera = Camera.open();
// *次调用getParameters()需要在unlock()方法之前否则出现错误
 Camera.Parameters parameters = mCamera.getParameters();
//开启闪光灯
 parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
// *次获取的 parameters 可以在unlock()方法之前直接使用
 mCamera.setParameters(parameters);
 mCamera.unlock();
// 调用unlock()方法之后,如果需要调用setParameters()方法需要重新调用getParameters()获取//parameters否则报错 设置setParameters 失败
 parameters = mCamera.getParameters();
//关闭闪光灯
 parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
// 调用unlock()方法之后,如果需要调用setParameters()方法需要重新调用getParameters()获取//parameters否则报错 设置setParameters 失败
 mCamera.setParameters(parameters);