如何使用 socket.io 将实时音频从一个客户端流式传输到可能的多个客户端?
我已经可以在同一个选项卡中录制音频并播放音频了。
这是我当前的代码:
$(document).ready(function () {
var socket = io("ws://127.0.0.1:4385");
if (navigator.mediaDevices) {
console.log('getUserMedia supported.');
var constraints = { audio: true };
navigator.mediaDevices.getUserMedia(constraints)
.then(function (stream) {
let ctx = new AudioContext();
let source = ctx.createMediaStreamSource(stream);
let destination = ctx.createMediaStreamDestination();
source.connect(ctx.destination);
})
.catch(function (err) {
console.log('The following error occurred: ' + err);
})
}
});
Run Code Online (Sandbox Code Playgroud)
如何将该音频流发送到我的 socket.io 服务器,然后返回到另一个客户端?
我听说过 WebRTC,但我不想要点对点解决方案,因为如果有多个客户端想要收听音频,这会给客户端带来负担。
无论如何,必须有一种方法来检索原始音频数据,将其发送到我的 socket.io 服务器,该服务器又将其发送回想要收听它的客户端。