我使用 MixerHostAudio 同时加载多个音频文件。
我无法将整个文件加载到内存中,因为 APP 崩溃了!
有人可以帮我实现一个缓冲论文文件的算法吗?
或者至少给我举个例子?
我设法做到了这一点:
我指出了调用渲染函数的代码:
UInt32 numberOfPacketsToRead = (UInt32) totalFramesInFile;
result = ExtAudioFileRead (audioFileObject, &numberOfPacketsToRead, bufferList);
free (bufferList);
if (noErr != result) {
[self printErrorMessage: @"ExtAudioFileRead failure - " withStatus: result];
// If reading from the file failed, then free the memory for the sound buffer.
free (soundStructArray[audioFile].audioDataLeft);
soundStructArray[audioFile].audioDataLeft = 0;
if (2 == channelCount) {
free (soundStructArray[audioFile].audioDataRight);
soundStructArray[audioFile].audioDataRight = 0;
}
ExtAudioFileDispose (audioFileObject);
return;
}
--- 现在我只在缓冲完成时丢失了部分,我可以告诉程序获取下一个块....
有任何想法吗?
谢谢
埃尔南