#javascript #rtcmulticonnection
Вопрос:
Мне нужно снова переключиться с экрана общего доступа на видео. Сначала я использую этот код для совместного использования экрана. подключение.addStream ({ экран: true, oneway: true, обратный вызов потока: функция (экран) { addStreamStopListener (экран, функция () { selectFrontCameraDuringActiveSession (); }); }, })
а затем я использую этот код, чтобы показать видео, которое я снова делаю неправильно.
connection.attachStreams.forEach (function (stream) { // stop only video tracks // so that we can recapture video track stream.getVideoTracks (). forEach (function (track) { track.stop (); }); }); var mediaConstraints = { audio: false, // NO need to capture audio again video: { facingMode: "application", }, }; navigator.mediaDevices .getUserMedia (mediaConstraints) .then (function (frontCamera) { var frontCameraTrack = frontCamera.getVideoTracks () [0]; //video.srcObject = frontCamera; connection.getAllParticipants (). forEach (function (pid) { connection.peers [pid] .peer .getSenders () .forEach (function (sender) { if (sender.track.kind == "video") { sender.replaceTrack (frontCameraTrack); } }); }); app.toggleShareScreen = false; });
Каждый, кто слушает, получает сдачу. но тот, кто передает изменение, не отражается. и, например, выключение видео и активация видео перестают работать.
if (value === false) { connection.attachStreams.forEach (function (stream) { stream.getVideoTracks (). forEach ((t) =gt; (t.enabled = value)); }); } if (value === true) { connection.attachStreams.forEach (function (stream) { stream.getVideoTracks (). forEach ((t) =gt; (t.enabled = value)); }); }