AVCaptureSession无意中触发了AVCaptureSessionWasInterruptedNotification,无法找出中断源

时间:2013-03-20 19:14:36

标签: ios avfoundation avcapturesession

我的视频摄像头视频与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中断的所有事件的文档?

0 个答案:

没有答案