Dart 中的工作音频循环示例

Working Audio Loop Example in Dart

我正在尝试使用 Dart 获取 OGG 文件以使用 HTML5 <audio> 元素进行循环。有没有人有这方面的工作示例。我在循环播放音频时遇到了特别的麻烦。

我无法使用 html5 AudioElement 进行完全控制的循环;有时循环选项根本不起作用,有时有间隙,有时模式会重叠。

我有更好的机会使用像这样的 WebAudio:

source = audioContext.createBufferSource();
source.buffer = buffer;

gainNode = audioContext.createGain();
gainNode.gain.value = 1;

source.connectNode(gainNode);
gainNode.connectNode(audioContext.destination);

// play it now in loop
source.start(audioContext.currentTime);
source.loop = true;

我无法从 html 音频元素加载源缓冲区,这本可以解决我遇到的 CORS 问题。示例是使用 http 请求加载的。

我创建了一个演示使用 AudioElement 本机循环功能和 WebAudio 进行循环的 dartpad 示例

https://dartpad.dartlang.org/879424bca794c63698b0