Таким образом, файл .wav состоит из нескольких стандартных фрагментов. В большинстве файлов, с которыми я работаю, сначала идет фрагмент «RIFF», затем фрагмент «fmt», затем фрагмент «DATA». При записи с использованием AVAudioRecorder эти фрагменты создаются (хотя перед фрагментом «DATA» создается дополнительный «FLLR»).
При создании файла с помощью AudioQueue эти стандартные фрагменты не создаются. Вместо этого AudioQueue создает по порядку блоки «caff», «desc», «lpcm», «free» и «data».
Что происходит? Разве куски "RIFF" и "fmt" не требуются? Как принудительно включить эти куски?
Я создаю файл:
AudioFileCreateWithURL(URL, kAudioFileCAFType, &inputDataFormat, kAudioFileFlags_EraseFile, &AudioFile);
с inputDataFormat, являющимся AudioStreamBasicDescription с полным набором свойств.
Так как же написать, по крайней мере, фрагменты "RIFF" и "fmt" с помощью AudioQueue?
Спасибо.