背景 - Apple の最近の WWDC で公開された次のビデオのリストから、オーディオに効果音を適用するために「AVAudioEngine in Practice」というタイトルのビデオを見ました。 https://developer.apple.com/videos/wwdc/2014/
その後、次のコードでオーディオのピッチを変更することに成功しました。
//Audio Engine is initialized in viewDidLoad()
audioEngine = AVAudioEngine()
//The following Action is called on clicking a button
@IBAction func chipmunkPlayback(sender: UIButton) {
var pitchPlayer = AVAudioPlayerNode()
var timePitch = AVAudioUnitTimePitch()
timePitch.pitch = 1000
audioEngine.attachNode(pitchPlayer)
audioEngine.attachNode(timePitch)
audioEngine.connect(pitchPlayer, to: timePitch, format: myAudioFile.processingFormat)
audioEngine.connect(timePitch, to: audioEngine.outputNode, format: myAudioFile.processingFormat)
pitchPlayer.scheduleFile(myAudioFile, atTime: nil, completionHandler: nil)
audioEngine.startAndReturnError(&er)
pitchPlayer.play()
}
私が理解していることから、AudioEngine を使用して AudioPlayerNode を AudioEffect にアタッチし、それを出力にアタッチしました。
オーディオに複数の効果音を追加することに興味があります。たとえば、ピッチ変更とリバーブ。オーディオに複数の効果音を追加するにはどうすればよいですか?
また、ここで IBAction で行った方法ではなく、 viewDidLoad でノードをアタッチして接続することは理にかなっていますか?