Не удается выключить зеленый свет и красный значок в браузере при переключении включенных треков в Mediastream. - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь переключить видеодорожку в медиапотоке в React:

navigator.mediaDevices
    .getUserMedia({ video: !isVideoOn, audio: isAudioOn })
    .then((stream) => {
      videoEl.current.srcObject = stream;
      setIsVideoOn(!isVideoOn); // toggle boolean for video state
      videoEl.current.onloadedmetadata = () => {
        videoEl.current.play();
      };
    }

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

It stays as Camera and Microphone

I've tried toggling the video track using .getVideoTrack() and changing the enabled value, but it is behaving the same, it is toggling the video in the browser while the green light stays on and the red icon remains the same, same as what I described earlier.

However, according to MDN в примечаниях по использованию свет должен выключаться, когда значение enabled является ложным.

Замечания по использованию

Если MediaStreamTrack представляет видеовход с камеры, отключение дорожки путем установки для параметра enabled значения false также обновляет индикаторы активности устройства на показать, что камера в настоящее время не ведет запись или потоковую передачу. Например, зеленый индикатор «используется» рядом с камерой в iMa c и компьютерах MacBook выключается, когда дорожка отключена таким образом.

Что мне не хватает?

...