У меня лично нет опыта работы с AVAudioEngine
или AVAudioMixerNode
, однако вы можете сделать это с Timer
.
В настоящее время у вас есть audioPlayer.play(at: nil)
, однако, он всегда будет играть сразу после установки этого игрока. То, что я хотел бы сделать или попытаться сделать, это применить к этому какой-то таймер.
var timeAfter = 10
var timer = NSTimer.scheduledTimerWithInterval(timeAfter, target: self, selector: #selector(playAudio), userInfo: audioPlayer, repeats: false)
который заменит
audioPlayer.play(at: nil)
Затем вы добавили бы функцию таймера для воспроизведения аудио.
func playAudio(timer:NSTimer){
var audioPlayer = timer.userInfo as AVAudioPlayerNode
audioPlayer.play()
}