Ios5 ExtAudioFileRead、转换、循环

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

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

ExtAudioFileRead (
                  audioFileObject,
                  &numberOfFramesToRead, // <- this set to chunk size in bytes
                  bufferList   // <- contains 2 buffers, 1 chan each for L, R
                 );
问:要读取的帧数是否意味着输出格式中的帧数?所以,如果我指定1024帧,我将得到1024个L,R样本,读取为简单的LPCM格式? 问:如果每次读取的帧数不同,为什么会得到不同的结果

SDK:iOS 5.1