-1

除了 xmlhttprequest 还有其他方法可以加载 webaudioAPI 吗?

似乎 xmlhttprequest 只能与“localhost/blablabla”之类的本地服务器一起玩

我想让我的游戏可以在本地玩,而不需要像 'file:///E:/​​blablabla' 这样的任何服务器端

谢谢

问候

4

2 回答 2

1

好吧,您可以将文件重新编码为 data: URL。

于 2013-10-29T04:56:14.443 回答
0

使用音频 api 时你的目标是什么?有两件事可以用作来源。首先,您可以使用您指定 192000Hz PCM 的 Source 节点。如您所知,这是由.decodeAudioData数组缓冲区解码的。这需要大量的时间和精力。第二种更简单的方法是使用<audio>标签。您可以给它一个 src(即使使用 file:///E:/​​blablabla),它加载速度非常快,或者使用 data-url 指定它(也比context.decodeAudioData.

示例 HTML:

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

示例 JS:

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();

这只是让音频标签播放音频,但是当音频标签连接到源节点时,它会自动静音并将音频发送到音频 api。

于 2014-01-09T09:08:38.240 回答