android 开启闪光灯(手电筒)

news/2024/12/12 22:01:23/

操作闪光灯(手电筒)

  private CameraManager mCameraManager;private boolean mTorchAvailable;private String mCameraId;private boolean mFlashlightEnabled;// 判断是否支持public boolean hasFlashlight() {return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);}mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);try {mCameraId = getCameraId();} catch (Throwable e) {Log.e(TAG, "Couldn't initialize.", e);return;}// 注册针对闪光灯的状态回调if (mCameraId != null) {mCameraManager.registerTorchCallback(mTorchCallback, null);}private String getCameraId() throws CameraAccessException {   	    	String[] ids = mCameraManager.getCameraIdList();for (String id : ids) {CameraCharacteristics c = mCameraManager.getCameraCharacteristics(id);Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);Integer lensFacing = c.get(CameraCharacteristics.LENS_FACING);if (flashAvailable != null && flashAvailable&& lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) {return id;}}return null;}// 状态回调private final CameraManager.TorchCallback mTorchCallback =new CameraManager.TorchCallback() {@Overridepublic void onTorchModeUnavailable(String cameraId) {if (TextUtils.equals(cameraId, mCameraId)) {setCameraAvailable(false);}}@Overridepublic void onTorchModeChanged(String cameraId, boolean enabled) {if (TextUtils.equals(cameraId, mCameraId)) {setCameraAvailable(true);   mFlashlightEnabled = enabled;     }}private void setCameraAvailable(boolean available) {mTorchAvailable = available;}}; // 开启/关闭闪光灯public void setFlashlight(boolean enabled) {synchronized (this) {if (mCameraId == null || !mTorchAvailable){return;  }     if (mFlashlightEnabled != enabled) {mFlashlightEnabled = enabled;try {mCameraManager.setTorchMode(mCameraId, enabled);} catch (CameraAccessException e) {Log.e(TAG, "Couldn't set torch mode", e);              	}    }}}

http://www.ppmy.cn/news/295387.html

相关文章

相机闪光灯模式总结

CONTROL_MODE 在API级别21中添加 公共静态最终Key CONTROL_MODE 3A(自动曝光,自动白平衡,自动对焦)控制例程的整体模式。 这是顶级3A控制开关。设置为OFF时,将禁用照相机设备的所有3A控制。应用程序必须设置捕获参数本…

camera闪光灯

闪光灯模式 config.ftbl.flashlight.h文件中 SCENE_AS_DEFAULT_SCENE(ITEM_AS_DEFAULT_(MtkCameraParameters::FLASH_MODE_OFF),ITEM_AS_VALUES_(CameraParameters::FLASH_MODE_OFF,CameraParameters::FLASH_MODE_ON,CameraParameters::FLASH_MODE_AUTO,CameraParameters::FLAS…

使用机顶闪光灯

拍摄人像、静物等时,不论是白天还是晚上,使用闪光灯可更好地把控光线。 机顶闪 On-Camera Flash是最方便的一种补光、控光设备。 ◆ ◆ ◆ 使用机顶闪时的相机设置 1、M 档,也可以使用其它模式。 2、ISO 200。 设置理由:有部分闪…

Android之如何以最简单方式开启闪光灯

我们以360手机助手中有一款叫“最美手电筒”,效果图: 通过图中手电筒的开关来开启或关闭闪光灯,OK,以下是实现此功能的代码: public class MainActivity extends Activity implements OnClickListener {private ImageV…

【微信小程序】闪光灯(闪烁效果)

目前来说,微信小程序本身的开发文档对于camera的闪光灯只提供了on和off两种状态,若想要实现闪烁的效果还是需要我们自己实现。 首先,我们先查阅微信小程序的开发文档,找到组件中camera的相关文档,发现官方给予了flash的…

iOS 闪光灯的打开和关闭

// // ViewController.m // Flash // // Created by fe on 2017/1/3. // Copyright © 2017年 fe. All rights reserved. //#import "ViewController.h" #import <AVFoundation/AVFoundation.h>//调用闪光灯需要导入该框架 interface ViewController (…

iOS 关闭和开启闪光灯

- (void)openLight:(UIButton *)sender{ AVCaptureDevice *device self.device; //修改前必须先锁定 [self.device lockForConfiguration:nil]; //必须判定是否有闪光灯&#xff0c;否则如果没有闪光灯会崩溃 if ([self.device hasFlash]) { …

android 判断是否有闪光灯,打开或者关闭闪光灯

现在的Android手机大部分都已经有闪光灯了&#xff0c;但是还是有很多老的机型和低端机型是没有闪光灯的&#xff01;所以在我们使用Android手机去调用闪光灯的时候得先判断该手机是否有闪光灯&#xff01; if(!getPackageManager().hasSystemFeature(PackageManager.FEATURE_…