gpt4 book ai didi

html - 在 html5 中播放 bytearray 中的音乐

转载 作者:太空狗 更新时间:2023-10-29 13:50:30 26 4
gpt4 key购买 nike

有没有办法从字节而不是 HTML 5 中的文件播放音乐?

我需要流式传输音乐字节并现场播放。

最佳答案

请检查一下

  var dogBarkingBuffer = null;
// Fix up prefixing
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();

function loadDogSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';

// Decode asynchronously
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
dogBarkingBuffer = buffer;
}, onError);
}
request.send();
}

音频文件数据是二进制的(不是文本),所以我们将请求的responseType设置为'arraybuffer'。有关 ArrayBuffers 的更多信息,请参阅这篇关于 XHR2 的文章。

一旦接收到(未解码的)音频文件数据,就可以保留它以供以后解码,或者可以使用 AudioContext decodeAudioData() 方法立即解码。此方法获取存储在 request.response 中的音频文件数据的 ArrayBuffer 并对其进行异步解码(不阻塞主 JavaScript 执行线程)。

当 decodeAudioData() 完成时,它会调用一个回调函数,该函数将解码后的 PCM 音频数据作为 AudioBuffer 提供。

这里是引用 ==> HML5 audio

更新:让它在 Firefox 和 chrome 上运行:

context= typeof AudioContext !== 'undefined' ? new AudioContext() : new webkitAudioContext();

代替:

var context = new AudioContext();

关于html - 在 html5 中播放 bytearray 中的音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com