使用 socket.io-stream 从 getUserMedia() 广播流

问题描述

为了改进我的 VoIP 应用程序,我想创建一个实时音频流,所以我成功创建了一个我可以听到的音频流,但现在我需要将流发送到服务器,然后服务器将其重新发送到每个人都在玩。

服务器代码(不工作,导致错误):

  var streamToSend = ss.createStream();
  ss(socket).emit('voice',streamToSend);
  ss(socket).on("voice",function(stream) {
    stream.pipe(streamToSend);
  });

要发送的客户端代码(不工作,导致错误):

if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
  console.log('getUserMedia supported.');
  navigator.mediaDevices.getUserMedia(
    {
      audio: true
    })
    .then(function (streamm) {
      ss(socket).emit('voice',streamm);
    });
} else {
  console.log('getUserMedia not supported on your browser!');
}

要接收的客户端代码(未测试接收):

 ss(socket).on("voice",function(stream) {
   var context = new AudioContext({
     latencyHint: 'interactive',sampleRate: 44100,});
   var source = context.createmediastreamsource(stream);
   source.connect(context.destination);
 });

出于安全考虑,我真的很想使用这种方法(我可以轻松地加密数据)。 我将不胜感激:D

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)