gpt4 book ai didi

javascript - 使用JavaScript播放原始音频

转载 作者:行者123 更新时间:2023-12-03 01:38:47 32 4
gpt4 key购买 nike

我有这样的数字流

-0.00015259254737998596,-0.00009155552842799158,0.00009155552842799158,0.00021362956633198035,0.0003662221137119663,0.0003967406231879635,0.00024414807580797754,0.00012207403790398877,0.00012207403790398877,0.00012207403790398877,0.0003357036042359691,0.0003357036042359691,0.00018311105685598315,0.00003051850947599719,0,-0.00012207403790398877,0.00006103701895199438,0.00027466658528397473,0.0003967406231879635,0.0003967406231879635,0.0003967406231879635,0.0003967406231879635,0.0003967406231879635,0.0003662221137119663,0.0004882961516159551,0.0004577776421399579,0.00027466658528397473,0.00003051850947599719,-0.00027466658528397473....

据说代表音频流。我是从 here获得的,并且已经通过网络传输了它们,现在我正在尝试播放实际的声音,并且从 here获得了一个片段,但是我正在获得 Uncaught (in promise) DOMException: Unable to decode audio data
我觉得我想念很多东西,只是希望它能像魔术一样工作,事实并非如此。

我的密码
var ws = new WebSocket("ws://....");
ws.onmessage = function (event) {
playByteArray(event.data);
}

var context = new AudioContext();
function playByteArray(byteArray) {

var arrayBuffer = new ArrayBuffer(byteArray.length);
var bufferView = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.length; i++) {
bufferView[i] = byteArray[i];
}

context.decodeAudioData(arrayBuffer, function (buffer) {
buf = buffer;
play();
});
}

// Play the loaded file
function play() {
// Create a source node from the buffer
var source = context.createBufferSource();
source.buffer = buf;
// Connect to the final output node (the speakers)
source.connect(context.destination);
// Play immediately
source.start(0);
}

和广播部分
var ws = new WebSocket("ws://.....");
window.addEventListener("audioinput", function onAudioInput(evt) {
if (ws) {
ws.send(evt.data);
}
}, false);

audioinput.start({
bufferSize: 8192
});

最佳答案

看起来您正在处理兼容的音频数据格式。链接到的代码用于播放字节数组,在这种情况下,您的音频数据应该是(更长)整数字符串,范围是0到255。

您所拥有的是相当短的(随着音频数据的流逝)一串浮点数。我无法确定应该使用哪种音频格式,但是需要使用其他播放器。

关于javascript - 使用JavaScript播放原始音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49245588/

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