2011-01-12 6 views
4

Я новичок программиста Mac всего за 3 месяца. У меня есть проблема с обслуживанием очереди в очереди, надеюсь, что кто-то может мне помочь.Службы очереди звука записываются в файл .mp4, который не может быть воспроизведен. И Magic Cookie issue

Я использую 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(), чтобы получить магическое печенье.

Чем распечатать мои магия печенья contants, как это:

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

всего 39 байт.

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

Что представляет собой 39 байт, представленных в списке?

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

Ссылка:

Set a Magic Cookie for an Audio File

Set a Magic Cookie for a Playback Audio Queue

CoreAudio - how to determine the end of the playing aac file


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

Райан

+0

Это никто не может мне помочь? Пожалуйста помоги! –

ответ

0

набор тип файла kAudioFileM4AType

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

 Смежные вопросы

  • Нет связанных вопросов^_^