2

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

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

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

4

1 回答 1

2

scheduleBuffer 文档说“根据任何先前安排的命令安排要播放的缓冲区。”。所以只需安排多次。

extension AVAudioPlayerNode {
    func sceduleBuffer(_ buffer: AVAudioPCMBuffer, numberOfLoops: Int = 1) {
        for _ in 0..<numberOfLoops { scheduleBuffer(buffer, at: nil) }
    }
}
于 2018-06-07T17:07:10.127 回答