3

我试图理解将 scheduleFileID 设置为 AUFilePlayer 时返回的错误代码。以前在为 OSX 开发时,我使用过

const char* GetMacOSStatusErrorString(OSStatus err);

const char* GetMacOSStatusCommentString(OSStatus err);

但它们是在 Carbon CarbonCore/Debugging.h 中声明的,所以它们在 iOS 中对我不可用。有谁知道在 iOS 上执行此操作的等效方法?

4

1 回答 1

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)
于 2012-01-30T10:30:01.733 回答