使用相机闪光灯开启
开启 相机 使用
2023-09-14 09:10:18 时间
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"/>
版权声明:本文博客原创文章,博客,未经同意,不得转载。
相关文章
- Ubuntu不能开启3D特效
- 第一个真正实现智能涌现的国产大语言模型,内测即将开启
- MySQL实训报告——开启 数据库之旅(mysql实训报告)
- Linux 下 Ubiquity:开启新的软件体验(linuxubi)
- 掌握编程与Linux,开启自己的未来之旅(编程与linux)
- Linux开启同步IO新时代(linux同步io)
- Redis权威指南:开启高性能键值存储之旅(redis权威指南)
- 探索 E5 Linux,开启新体验(e5linux)
- udev:开启Linux驱动新篇章(linux驱动udev)
- Linux就业前景广阔:抓住机会开启职业发展(linux就业方向)
- 重新开启:Redis之旅(重启redis)
- 认证获得Linux BCA认证,开启未来职业发展之路(linuxbca)