Отсутствие кусков при создании файла с AudioQueue
Таким образом, файл.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?
Благодарю.
1 ответ
Таким образом, файл.wav имеет несколько стандартных блоков....
При создании файла с AudioQueue эти стандартные чанки не создаются....
⋮
Я создаю файл с помощью:
AudioFileCreateWithURL(URL, kAudioFileCAFType, &inputDataFormat, kAudioFileFlags_EraseFile, &AudioFile);
Пусть это будет примером того, как важно показывать свой код в своем вопросе.:-)
kAudioFileCAFType
является файлом Core Audio, а не файлом WAV. Пытаться kAudioFileWAVEType
вместо.