AVAudoPlayerNode для воспроизведения звука определенное количество раз - PullRequest
0 голосов
/ 07 июня 2018

Возможно ли в AVAudioPlayerNode зацикливать звук несколько раз, а не бесконечно?Приведенный ниже код запланировал аудио на бесконечное количество раз вместо того, чтобы сказать 5 раз.

aVAudioPlayerNode.scheduleBuffer(buffer!, at: nil, options: AVAudioPlayerNodeBufferOptions.loops, completionHandler: nil)

Я похож на AVAudioPlayer's как numberOfLoops , чтобы определить, сколько раз воспроизвести аудио,Я мог бы использовать AVAudioPlayer, но нет функции для воспроизведения с высотой звука.

1 Ответ

0 голосов
/ 07 июня 2018

В документации scheduleBuffer написано «Планирование воспроизведения буфера после любых ранее запланированных команд».Так что просто запланируйте это несколько раз.

extension AVAudioPlayerNode {
    func sceduleBuffer(_ buffer: AVAudioPCMBuffer, numberOfLoops: Int = 1) {
        for _ in 0..<numberOfLoops { scheduleBuffer(buffer, at: nil) }
    }
}
...