Skip to main content

Music Ducking

This example plays an audio file and ducks the playback volume based on the user's microphone input.

import SwitchboardSDK

class DuckingExample {

let audioEngine = SBAudioEngine()
let audioGraph = SBAudioGraph()
let audioPlayerNode = SBAudioPlayerNode()
let musicDuckingNode = SBMusicDuckingNode()

init() {
audioPlayerNode.loadFile("example.mp3")
audioGraph.addNode(audioPlayerNode)
audioGraph.addNode(musicDuckingNode)
audioGraph.connect(audioPlayerNode, musicDuckingNode)
audioGraph.connect(audioGraph.inputNode, musicDuckingNode)
audioGraph.connect(musicDuckingNode, audioGraph.outputNode)
audioEngine.start(audioGraph)
audioPlayerNode.play()
}
}