Реализовав пару лет назад механизм для сигнализации через сообщение канала данных о том, что удаленный пользователь отключил свое локальное видео (например, для параметра enable установлено значение false), а затем предпринял соответствующие действия на удаленной стороне (например, вместо этого показывал аватар удаленного пользователя) черного видеопотока), я проводил некоторое тестирование функции, не имеющей прямого отношения, которая заставила меня взглянуть на состояния видеодорожек (т. е. видеодорожек в потоке приема однорангового соединения), и я заметил, что Состояние приглушенного звука на удаленном видео иногда колеблется между истиной и ложью (хотя фактических изменений в самом удаленном потоке нет).
Трудно сказать, когда именно это происходит, но кажется, что это МОЖЕТ (не знаю, так ли это на самом деле) коррелирует с отсутствием прикрепления мультимедиа к объекту (например, элементу HTML-видео для воспроизведения) в течение длительного периода времени ( например, 10 секунд), и кажется, что если он подключен в течение короткого периода времени, видеодорожка не показывает состояние приглушенного = истина на принимающей стороне.
Спецификация W3 Media Capture и Streams (см. https://w3c.github.io/mediacapture-main/#track-muted) MediaStreamTrack отключается, когда источник временно не может предоставить дорожку с данными. Пользователь может отключить звук дорожки. Часто это действие находится вне контроля приложения. Это могло произойти в результате нажатия пользователем аппаратного переключателя или переключения элемента управления в операционной системе / браузере Chrome. Трек также может быть отключен пользовательским агентом. Спецификация, похоже, не рассматривает причины этого или возможные причины.
В случае webRTC, может ли кто-нибудь указать, почему удаленный видеопоток, на который ссылается одноранговое соединение webrtc, может показывать отключенное состояние true, когда мультимедиа с удаленного устройства фактически передается. Кроме того, какова может быть практическая ценность или использование состояния отключения звука в удаленном видеопотоке, когда оно фактически отражает не удаленное состояние, а некоторую локальную обработку.
Спасибо за любые мысли по этому поводу.