android - 手电筒相机2 API

标签 android flashlight camera2

我可以在Android Camera2 API中同时使用相机预览和手电筒吗?

当我尝试使用CameraManager.setTorchMode(StringcameraId, booleanenabled)时,当相机未打开时它工作正常。但是当相机打开并且我尝试 setTorchMode 时,我收到此异常:

CameraService: setTorchMode: torch mode of camera 0 is not available because camera is in use

最佳答案

设置 FLASH_MODE 和 AE_MODE 很重要。下面是工作代码:

public void toggleFlashMode(boolean enable){
try {
            if (mCameraType.equals(CameraType.BACK)) {
                if (enable) {
                    mPreviewRequestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_TORCH);
                    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
                } else {
                    mPreviewRequestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);
                    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_OFF);
                }
                mCaptureSession.setRepeatingRequest(mPreviewRequestBuilder.build(), null, null);
            }
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
}

关于android - 手电筒相机2 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324647/

相关文章:

android - 当 Min SDK 为 L 时在 Android M 上请求权限

android - 如何让 Admob adblock 离开屏幕中心?

android - 当电话停止响铃时关闭手电筒?

java - 在android上实现频闪(闪光灯闪烁)效果,以相同的频率闪烁

java - 控制 Android 的前 LED 灯

java - 如何在 android 中录制视频的同时绘制视频,并保存视频和绘图?

Android JavaCV + Camera2

java - 用 Snackbar 替换 Toast 有时会显示足够长的时间

Android:Camera2 传递给相机服务的错误参数

android - 如何使用 ListVIew 对特定项目实现监听器?