闪光灯

原创 2015年07月09日 16:40:42

闪光灯主要是控制Camera 类的开关,来实现一闪一闪

代码如下:

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.LinearLayout;

public class MainActivity extends Activity {
	private Camera camera = null;
	// 创建一个Handler对象
	Handler handler = new Handler();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		flashclose();
		camera.startPreview();
	}

	// 判断camera是否打开
	private boolean openCamera() {
		if (camera != null) {
			return true;
		}
		try {
			camera = Camera.open();
		} catch (Exception e) {
			return false;
		}
		return true;
	}

	// 关闭camera
	private void releaseCamera() {
		handler.removeCallbacks(mFlashOnRunnable);
		handler.removeCallbacks(mFlashOffRunnable);
		if (camera != null) {
			camera.stopPreview();
			camera.release();
			camera = null;
		}
	}

	// 开始闪光
	private void flashopen() {
		if (!openCamera()) {
			return;
		}
		Parameters parameters = camera.getParameters();
		parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
		camera.setParameters(parameters);
	}

	// 停止闪光
	private void flashclose() {
		if (!openCamera()) {
			return;
		}
		Parameters parameters = camera.getParameters();
		parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
		camera.setParameters(parameters);
	}

	private Runnable mFlashOnRunnable = new Runnable() {
		@Override
		public void run() {
			flashopen();
			//闪光灯的频率(自己可以静态设置,也可以动态设置)
			int delayTime = getDelayTime();
			if (delayTime > 0) {
				handler.postDelayed(mFlashOffRunnable, delayTime);
			}
		}
	};

	private Runnable mFlashOffRunnable = new Runnable() {
		@Override
		public void run() {
			flashclose();
			handler.postDelayed(mFlashOnRunnable, getDelayTime());
		}
	};

	// 获的闪关的频率
	private int getDelayTime() {
		//这就是获取刻度尺的值,上篇文章有讲解
		return staff.getRate() * 100 + 100;
	}
}



iOS 闪光灯的打开和关闭

// // ViewController.m // Flash // // Created by fe on 2017/1/3. // Copyright © 2017年 fe. All ri...
  • ZhengYanFeng1989
  • ZhengYanFeng1989
  • 2017年01月03日 15:28
  • 2606

给zxing扫描二维码添加闪光灯功能

android给zxing扫描二维码添加闪光灯功能
  • weizhixiang
  • weizhixiang
  • 2016年11月19日 16:58
  • 1664

android 为摄像头增加闪光灯(s5pv210)

昨天刚好闪光灯弄过来,今天简单的做下总结。大概的说下,具体我也没有深入研究,不过效果确实是有了。 首先找到android拍照的时候所执行的函数代码在: packages/apps/Camera/s...
  • hclydao
  • hclydao
  • 2012年07月11日 09:48
  • 3579

发送,取消notification,打开,关闭闪光灯。

发送,取消notification,打开,关闭闪光灯。
  • jinshitou2012
  • jinshitou2012
  • 2016年07月05日 14:45
  • 648

自定义相机添加闪光灯设置

添加闪光灯1.获取相机的 parameters(mCamera.getParameters())属性 2.获取 相机支持的闪光灯模式 mCamera.getParameters().getSuppo...
  • u013783167
  • u013783167
  • 2015年11月24日 21:29
  • 1451

MTK camera 闪光灯Flashlight驱动调试流程

Camera Flash 驱动分析 一、Flash驱动涉及到的文件包含: mediatek /custom/common/kernel/flashlight/src/kd_flashlightli...
  • u014215139
  • u014215139
  • 2014年03月27日 18:00
  • 4331

Android 打开关闭闪光灯。

关于android打开闪光灯的一些小事 在这篇文章中。 添加权限
  • qq_35619188
  • qq_35619188
  • 2017年06月05日 16:20
  • 172

Android如何打开闪光灯

Android如何打开闪光灯 在android中打开闪光灯的方法有两种,一种是获取硬件服务,通过反射的方式来操作闪光灯。另外一种是获得Camera对象,通过设置Camera的参数来操作闪光灯。一下是...
  • mac_lim
  • mac_lim
  • 2013年05月29日 00:45
  • 10328

Android闪光灯实现

今天接到了一个面试的通知,面试的题目是15分钟实现一个手机闪光灯的效果 具体的代码如下: 一、声明闪光灯的权限  二、具体的代码如下: package com.google.yang.myapp...
  • u014752325
  • u014752325
  • 2016年10月27日 15:17
  • 4478

【Android 学习】之二维码扫描开发(闪光灯功能)

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、...
  • u013132758
  • u013132758
  • 2015年12月15日 21:43
  • 1007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:闪光灯
举报原因:
原因补充:

(最多只允许输入30个字)