在iOS上使用多个AudioUnits和MTAudioProcessingTap

时间:2014-12-08 22:26:28

标签: ios audiounit

我试图播放用户的音频文件' iOS设备上的iPod库,同时使用AudioUnit应用参数均衡器效果。我一直在使用此示例作为指南:https://developer.apple.com/library/ios/samplecode/AudioTapProcessor/Introduction/Intro.html

我有EQ效果,但我需要添加多个EQ效果。

在我的'流程'回调,我尝试多次运行AudioUnitRender,多个AudioUnit效果(所有类型参数均衡器)。

status = AudioUnitRender(audioUnit, 0, &audioTimeStamp, 0, (UInt32)numberFrames, bufferListInOut);

通过任何超过1个AudioUnitRender调用,音频会跳过并切断。

如何一次使用多个参数均衡器效果?

由于

1 个答案:

答案 0 :(得分:1)

我仍然不确定故障的原因是什么,但我找到了解决方案,这可能是AUGraph内部所做的。

诀窍是从前一个AU的渲染回调函数中调用下一个AU的[ ][;9][10][ ] [10][ ][X ][Y ] [10][ ][X2][Y2] [ ][;9][20][ ] [20][ ][X3][Y3] [20][ ][X4][Y4] [20][ ][X5][Y5] [ ][;9][43][ ] [43][ ][X6][Y7] 。最后一个渲染回调调用AudioUnitRender()。假设你的所有AU都有一个渲染回调,假设你有一个包含你创建的所有AU的数组:

MTAudioProcessingTapGetSourceAudio()