我试图弄清楚在将scheduledFileID设置为AUFilePlayer时返回的错误代码。以前在开发OSX时使用
const char * GetMacOSStatusErrorString(OSStatus err);
const char * GetMacOSStatusCommentString(OSStatus err);
但它们在Carbon CarbonCore / Debugging.h中声明,因此在iOS中我无法使用它们。有没有人知道在iOS上这样做的同等方法?
答案 0 :(得分:3)
我正在使用这种代码来获取可理解的错误代码:
OSStatus ScheduledFilesIDSError = AudioUnitSetProperty(auFilePlayerUnit,kAudioUnitProperty_ScheduledFileIDs,kAudioUnitScope_Global, 0, &filePlayerFile, sizeof(filePlayerFile));
if (ScheduledFilesIDSError == noErr)
{
}
else
{
printf("AudioUnitSetProperty[kAudioUnitProperty_ScheduledFileIDs] failed, Error Code:%ld,\n", ScheduledFilesIDSError);
NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:ScheduledFilesIDSError userInfo:nil];
NSLog(@"Error: %@", [error description]);
}
在我的情况下生成的日志就像:
Error: Error Domain=NSOSStatusErrorDomain Code=-50 "The operation couldn’t be completed. (OSStatus error -50.)"
Error: AudioUnitSetProperty[kAudioUnitProperty_ScheduledFileRegion] failed (-50)