Music Ducking
This example plays an audio file and ducks the playback volume based on the user's microphone input.
- Swift
- Kotlin
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()
}
}
import com.synervoz.switchboard.sdk.AudioEngine
import com.synervoz.switchboard.sdk.audiograph.AudioGraph
import com.synervoz.switchboard.sdk.audiographnodes.AudioPlayerNode
import com.synervoz.switchboard.sdk.audiographnodes.AudioDuckingNode
class DuckingExample {
val audioEngine = AudioEngine()
val audioGraph = AudioGraph()
val audioPlayerNode = AudioPlayerNode()
val audioDuckingNode = AudioDuckingNode()
init() {
audioPlayerNode.loadFile("example.mp3")
audioGraph.addNode(audioPlayerNode)
audioGraph.addNode(audioDuckingNode)
audioGraph.connect(audioPlayerNode, audioDuckingNode)
audioGraph.connect(audioGraph.inputNode, audioDuckingNode)
audioGraph.connect(audioDuckingNode, audioGraph.outputNode)
audioEngine.start(audioGraph)
audioPlayerNode.play()
}
}