AVCaptureSession
's的 Apple 文档beginConfiguration
并commitConfiguration
说
After calling beginConfiguration, you can for example add or remove outputs, alter the sessionPreset, or configure individual capture input or output properties.
我特别希望使用“配置输出属性”部分。特别是,我想使用原子配置更改来停止在一个 AVCaptureMovieFileOutput 上录制并开始在另一个上录制。不幸的是,这似乎不起作用。我具体尝试的是以下代码:
NSLog(@" = %d", [[self output] isRecording]);
NSLog(@" = %d", [[self output2] isRecording]);
[[self session] beginConfiguration];
[[self output] stopRecording];
[[self session] removeOutput:output];
[[self session] addOutput:output2];
outputFileURL = [self getMovieSaveURL];
[[self output2] startRecordingToOutputFileURL:outputFileURL recordingDelegate:self];
[[self session] commitConfiguration];
NSLog(@" = %d", [[self output] isRecording]);
NSLog(@" = %d", [[self output2] isRecording]);
但是,从我放置在代码中的 NSLog 语句中,我看到第一个输出仍在记录中,而第二个输出在提交之后仍然没有。有什么想法可以让我完成这项工作吗?非常感谢!