AVAudioPlayer
中有一个选项 numberofloops ,它会重复声音文件达指定的次数。
我必须在AVAudioPlayerNode
中实现这种类型的函数,我发现一个选项只是使用以下代码在循环中无限次循环声音文件
audioPlayerNode.scheduleBuffer(audioFileBuffer,atTime:nil, 选项:.Loops,completionHandler:nil)
是否可以像AVAudioPlayer
那样在固定次数内重复播放文件?有没有代码示例来实现这个目标?
答案 0 :(得分:0)
我不确定是否有选项可以执行此操作,但您可以通过创建如下的简单函数来实现此目的。
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.
p.s:这几乎就像一个伪代码,只是为了显示逻辑。你必须迅速写出来。