Проигрывайте звук определенное количество раз в AVAudioPlayerNode в iOS
Есть опция numberofloops в AVAudioPlayer
который повторяет звуковой файл указанное количество раз.
Я должен реализовать этот тип функции в AVAudioPlayerNode
и я нашел возможность просто зациклить звуковой файл в бесконечное количество раз в цикле, используя следующий код
audioPlayerNode.scheduleBuffer (audioFileBuffer, atTime: nil, параметры:.Loops, завершение Handler: nil)
Можно ли повторно воспроизвести файл за фиксированное количество раз, например, как AVAudioPlayer
? Есть ли пример кода для достижения этой цели?
1 ответ
Я не уверен, есть ли возможность сделать это, однако вы можете достичь этого, создав простую функцию, как показано ниже.
func playBuffer(buffer,times) {
for (var i=1;i<=times;i++) {
audioPlayerNode.scheduleBuffer(audioFileBuffer)
}
}
а затем вы вызываете функцию, как это
playBuffer(buffer,3) // to execute three times.
// or
playBuffer(buffer,1) // to execute one time.
PS: это почти как псевдокод, просто чтобы показать логику. Вы должны написать это быстро.