Как узнать FileType аудио-файла?
Я использую Core-Audio/AudioToolbox (расширенные сервисы Audio File) для чтения аудиофайлов в OSX.
для моего конкретного приложения мне нужно выяснить, был ли файл, который я успешно открыл, используя ExtAudioFileOpenURL()
является CAF-файлом
к сожалению, я, кажется, скучаю, как это сделать правильно, так как я не могу получить AudioFileTypeID
из ExtAudioFileRef
,
(при написании такого файла я могу определить тип, передав AudioFileTypeID
в ExtAudioFileCreateWithURL
; как насчет обратного?
1 ответ
Решение
Как и с моим другим вопросом, оказалось, что я должен использовать обычный 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);
}