AVAudoPlayerNode播放定义次数的声音

时间:2018-06-07 15:57:20

标签: swift avaudioengine avaudioplayernode

AVAudioPlayerNode中是否可以多次循环音频而不是无限次?下面的代码安排音频无限次,而不是说5次。

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

我看起来与AVAudioPlayer类似 numberOfLoops 来定义播放音频的次数。我可以使用AVAudioPlayer,但没有功能可以播放音频。

1 个答案:

答案 0 :(得分:2)

scheduleBuffer文档说“按照以前安排的任何命令调度缓冲区”。所以只需安排多次。

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