与AudioQueue创建文件时丢失块
-
11-09-2019 - |
题
因此,一个.wav文件有几个标准块。在大多数和我一起工作的文件中,“RIFF”块是第一,那么,“格式化”块,那么“DATA”块。当使用AVAudioRecorder记录,创建这些块(虽然一个额外的“FLLR”是“DATA”组块之前创建的。)
当创建与AudioQueue一个文件,不创建那些标准块。相反,AudioQueue创建,为了 “低咖啡因”, “内容描述”, “LPCM”, “自由” 和 “数据” 块。
这是怎么回事?是不是“RIFF”和“格式化”块需要?怎样才能迫使那些大块的包容?
我通过创建一个文件:
AudioFileCreateWithURL(URL,kAudioFileCAFType,&inputDataFormat,kAudioFileFlags_EraseFile,&的AudioFile);
与inputDataFormat是与属性的完整互补体的AudioStreamBasicDescription。
那么,如何一个写入,至少,有 “RIFF”,并与AudioQueue “FMT” 块?
感谢。
解决方案
因此,一个.wav文件有几个标准块。 ...
当创建与AudioQueue一个文件,不创建那些标准块。 ...
⋮
我通过创建一个文件:
AudioFileCreateWithURL(URL, kAudioFileCAFType, &inputDataFormat, kAudioFileFlags_EraseFile, &AudioFile);
让这是示出了一个人的一个问题的代码的值的一个例子。 : - )
kAudioFileCAFType
是一个核心音频文件,而不是一个WAV文件。尝试kAudioFileWAVEType
代替。
不隶属于 StackOverflow