Html webaudioAPI加载声音的其他方法,xmlhttprequest除外

Html webaudioAPI加载声音的其他方法,xmlhttprequest除外,html,html5-audio,web-audio-api,Html,Html5 Audio,Web Audio Api,除了xmlhttprequest之外,还有其他加载webaudioAPI的方法吗 似乎xmlhttprequest只能与“localhost/bla”这样的本地服务器一起使用 我想让我的游戏可以在没有服务器端的情况下本地玩file:///E:/blablabla" thx 考虑到那么,您可以将文件重新编码为数据:URL。使用音频api的目标是什么?有两种东西可以用作源。首先,您可以使用指定为192000Hz PCM的源节点。这是由.decodeAudioData从arraybuffer解码的。这

除了xmlhttprequest之外,还有其他加载webaudioAPI的方法吗

似乎xmlhttprequest只能与“localhost/bla”这样的本地服务器一起使用

我想让我的游戏可以在没有服务器端的情况下本地玩file:///E:/blablabla"

thx


考虑到

那么,您可以将文件重新编码为数据:URL。

使用音频api的目标是什么?有两种东西可以用作源。首先,您可以使用指定为192000Hz PCM的源节点。这是由
.decodeAudioData
从arraybuffer解码的。这需要很多时间和精力。第二种更简单的方法是使用
标记。你可以给它一个src(即使有file:///E:/blablabla),加载速度相当快,或者使用数据url指定(也比
上下文.decodeAudioData
快得多)

HTML示例:

<audio src="E:/blablabla.mp3"></audio>

这只允许音频标签播放音频,但当音频标签连接到sourcenode时,它会自动静音并将音频发送到音频api。

似乎我需要为“audioContext.decodeAudioData”制作自己的arraybuffer,而不使用xmlhttprequest。我想不使用xmlhttprequest将音频文件转换为arraybuffer吗??
window.audiotag = document.getElementsByTagName('audio')[0];
function audioReady() {
    window.AudioContext = window.AudioContext||window.webkitAudioContext;
    context = new AudioContext();
    source = context.createMediaElementSource(audiotag);
    source.connect(context.destination);
    audiotag.play();
}
audiotag.onload = audioReady();