我正在使用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
找不到错误代码。
有没有简单的方法可以找到随机错误代码的相应宏? (我需要找到这个错误究竟是什么的文档)
这很令人困惑,我在互联网上搜索,找不到任何了解整个故事的人。
此致 霍华德
答案 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)