闪光灯

原创 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;
	}
}



仿真实例趣味闪光灯

  • 2014年07月03日 23:40
  • 90KB
  • 下载

Android扫一扫(Zxing),闪光灯,生成二维码图片,解析二维码(条码)等

之前我写过一篇博客是关于如何将zxing集成到Android Studio中,以及简单的实现扫一扫功能。 详情请看:Android Studio集成Zxing扫一扫但是,上面那篇博客只有有一个扫一扫...

Android闪光灯手电筒源码

  • 2012年10月31日 09:18
  • 705KB
  • 下载

Android 控制闪光灯

(转载)http://www.cnblogs.com/xingfuzzhd/p/3360633.html 首先闪光灯可以用android.hardware.camera来控制。 1.添加权...

android 闪光灯小手电150K

  • 2014年10月12日 10:26
  • 930KB
  • 下载

iPhone外接闪光灯: 狗仔队必备

iPhone优秀的拍摄功能让你在随时随地都可以拍摄出高品质的照片和视频,但是有时候拍摄现场光线不足,会严重影响照片的质量,这时如果有一个闪光灯的话效果会好很多。 Paparazzo就是一个简单的iP...
  • leiphone
  • leiphone
  • 2012年08月06日 11:49
  • 26620

设备闪光灯

  • 2014年07月02日 17:39
  • 75KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:闪光灯
举报原因:
原因补充:

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