AVAudioPlayerNode (playerNode) と 2 つの AVAudioPCMBuffer (buffer1、buffer2) のセットアップがあります。
また、AVAudioTime (futureTime) を 10 秒間設定しています。
var options: AVAudioPlayerNodeBufferOptions = []
options.insert(.interruptsAtLoop)
options.insert(.loops)
playerNode.scheduleBuffer(buffer1!,
at: futureTime,
options: options,
completionHandler:nil)
上記は、10 秒待ってから buffer1 を再生し、ループで再生し続けます。
次のコードを呼び出します。
playerNode.scheduleBuffer(buffer2!,
at: futureTime,
options: options,
completionHandler:nil)
少なくとも 10 秒待ってから buffer1 の次のループで中断するのではなく、buffer1 の再生を停止し、buffer2 をすぐに開始させています。
指示どおりにループで中断するのではなく、この即時中断を引き起こしている私が間違っていることについてのアイデアはありますか?