以 <audio> 作为源的网络音频循环

Web Audio loops with <audio> as source

我知道我可以使用 createMediaElementSource() 使用 Web Audio 操作音频流,但是是否可以使用 Web Audio 播放/循环播放音频并将标签纯粹用于加载音频?

这是我试过的,但它说 start() 不是一个函数:

window.onload = init;
var context;
var bufferLoader;

function init() {
    window.AudioContext = window.AudioContext || window.webkitAudioContext;
    context = new AudioContext();

    var audio = $("audio").get(0);
    var source = context.createMediaElementSource(audio);
    source.connect(context.destination);
    source.start(0);
}

你试试 html 上的“”命令怎么样?
是这样写的:

    <audio controls preload> </li>
    <source src="the/source/in/your/library">
    </audio>

更多信息here

您可以使用 audio.play() 开始播放音频,但您的源是 MediaElementAudioSourceNode,而不是 AudioBufferSourceNode。

如果你找到一种方法来获取音频标签的缓冲区,也许你可以将它传递给 AudioBuffer 并使其工作...

window.onload = init;

function init() {
    window.AudioContext = window.AudioContext || window.webkitAudioContext;

    var context = new AudioContext();

    var audio = $("audio").get(0);

    audio.addEventListener('loadstart', function() {
        var source = context.createMediaElementSource(audio);
        source.connect(context.destination);

        audio.play(0);
    }, false);
}

参考https://github.com/Korilakkuma/XSound/blob/master/build/xsound.dev.js#L9703 in XSound.js