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

时间:2013-10-29 04:35:42

标签: html5 html5-audio web-audio

有没有其他方法可以加载webaudioAPI,除了xmlhttprequest ??

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

我希望让我的游戏可以在本地播放而不需要像'file:/// E:/ blablabla'这样的服务器

THX

问候

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用音频API时你的目标是什么?有两件事可以用作来源。首先,您可以使用Source节点,您可以指定192000Hz PCM。如您所知,这是由arraybuffer解码的。.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();

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