在Mac OS X上进行屏幕录像

时间:2013-02-26 19:13:02

标签: objective-c macos cocoa avfoundation screen-recording

我正在使用AVFoundation来录制屏幕或部分屏幕。 这是我工作的2个代码示例。

1。http://developer.apple.com/library/mac/#samplecode/AVScreenShack/Listings/AVScreenShack_AVScreenShackDocument_m.html

2。http://developer.apple.com/library/mac/#qa/qa1740/_index.html

使用裁剪矩形进行简单的全屏录制或录制, 但是当我在录制时尝试更改矩形时,我收到错误:

  

完成录制到文件://localhost/Users/Shared/screenMovie.mp4   由于错误错误Domain = AVFoundationErrorDomain Code = -11806   “录制已停止”UserInfo = 0x13a07f9e0   {AVErrorRecordingSuccessfullyFinishedKey =真,   NSLocalizedDescription =录制已停止,   NSLocalizedRecoverySuggestion =再次尝试录制。}

Apple文档说错误代码为-11806:

  

AVErrorSessionConfigurationChanged录制已停止,因为   媒体来源和目的地的配置发生了变化。

我在文档中找不到任何关于它的信息。 我有建议,录音时我不能改变矩形。但与此同时,我找不到任何关于它的证据。

1 个答案:

答案 0 :(得分:1)

录制时更改矩形时,录制格式会发生变化,无法继续录制到同一输出。但是,您可以继续录制到新文件。

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

// Check for error
// If an error occurred and AVErrorRecordingSuccessfullyFinishedKey is YES, then
// start recording to a new file here

}