Как использовать функции AVAudioUnit, такие как низкие частоты и задержка по времени, с узлом AVAudioPlayer

#ios #swift #avaudioengine #avaudioplayernode

#iOS #swift #avaudioengine #avaudioplayernode

Вопрос:

Я использую AudioEngine от Apple, и я могу воспроизводить звук с помощью 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)
  

Я хочу, чтобы эффекты управляли звуком плееров.