因此,一个.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代替。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top