Проблемы воспроизведения нескольких звуков с TheAmazingAudioEngine
Я реализую ударную установку с малой задержкой с помощью инфраструктуры http://theamazingaudioengine.com/. У меня есть сцена с одной кнопкой и viewController
с методами ниже. Этот код работает очень хорошо, если я медленно нажимаю на кнопку. Но если я прикоснусь к нему много раз за короткий промежуток времени, например, 10 раз в секунду, звук не воспроизводится при некоторых касаниях без сообщений об ошибках. Аудио сэмпл короткий (менее 2 секунд).
Почему это происходит? Что не так в моей реализации?
я выбираю TheAmazingAudioEngine
вместо AVAudioPlayer
чтобы получить низкую задержку между касанием и звуком.
override func viewDidLoad() {
super.viewDidLoad()
// Enable multiple touch for the button
for v in view.subviews {
if v.isKindOfClass(UIButton) {
v.multipleTouchEnabled = true
}
}
// Init audio
audioController = AEAudioController(audioDescription: AEAudioController.nonInterleavedFloatStereoAudioDescription())
audioURL = NSBundle.mainBundle().URLForResource("shortSound", withExtension: "wav")!
do {
try audioController?.start()
} catch {
print("AudioController start Error")
}
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
audioController?.stop()
}
@IBAction func playSound(sender: UIButton) {
do {
let player = try AEAudioFilePlayer(URL: audioURL)
player.removeUponFinish = true
audioController?.addChannels([player])
} catch {
print("Player start Error")
}
}