6

我有一个类似于 Apple 的 AVCam 演示的摄像机视频。我遇到了一个非常令人沮丧的问题,我不知道如何进行调试。

基本上,我们谈论的是视图控制器上的摄像机设置。当 VC 出现时,预览层应该显示相机看到的内容,并在按下录制按钮时开始录制到文件。

这在 20% 的时间内有效。其余时间,VC 正常加载,但预览层在 1-3 秒后冻结。一旦冻结,我就不会崩溃或抛出错误[编辑:不正确,见下文]。但是,如果我在它冻结后点击记录,这会触发对

[self.fileOutput startRecordingToOutputFileURL:currentVideoURL recordingDelegate:self];

我立即收到对 AVCaptureFileOutputRecordingDelegate 方法的调用

-(void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error

设置了 NSError 对象,错误代码为 -11803 {AVErrorSessionNotRunning}。在调用 [captureSession startRunning] 之后,该方法肯定已运行。

更新

某些事情导致会话立即中断。captureSession.isInterrupted 在捕获开始后几乎立即设置为 TRUE,当我开始会话时,以下通知会立即触发:

AVCaptureSessionWasInterruptedNotification
AVCaptureSessionDidStopRunningNotification  (edit -- had the wrong const here)

什么可能导致会话在开始后立即中断?

是否有关于所有可能导致 AVCaptureSession 中断的事件的文档?

4

0 回答 0