macoscore-audioaudiotoolboxcaf

how to find out the FileType of an audio-file?


i'm using Core-Audio/AudioToolbox (Extended Audio File services) to read audio files on OSX.

for my specific application, i need to find out, whether the file i opened successfully using ExtAudioFileOpenURL() is a CAF-file.

unfortunately i seem to miss how to do this properly, as i cannot retrieve the AudioFileTypeID from an ExtAudioFileRef.

(when writing such a file, i can define the type by passing the AudioFileTypeID to ExtAudioFileCreateWithURL; what about the reverse?


Solution

  • like with my other question, it turned out that i have to use the normal AudioAPI (rather than 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);
    }