zoukankan      html  css  js  c++  java
  • 使用相机闪光灯开启

    package com.home.light;
    
    import android.app.Activity;
    import android.hardware.Camera;
    import android.hardware.Camera.Parameters;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    import com.home.cameralight.R;
    
    public class TestActivity extends Activity implements OnClickListener {
    	Camera camera;
    	Parameters params;
    	private Button onBtn;
    	private Button offBtn;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		camera = Camera.open();
    		params = camera.getParameters();
    		findView();
    	}
    
    	private void findView() {
    		onBtn = (Button) findViewById(R.id.main_btn_on);
    		onBtn.setOnClickListener(this);
    		offBtn = (Button) findViewById(R.id.main_btn_off);
    		offBtn.setOnClickListener(this);
    	}
    
    
    	@Override
    	public void onClick(View v) {
    		if (v == onBtn) {
    //			open1();
    			open2();
    		} else if (v == offBtn) {
    //			off1();
    			off2();
    		}
    	}
    
    	
    	private void open1() {
    		if (camera == null) {
    			camera = Camera.open();
    			params = camera.getParameters();
    		}
    		params.setFlashMode(Parameters.FLASH_MODE_TORCH);
    		camera.setParameters(params);
    	}
    
    	private void off1() {
    		if (camera == null) {
    			return;
    		}
    		params.setFlashMode(Parameters.FLASH_MODE_OFF);
    		camera.setParameters(params);
    		camera.release();
    		camera = null;
    	}
    
    	private void open2() {
    		if (camera == null) {
    			camera = Camera.open();
    			params = camera.getParameters();
    		}
    
    		params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
    		camera.setParameters(params);
    		camera.autoFocus(new Camera.AutoFocusCallback() {
    			public void onAutoFocus(boolean success, Camera camera) {
    			}
    		});
    		camera.startPreview();
    	}
    
    	private void off2() {
    		if (camera == null) {
    			return;
    		}
    		camera.stopPreview();
    		camera.release();
    		camera = null;
    	}
    
    }
    


    权限:

        <uses-permission android:name="android.permission.FLASHLIGHT" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-feature android:name="android.hardware.camera" />
        <uses-feature android:name="android.hardware.autofocus"/>


     

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    海泉湾
    ns2的wirelessphy中添加定时器
    ns2能量模型添加充电模型
    用gawk和gnuplot来分析ns2的trace文件
    [转载]ns2中的能量模型
    配置本地SVN[转载]
    EMQ插件通过HTTP连接认证服务器实现认证
    在K8S上跑一个helloworld
    EMQ插件组合实现物联网边缘平台的设备通信管理
    在CentOS7上搭建Kubernetes
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4658913.html
Copyright © 2011-2022 走看看