我正在使用Core-Audio / AudioToolbox(扩展音频文件服务)在OSX上读取音频文件。
对于我的特定应用程序,我需要查明我使用ExtAudioFileOpenURL()
成功打开的文件是否是CAF文件。
很遗憾,我似乎错过了如何正确执行此操作,因为我无法从AudioFileTypeID
检索ExtAudioFileRef
。
(在编写这样的文件时,我可以通过将AudioFileTypeID
传递给ExtAudioFileCreateWithURL
来定义类型;反之亦然?
答案 0 :(得分:1)
与我的other question一样,事实证明我必须使用普通的AudioAPI(而不是ExtAudio API)
static bool isCAF(const AudioFileID*file) {
/* trying to read format (is it caf?) */
UInt32 format=0;
UInt32 formatSize=sizeof(format);
AudioFileGetProperty (*file, kAudioFilePropertyFileFormat, &formatSize, &format);
return (kAudioFileCAFType==format);
}