是否有在iOS上使用自定义实时EQ播放音乐的框架?

时间:2012-11-20 13:05:23

标签: iphone ios ipad core-audio audiounit

我认为我需要音频单元才能这样做。 AFAIK在iOS上有一个EQ音频单元。是否有一个框架可以播放音乐文件并实时应用EQ?

2 个答案:

答案 0 :(得分:2)

我不知道是否有框架。但是你可以构建一个简单的AUGraph音频单元。你需要三个单位:

  • kAudioUnitSubType_RemoteIO - 用于输出
  • kAudioUnitSubType_NBandEQ - EQ
  • kAudioUnitSubType_AudioFilePlayer - 播放文件

像这样连接它们:

player -> EQ -> RemoteIO

请注意,kAudioUnitSubType_AudioFilePlayer只能播放本机Float32,解交织格式的文件。如果你想播放压缩文件或其他格式的文件,你需要转换它们。

答案 1 :(得分:1)

是的,这绝对是可能的,而不是那么困难。你可以使用音频单元,但不容易。您可以使用一个名为novocaine的强大框架,它为您提供基于块的回调,您可以直接实现DSP算法。

如果要完全控制音频堆栈,仍应使用AudioUnits进行处理。根据我的经验,这很少是必要的,而且诺瓦卡因通常更加无痛(因此得名)。