我们正在使用AVPlayer开发一个音乐应用程序,这是在最后阶段。一切都在轨道上,直到我们开始在iPod均衡器应用效果到当前的歌曲。当我们应用AudioUnitProperty时,我们能够获取内置的均衡器列表,我们不会在歌曲中看到任何效果。
你的宝贵意见将对我们有帮助。你可以在iOS中使用AUGraph
和AudioUnits
来完成各种EQ效果。
基本上,您将在音频的源和输出之间插入效果。您可以使用像多通道混频器的东西有一些控制,或其他,更复杂的音频单元在AUGraph
获得更大的控制音频。使用AudioUnits,如果需要的话,您甚至可以获得缓冲区中的每个音频样本。这将需要您重新编码一些音频处理,但它肯定允许您应用均衡器效果。
你可以使用iPod效果单元,这和iOS在播放音乐时应用这些效果的单元完全相同。这将为您提供最接近的效果声音匹配,因为它完全相同的AudioUnit
。
iPod EQ Audio Unit Description(向下滚动页面)
音频单元子类型的类型定义
iPod EQ单元提供了一组预定义的音调均衡曲线作为出厂预设。通过访问音频单元的kAudioUnitProperty_FactoryPresets属性获得可用的EQ设置数组。然后,您可以通过将其用作kAudioUnitProperty_PresentPreset属性的值来应用设置。
您可以将此单元插入音频源(无论是文件,麦克风输入等)和音频输出(扬声器,耳机等)之间。然后你可以应用任何iPod EQ效果到你的音频。
以下是指定iPod EQ Unit时使用的属性:
kAudioUnitType_Effect
kAudioUnitSubType_AUiPodEQ
kAudioUnitManufacturer_Apple
还有,一定要看看苹果的音频单元托管指南。本页包含许多您需要参考的其他相关文档的链接。
使用MTAudioProcessingTap + AUGraph + AudioUnit可以做到这一点,官方演示AudioTapProcessor向您展示如何使用MTAudioProcessingTap来处理音频数据,然后与AVPlayer结合在它的进程回调中,用AUGraph +AudioUnit