html5 input int,javascript-HTML5音频API inputBuffer.getChannelData到音频数组缓冲区
我正在制作一个应用程序,要从inputBuffer中获取麦克风数据,我想流式传输到另一个客户端并播放它.但是,我无法唤醒它.我的录制/捕获工作正常,因此我将跳至代码的相关部分function recorderProcess(e) {var left = e.inputBuffer.getChannelData(0);var convert =convertFloat32ToInt16(left..
我正在制作一个应用程序,要从inputBuffer中获取麦克风数据,我想流式传输到另一个客户端并播放它.但是,我无法唤醒它.
我的录制/捕获工作正常,因此我将跳至代码的相关部分
function recorderProcess(e) {
var left = e.inputBuffer.getChannelData(0);
var convert = convertFloat32ToInt16(left);
window.stream.write(convert);
var src = window.URL.createObjectURL(lcm);
playsound(convert);
ss(socket).emit('file',convert, {size: src.size},currentgame);
ss.createBlobReadStream(convert).pipe(window.stream);
//ss.createReadStream(f).pipe(widnow.stream);
}
function playsound(raw) {
console.log("now playing a sound, that starts with", new Uint8Array(raw.slice(0, 10)));
context.decodeAudioData(raw, function (buffer) {
if (!buffer) {
console.error("failed to decode:", "buffer null");
return;
}
var source = context.createBufferSource();
source.buffer = buffer;
source.connect(context.destination);
source.start(0);
console.log("started...");
}, function (error) {
console.error("failed to decode:", error);
});
}
我能够使用float32toint16函数成功创建数组缓冲区,但是当我使用初始化声音函数时,出现错误“ null”,这意味着数组缓冲区将不会解码为音频流?其他人遇到过这个问题吗?我已经搜寻了互联网,但没有答案.我试图以这种方式玩游戏,因为最终我将在客户端之间流式传输,因此我将通过套接字发送arraybufer.
提前致谢.
更多推荐
所有评论(0)