0

在 iOS 7 中更改 flash 状态以供AVCaptureDevice使用时:

if ([self.avCaptureDevice isFlashModeSupported:self.avCaptureFlashMode])
{
    NSError *error = nil;
    [self.avCaptureDevice lockForConfiguration:&error];
    if (!error) [self.avCaptureDevice setFlashMode:self.avCaptureFlashMode];
    [self.avCaptureDevice unlockForConfiguration];
}

AVCaptureSessions除非停止并启动,否则设备不会使用闪光灯:

[self.avCaptureSession stopRunning];
[self.avCaptureSession startRunning];

这会导致相机短暂闪烁变黑。是否可以在不停止/启动会话的情况下切换闪光灯?

4

1 回答 1

0

我在 iOS7 中遇到了类似的与 Flash 相关的问题,如果会话有多个输出(静止和视频数据)并且使用了 Flash,仍然捕获会失败。在https://devforums.apple.com/message/894764中找到了一种解决方法(在调用之前删除第二个输出captureStillImageAsynchronouslyFromConnection:completion)。显然这也会暂停视频,但如果你有快门动画,它可能更合适。

于 2013-10-25T09:47:34.877 回答