Технические вопросы и ответы QA1318

Как обработать аудиоданные с волшебной информацией о cookie

Q: Как я обрабатываю аудиоданные с волшебными cookie при использовании AudioConverter?

A: Некоторым форматам аудио связали волшебный cookie с ними, который требуется, чтобы распаковывать аудиоданные. Термин «Волшебный cookie» (несколько раз вызвал магическое число (ла)) относится к информации, включенной в заголовок аудиофайла, используемый для описания форматов данных. При преобразовании аудиоданных необходимо проверить, чтобы видеть, имеет ли формат аудиоданных, которые Вы пытаетесь преобразовать, волшебный cookie. Если формату аудиоданных связали волшебный cookie с ним, необходимо добавить эту информацию к экземпляру аудио используемого преобразователя. Это сделано при помощи AudioConverterSetProperty API вместе с kAudioConverterDecompressionMagicCookie свойство и волшебный блоб cookie-данных. Это необходимо для корректной распаковки Аудиофайла.

Перечисление 1  Используя Волшебную информацию о Cookie с Аудио Преобразователями.

 AudioConverterRef *conv;
   AudioFileID *musicFileID;
   UInt32    magicCookieSize = 0;
   //...
   // Open a new AudioFile and create a new AudioConverter here.
   // ...
   //Get Magic Cookie info(if exists) and pass it to converter
   err = AudioFileGetPropertyInfo(*musicFileID,
                                        kAudioFilePropertyMagicCookieData,
                                        &magicCookieSize,
                                        NULL);
 
     if (err == noErr)
    {
        void *magicCookie = calloc (1, magicCookieSize);
        if (magicCookie)
        {
            err = AudioFileGetProperty (*musicFileID,
                                  kAudioFilePropertyMagicCookieData,
                                  &magicCookieSize,
                                  magicCookie);
 
            // Give the AudioConverter the magic cookie decompression
            //params if any exist
            if (err == noErr)
            {
                err = AudioConverterSetProperty( *conv,
                     kAudioConverterDecompressionMagicCookie,
                     magicCookieSize,
                     magicCookie);
            }
            if (magicCookie) free(magicCookie);
        }
    } else //OK if audio doesn't need magic cookie data
        err = noErr; //reset error status


История версии документа


ДатаПримечания
09.08.2013

Передовая статья

18.07.2011

Передовая статья

22.10.2003

Новый документ это, как обработать звуковые файлы с волшебными cookie при использовании AudioConverter.