Android 控制闪光灯

(转载)http://www.cnblogs.com/xingfuzzhd/p/3360633.html

首先闪光灯可以用android.hardware.camera来控制。

1.添加权限

1 <uses-permission android:name="android.permission.FLASHLIGHT" />
2 
3 <uses-permission android:name="android.permission.CAMERA"/>
4 
5 <uses-feature android:name="android.hardware.camera" />

 

2.获得Camera对象,通过Camera.open()开启摄像头。

Camera camera = Camera.open();

 

3.打开闪光灯

复制代码
 1 public static void turnLightOn(Camera mCamera) {
 2   if (mCamera == null) {
 3    return;
 4   }
 5   Parameters parameters = mCamera.getParameters();
 6   if (parameters == null) {
 7    return;
 8   }
 9     List<String> flashModes = parameters.getSupportedFlashModes();
10     // Check if camera flash exists
11     if (flashModes == null) {
12        // Use the screen as a flashlight (next best thing)
13        return;
14     }
15     String flashMode = parameters.getFlashMode();
16 if (!Parameters.FLASH_MODE_TORCH.equals(flashMode)) { 17 // Turn on the flash 18 if (flashModes.contains(Parameters.FLASH_MODE_TORCH)) { 19 parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); 20 mCamera.setParameters(parameters); 21 } else { 22 } 23 } 24 }
复制代码

4.关闭闪光灯

复制代码
 1 public static void turnLightOff(Camera mCamera) {
 2   if (mCamera == null) {
 3     return;
 4   }
 5   Parameters parameters = mCamera.getParameters();
 6   if (parameters == null) {
 7     return;
 8   }
 9   List<String> flashModes = parameters.getSupportedFlashModes();
10   String flashMode = parameters.getFlashMode();
11   // Check if camera flash exists
12   if (flashModes == null) {
13     return;
14   }
15   if (!Parameters.FLASH_MODE_OFF.equals(flashMode)) {
16   // Turn off the flash
17    if (flashModes.contains(Parameters.FLASH_MODE_OFF)) {
18      parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
19      mCamera.setParameters(parameters);
20    } else {
21          Log.e(TAG, "FLASH_MODE_OFF not supported");
22       }
23     }
24 }
复制代码

5.关闭闪光灯后记得释放Camear对象

camera.release();

 

源代码:Flashlight.7z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值