使用缓冲区在没有文件的情况下播放HTML5中的javascript音频

时间:2013-11-21 23:29:23

标签: javascript php jquery html5 audio

我正在使用jQuery的ajax方法在服务器上调用一个PHP脚本,它将向我返回一个mp3文件,因此我将数据作为成功函数的变量。现在我想为这个人播放那个音频。我正在使用HTML5,但我见过的每个例子都希望你指向一个有音频的文件。我没有它作为文件,我把它放在内存中。

1 个答案:

答案 0 :(得分:2)

这是让您开始使用Web Audio API的一些方法。 theAjaxResponse应该是来自服务器的二进制mp3响应。

window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();

context.decodeAudioData(theAjaxResponse, function(buffer) {
      var source = context.createBufferSource();
      source.buffer = buffer;
      source.connect(context.destination);
      source.start(0);
}, onError);

这仅适用于支持Web Audio API的现代浏览器。