gpt4 book ai didi

javascript - 通过 WebSocket 解码音频 block

转载 作者:行者123 更新时间:2023-11-30 17:00:19 25 4
gpt4 key购买 nike

我使用 WebSocket 来流式传输音频文件的 block 。我为 Socket.onmessage 事件定义了一个处理程序,并定义了一个 AudioContext。问题是我在解码音频数据时丢失了 block 。这是我的处理程序:

var socket = new WebSocket('ws://127.0.0.1:8080');
socket.binaryType = 'arraybuffer';
socket.onmessage = function(msg) {
console.log('received'); // printed 29 times
audioctx.decodeAudioData(msg.data, function(buffer) {
console.log('decoded'); // printed 1 time
});
};

我认为它与回调函数的异步性有关,但我不知道如何解决。

最佳答案

decodeAudioData不支持 block 级数据;它需要一个完整的文件(MP3 头,例如,不仅仅是一个 block 开始)。这并不是说它是异步的;而是它是异步的。就是(我相信)它无法解码,因为它只解码了第一个 block ,而所有后续 block 都失败了。

在有更好的解码 api 和渐进式支持之前,您必须引入 JS 解码库。

关于javascript - 通过 WebSocket 解码音频 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999269/

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