Видеозвонки с узла js и socket.io - PullRequest
0 голосов
/ 14 ноября 2018

Я разрабатываю приложение для видеовызовов с socket.io узла js, но оказывается, что оно только излучает видео, а звук генерирует эхо только при его излучении, в качестве достижения, что аудио достигает клиента?

(function(d, w, n, io) {
  "use strict";
  var io = io(),
    startCamera = false,
    video = d.querySelector("#video"),
    canvas = d.querySelector("#canvas"),
    context = canvas.getContext("2d");
  n.streaming =
    n.mediaDevices.getUserMedia ||
    n.webkitGetUserMedia ||
    n.mozGetUserMedia ||
    n.msGetUserMedia;
  n.streaming(
    {
      video: true,
      audio: true
    },
    function(stream) {
      startCamera = true;
      video.src = w.URL.createObjectURL(stream);
    },
    function(err) {
      alert("error al acceder a la camara web: " + err);
    }
  );
  w.playVideo = (function(cb) {
    return (
      w.requestAnimationFrame ||
      w.webkitRequestAnimationFrame ||
      w.mozRequestAnimationFrame ||
      w.msRequestAnimationFrame ||
      function(cb) {
        w.setTimeout(cb, 1000 / 100);
      }
    );
  })();
  function streamVideo(context, canvas, video) {
    var outputStream = canvas.toDataURL("image/jpeg", 0.2);
    context.drawImage(video, 0, 0);
    if (startCamera) io.emit("streaming", outputStream);
    playVideo(function() {
      streamVideo(context, canvas, video);
    });
  }
  w.addEventListener("load", function() {
    video.autoplay = true;
    video.style.display = "none";
    streamVideo(context, canvas, video);
  });
})(document, window, navigator, io);

1 Ответ

0 голосов
/ 14 ноября 2018

Не могли бы вы подтвердить, тестируете ли вы приложение для видеозвонков с двумя браузерами в одной системе? Возможно, именно поэтому вы получаете эхо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...