如何在AvAudioPlayer节点上使用AvAudiounit功能,例如低通和时间延迟

时间:2019-04-04 14:31:48

标签: ios swift avaudioengine avaudioplayernode

我正在使用Apple的AudioEngine,并且可以使用AvAudioPlayerNode播放声音。问题是当我尝试添加任何功能(例如低通滤波器或什至时间延迟)时,它不会影响播放器。如何使这些效果对AvAudioPlayerNode产生影响。

我创建了不同的单元,并将它们附加到引擎,然后附加到主混音器,但仍然没有成功。我也一直绕过false,仍然没有解决方案。

eqNode = AVAudioUnitEQ(numberOfBands: 1)
eqNode!.bands.first!.filterType = AVAudioUnitEQFilterType.lowPass
eqNode!.bands.first!.frequency = firstSlider.value
eqNode!.bands.first!.bandwidth = secondSlider.value
eqNode!.bands.first!.bypass = false
eqNode!.globalGain = 0
eqNode!.bypass = false

engine.attach(player!)
engine.attach(eqNode!)
engine.connect(player!, to: eqNode!)
engine.connect(eqNode!, to: engine.mainMixerNode)

我也尝试过此方法,但没有解决方法。

engine.connect(eqNode!, to: engine.mainMixerNode)
engine.connect(player!, to: engine.mainMixerNode)

我希望效果可以操纵玩家的声音。

0 个答案:

没有答案