ExtAudioFileRead,转换,循环

时间:2012-08-03 16:17:25

标签: ios5

我在这里有一个令人毛骨悚然的时刻,尝试使用循环缓冲区调整MixerHost示例代码以提高内存效率。但是,当我将代码从读取整个音频文件更改为仅读取一大块4K字节时,问题就出现了。音频文件确实是压缩的,因此clientFormat是LPCM,并且发生了隐式转换,就像在示例代码中一样。但是当我读取较小的块时,收集到bufferList(AudioBufferList *)中的数据似乎是不同的。它取决于ExtAudioFileRead()调用中的number_of_frames参数:

ExtAudioFileRead (
                  audioFileObject,
                  &numberOfFramesToRead, // <- this set to chunk size in bytes
                  bufferList   // <- contains 2 buffers, 1 chan each for L, R
                 );

问:要读取的帧数是否应该表示OUTPUT格式中的数字?那么,如果我指定1024帧,我会得到1024 L,R样本读取为简单的LPCM格式? 问:如果每次读取的帧数不同,为什么会得到不同的结果?

SDK:iOS 5.1

0 个答案:

没有答案
相关问题