iOS 慢动作记录
iOS Slow Motion Record
我正在尝试制作自定义录像机 iPhone 应用程序,我需要支持 240 fps。但是,当我将 AVCaptureDevice
设置为使用格式和 activeVideoMaxFrameDuration
时,整个视频视图就会冻结。如果我用60fps、120fps,一切正常,完全没有问题。
对于输出部分,我使用的是 AVCaptureMovieFileOutput,如果重要的话,我还设置了曝光自动对焦模式。
[self.videoConnection setPreferredVideoStabilizationMode:AVCaptureVideoStabilizationModeOff];
if ([self.videoDevice isExposureModeSupported:AVCaptureExposureModeAutoExpose] &&
[self.videoDevice lockForConfiguration:&error]) {
[self.videoDevice setExposureMode:AVCaptureExposureModeContinuousAutoExposure];
[self.videoDevice unlockForConfiguration];
}
if ([self.videoDevice isFocusModeSupported:AVCaptureFocusModeAutoFocus] &&
[self.videoDevice lockForConfiguration:&error]) {
[self.videoDevice setFocusMode:AVCaptureFocusModeContinuousAutoFocus];
[self.videoDevice unlockForConfiguration];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self tapInView:nil];
});
解决方法与自动对焦和曝光有关。当设备的相机处于 120/240fps 模式时,我们需要禁用手动对焦和曝光,但仍然保持自动对焦和自动曝光。这将防止相机冻结
我正在尝试制作自定义录像机 iPhone 应用程序,我需要支持 240 fps。但是,当我将 AVCaptureDevice
设置为使用格式和 activeVideoMaxFrameDuration
时,整个视频视图就会冻结。如果我用60fps、120fps,一切正常,完全没有问题。
对于输出部分,我使用的是 AVCaptureMovieFileOutput,如果重要的话,我还设置了曝光自动对焦模式。
[self.videoConnection setPreferredVideoStabilizationMode:AVCaptureVideoStabilizationModeOff];
if ([self.videoDevice isExposureModeSupported:AVCaptureExposureModeAutoExpose] &&
[self.videoDevice lockForConfiguration:&error]) {
[self.videoDevice setExposureMode:AVCaptureExposureModeContinuousAutoExposure];
[self.videoDevice unlockForConfiguration];
}
if ([self.videoDevice isFocusModeSupported:AVCaptureFocusModeAutoFocus] &&
[self.videoDevice lockForConfiguration:&error]) {
[self.videoDevice setFocusMode:AVCaptureFocusModeContinuousAutoFocus];
[self.videoDevice unlockForConfiguration];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self tapInView:nil];
});
解决方法与自动对焦和曝光有关。当设备的相机处于 120/240fps 模式时,我们需要禁用手动对焦和曝光,但仍然保持自动对焦和自动曝光。这将防止相机冻结