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 に答える