Camera2闪光灯开启与关闭

@TargetApi(Build.VERSION_CODES.M)
public void setFlash() {
    if (flashState == 0) {
        flash.setImageResource(R.drawable.camera_flash_on);
        flashState = 1;
        showToast("灯光已开启");
        openFlash();


    } else {
        flash.setImageResource(R.drawable.camera_flash_off);
        flashState = 0;
        showToast("灯光已关闭");
        closeFlash();
    }
}

private void openFlash(){
    mCaptureRequestBuilder.set(CaptureRequest.FLASH_MODE,
            CaptureRequest.FLASH_MODE_TORCH);
    mCaptureRequest = mCaptureRequestBuilder.build();
    try {
        mCameraCaptureSession.setRepeatingRequest(mCaptureRequest, mSessionCaptureCallback, mBackgroundHandler);
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }
}
private void closeFlash(){
    mCaptureRequestBuilder.set(CaptureRequest.FLASH_MODE,
            CaptureRequest.FLASH_MODE_OFF);
    mCaptureRequest = mCaptureRequestBuilder.build();
    try {
        mCameraCaptureSession.setRepeatingRequest(mCaptureRequest, mSessionCaptureCallback, mBackgroundHandler);
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }
}

猜你喜欢

转载自blog.csdn.net/oSiNeiKe/article/details/75666454
今日推荐