Audio Queue Services записывает в файл .mp4, который не может быть воспроизведен. И Волшебное печенье проблема - PullRequest
4 голосов
/ 12 января 2011

Я начинающий программист Mac всего на 3 месяца. У меня проблема со службой Audio Queue Services, надеюсь, кто-нибудь сможет мне помочь.

Я с помощью Audio Queue Services API создал программу записи и вывел данные в формате AAC. Вроде все хорошо, все отлично работает.

Пока я не использую библиотеку MP4V2 (библиотека с открытым исходным кодом) для вывода файла .mp4, проблема возникает.

Задача 1:

Я использую Волшебное печенье в качестве заголовка AAC для ввода в библиотечную функцию MP4V2 MP4WriteSample () . Внутри .mp4 файла есть данные, но игрок (например: Quicktime) не может распознан файл .mp4, он не может воспроизводить аудиоданные.


Задача 2:

Я установил формат основных описаний моей аудио-очереди следующим образом:

    aqData.mDataFormat.mSampleRate = 44100.0;
    aqData.mDataFormat.mFormatID = kAudioFormatMPEG4AAC;  // AAC codec.
    aqData.mDataFormat.mChannelsPerFrame = 2;
    aqData.mDataFormat.mFramesPerPacket = 1024;

и используйте AudioQueueGetProperty () для получения волшебного cookie.

Чем я распечатаю волшебное печенье константы, вот так:

    <03808080 22000000 04808080 14401500 18000001 f4000001 f4000580 80800212 10068080 800102>

всего 39 байт.

Что именно это значит?

Что означают каждый из 39 представленных байтов?

Можно ли преобразовать в заголовок AAC?

Ссылка:

Установить Волшебное печенье для аудиофайла

Установить волшебное печенье для аудио-очереди воспроизведения

CoreAudio - как определить конец воспроизводимого файла AAC


Большое спасибо.

Ryan

1 Ответ

0 голосов
/ 21 февраля 2012

установить тип файла kAudioFileM4AType

AudioFileCreateWithURL (
            audioFileURL,
            kAudioFileM4AType,
            &audioFormat,
            kAudioFileFlags_EraseFile,
            &audioFileID
    );
...