I have an audioengine that takes a number of playernodes as input and chains them through the mixer for output.
//micInputNode = engine.inputNode
//guard let micInputNode = micInputNode else { return }
// 2
engine.attach(musicPlayer)
engine.attach(drumsPlayer)
engine.attach(clickPlayer)
engine.attach(tambPlayer)
engine.attach(shufflePlayer)
engine.attach(rateEffect)
engine.attach(reverb)
engine.connect(musicPlayer, to: engine.mainMixerNode, format: audioFormat)
engine.connect(drumsPlayer, to: engine.mainMixerNode, format: audioFormat)
engine.connect(clickPlayer, to: engine.mainMixerNode, format: audioFormat)
engine.connect(tambPlayer, to: engine.mainMixerNode, format: audioFormat)
engine.connect(shufflePlayer, to: engine.mainMixerNode, format: audioFormat)
//engine.connect(micInputNode, to: engine.mainMixerNode, format: audioFormat)
engine.connect(engine.mainMixerNode, to: rateEffect, format: audioFormat)
engine.connect(rateEffect, to: engine.outputNode, format: audioFormat)
engine.connect(engine.mainMixerNode, to: reverb, format: audioFormat)
engine.connect(reverb, to: engine.outputNode, format: audioFormat)
However as soon as I uncomment the micInputNode = engine.inputNode as I want to take input from the Mic, the output volume drops significantly ?
Can anyone explain why or if this is the best way of doing this ?