Отсутствующие фрагменты при создании файла с помощью AudioQueue

StackOverflow https://stackoverflow.com/questions/1237130

Вопрос

Итак .файл wav состоит из нескольких стандартных фрагментов.В большинстве файлов, с которыми я работаю, первым идет фрагмент "RIFF", затем фрагмент "fmt", затем фрагмент "DATA".При записи с использованием AVAudioRecorder эти фрагменты создаются (хотя перед фрагментом "ДАННЫЕ" создается дополнительный "FLLR").

При создании файла с помощью AudioQueue эти стандартные фрагменты не создаются.Вместо этого AudioQueue создает по порядку фрагменты "caffe", "desc", "lpcm", "free" и "data".

Что происходит?Разве не требуются фрагменты "РИФФ" и "fmt"?Как заставить включить эти фрагменты?

Я создаю файл с помощью:

AudioFileCreateWithURL(URL, kAudioFileCAFType и формат входных данных, kAudioFileFlags_EraseFile и АудиоФайл);

с inputDataFormat, представляющим собой базовое описание аудиопотока с полным набором свойств.

Итак, как записать, по крайней мере, фрагменты "РИФФ" и "fmt" с помощью AudioQueue?

Спасибо.

Это было полезно?

Решение

Итак .файл wav состоит из нескольких стандартных фрагментов.…

При создании файла с помощью AudioQueue эти стандартные фрагменты не создаются.…

Я создаю файл с помощью:

AudioFileCreateWithURL(URL, kAudioFileCAFType, &inputDataFormat, kAudioFileFlags_EraseFile, &AudioFile);

Пусть это будет примером ценности показа своего кода в своем вопросе.:-)

kAudioFileCAFType это основной аудиофайл, а не WAV-файл.Попробуй kAudioFileWAVEType вместо этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top