1

我假设我需要音频单元来执行此操作。AFAIK 在 iOS 上有一个 EQ 音频单元。是否有可以播放音乐文件并实时对其应用 EQ 的框架?

4

2 回答 2

2

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

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

像这样连接它们:

player -> EQ -> RemoteIO

请注意,kAudioUnitSubType_AudioFilePlayer 只能播放原生 Float32、去交错格式的文件。如果要播放压缩文件或其他格式的文件,则需要对其进行转换。

于 2012-11-20T16:41:51.250 回答
1

是的,这绝对是可以做到的,而且没有那么难。您可以使用音频单元,但不这样做要容易得多。您可以使用一个名为novocaine的出色框架,它为您提供了一个基于块的回调,您可以在其中直接实现您的 DSP 算法。

如果您想完全控制音频堆栈,您仍应使用 AudioUnits 进行处理。以我的经验,这很少有必要,而且 novocaine 通常更无痛(因此得名)。

于 2012-11-20T17:03:34.483 回答