当我使用AVFoundation类时,如何在iOS中找到错误代码

时间:2012-04-03 22:06:08

标签: avfoundation

我正在使用AVFoundation库编写视频应用程序。

基本上,我正在将视频录制到文件中,并在录制结束时收听以下事件。

- (void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error
{
   switch([error code] {
        //handle different AV foundation errors such as 
        case AVErrorMaximumFileSizeReached:
        { //do something }
        case AVErrorMaximumDurationReached:
        { //do something }            
        case AVErrorDiskFull:
        { //do something }
   }
}

当我在低光盘太空手机中运行我的应用程序时,我得到了一个错误-12670。我想这与diskfull类似,但是,我在AVError.h找不到错误代码。

有没有简单的方法可以找到随机错误代码的相应宏? (我需要找到这个错误究竟是什么的文档)

这很令人困惑,我在互联网上搜索,找不到任何了解整个故事的人。

此致 霍华德

2 个答案:

答案 0 :(得分:1)

这是一个古老的错误问题,但这是我的答案。如果你仔细观察NSError,它确实显示错误代码是-11807(AVErrorDiskFull)。确保您没有查看OSStatus错误。您可以找到有关OSStatus错误here的更多信息。

以下是NSError的一个示例:

Error Domain=AVFoundationErrorDomain 
Code=-11807 "Operation Stopped" 
UserInfo=0x16eabcf0 {NSLocalizedRecoverySuggestion=There is not enough available space to continue the file writing. Make room by deleting existing videos or photos., 
AVErrorRecordingSuccessfullyFinishedKey=false, 
NSLocalizedDescription=Operation Stopped, 
NSUnderlyingError=0x16e9e720 
"The operation couldn’t be completed. (OSStatus error -12670.)"}*

答案 1 :(得分:0)