加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 设置AVCaptureTorchModeOn

发布时间:2020-12-14 19:22:47 所属栏目:百科 来源:网络整理
导读:我想在进行视频录制时在我的应用程序中打开手电筒模式AVCaptureTorchModeOn. 我使用下面的代码. -(void)set_TorchMode:(BOOL)turnOn{ AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; if ([theDevice hasTorc
我想在进行视频录制时在我的应用程序中打开手电筒模式AVCaptureTorchModeOn.

我使用下面的代码.

-(void)set_TorchMode:(BOOL)turnOn
{
 AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    if ([theDevice hasTorch]) {
        [theDevice lockForConfiguration: nil];
        AVCaptureTorchMode currentMode = [theDevice torchMode];
        BOOL isAlreadyTurnedOn = (AVCaptureTorchModeOn == currentMode);
        if (isAlreadyTurnedOn != turnOn) {
            [theDevice setTorchMode: turnOn? AVCaptureTorchModeOn: AVCaptureTorchModeOff];
        }

        [theDevice unlockForConfiguration];
    }    
}

我在开始录音时打开这个方法打开,在停止录音时将其关闭.

我第一次录制它时工作正常,但是当第二次开始录制时,它开启但立即关闭.录制运行时它不会保持打开状态.

谢谢你的帮助.

解决方法

以下代码用于打开和关闭背光.

愿这对你有帮助,

- (void) setTorchOn:(BOOL)isOn
{
    AVCaptureDevice* device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    [device lockForConfiguration:nil]; //you must lock before setting torch mode
    [device setTorchMode:isOn ? AVCaptureTorchModeOn : AVCaptureTorchModeOff];
    [device unlockForConfiguration];
}

- (IBAction)changedState:(id)sender {
    UISwitch *switchValue = (UISwitch*)sender;
    [self setTorchOn:[switchValue isOn]];
}

请将此代码测试到设备中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读