zoukankan      html  css  js  c++  java
  • Android 控制闪光灯

    首先闪光灯可以用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

  • 相关阅读:
    电子表单系列谈之纯文本辅助设计表单
    论欧喷索斯应当缓行
    一种用户体验显示对话框时灰化你的主窗体
    程序源代码行数分析统计器
    电子表单系列谈之电子表单基础概念
    通过WebService来使用报表
    使用VBA扩展VS.NET集成开发环境,有Flash演示动画
    Ajax , 好大一颗地雷啊
    发布CHM文档生成器 可替代 HTML Help Workshop,有全部C#源代码
    使用VBA.NET压缩备份C#工程
  • 原文地址:https://www.cnblogs.com/xingfuzzhd/p/3360633.html
Copyright © 2011-2022 走看看