我试图理解将 scheduledFileID 设置为 AUFilePlayer 时返回的错误代码。以前在为 OSX 开发时我使用了
const char* GetMacOSStatusErrorString(OSStatus err);
const char* GetMacOSStatusCommentString(OSStatus err);
但它们是在 Carbon CarbonCore/Debugging.h 中声明的,所以它们在 iOS 中对我不可用。有谁知道在 iOS 上执行此操作的等效方法?
最佳答案
我正在使用这种代码来获取可理解的错误代码:
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)
关于ios - 是否有 GetMacOSStatusErrorString 和 GetMacOSStatusCommentString 的 iOS 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118891/