gpt4 book ai didi

iphone - Flash 正在卡住 AVCaptureSession

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:12:52 24 4
gpt4 key购买 nike

我有以下代码来打开手电筒和闪光灯:

                AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) {
[self.session beginConfiguration];
[device lockForConfiguration:nil];
if(self.flashlightOn == YES)
{
[device setTorchMode:AVCaptureTorchModeOn];
[device setFlashMode:AVCaptureFlashModeOn];
NSLog(@"TurnFlashOn");
}
else
{
[device setTorchMode:AVCaptureTorchModeOff];
[device setFlashMode:AVCaptureFlashModeOff];
NSLog(@"TurnFlashOff");
}

[device unlockForConfiguration];
[self.session commitConfiguration];

但如果调用代码,我的 session 似乎会卡住,如果我删除 [device setTorchMode:] 部分,一切正常。有人知道这里发生了什么吗?

编辑:它仅在没有 IDE 的情况下运行应用程序时出现 -> 自行运行

最佳答案

我在前后摄像头之间切换时遇到了同样的问题。它会在我第一次使用该设备时工作,然后每次都卡住在“commitConfiguration”上。看起来正确的顺序是:

            [self.session beginConfiguration];
[device lockForConfiguration:nil];

//*** Do your session configuration stuff here

[device unlockForConfiguration];
[self.session commitConfiguration];

//*** And this is what fixed the problem:
self.session startRunning];

希望这对您有用!

关于iphone - Flash 正在卡住 AVCaptureSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13515805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com