Липсващи части при създаване на файл с AudioQueue

Така че един .wav файл има няколко стандартни парчета. В повечето от файловете, с които работя, първо е частта "RIFF", след това частта "fmt", след това частта "DATA". Когато записвате с помощта на AVAudioRecorder, тези парчета се създават (въпреки че допълнителен "FLLR" се създава преди парчето "DATA".)

Когато създавате файл с AudioQueue, тези стандартни парчета не се създават. Вместо това AudioQueue създава по ред блокове "caff", "desc", "lpcm", "free" и "data".

Какво става? Не са ли необходими частите "RIFF" и "fmt"? Как се принуждава включването на тези парчета?

Създавам файл от:

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

като inputDataFormat е AudioStreamBasicDescription с пълен набор от свойства.

И така, как се записват поне парчетата "RIFF" и "fmt" с AudioQueue?

Благодаря.


person Eric Christensen    schedule 06.08.2009    source източник


Отговори (1)


Така че един .wav файл има няколко стандартни парчета. …

Когато създавате файл с AudioQueue, тези стандартни парчета не се създават. …

Създавам файл от:

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

Нека това бъде пример за стойността на показването на собствен код в нечий въпрос. :-)

kAudioFileCAFType е основен аудио файл, а не WAV файл. Опитайте kAudioFileWAVEType вместо това.

person Peter Hosey    schedule 06.08.2009
comment
Бих могъл да те целуна! Благодаря ти!! - person Eric Christensen; 06.08.2009