Как изменить / добавить MediaStreamTracks на работающем MediaStream? - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу манипулировать работающим MediaStream, изменяя дорожки на основе выбора пользователя, т. Е. Выбора микрофона.

Здесь https://developer.mozilla.org/en-US/docs/Web/API/MediaStream/addTrack упоминается, что мы можем добавить новую дорожку, но изв API MediaStreamTrack api https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack отсутствует значение конструктора, а также большинство свойств «Только для чтения».Просматривая старые посты, которые ранее были здесь в StackOverflow, я прочитал, что не поддерживается добавление новых треков, а также прочитал, что треки создаются при доступе к getUserMedia() и запуску потока.

Я сделалПрошлой ночью читал, что вы можете добавить несколько видео / аудио потоков (но не пример), но я не уверен, как это настроить и как я могу зацикливаться с тем, как выложен код, то есть

 navigator.mediaDevices.getUserMedia 

      ({

         audio: true,
         video:
         {

            width: { min: 1280, ideal: 1920 },
            height: { min: 720, ideal: 1080 }    
         }

      })

как бы мне выполнить цикл с таким форматом (или как я могу установить формат другим способом, кроме этого), чтобы правильно настроить устройства?Имеет ли смысл иметь несколько видео / аудиодорожек, просто торчащих вокруг?

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

Итак, мои вопросы:

  1. Какие существуют способы / лучший способ изменить MediaStreamTracks во время работы MediaStream?

  2. Можно ли добавлять / удалять треки самостоятельно?Кажется, что треки добавления являются внутренним кодом, но жаль, что методы доступны нам, но кажется, что мы не можем их использовать.Кажется, что removeTracks будет работать на дорожках в MediaStream, просто кажется, что добавление является проблемой.

  3. , если мы не можем добавлять дорожки, я могу просто загрузить все дорожки и изменить ихкак мне угодно, а затем удалить все те, которые не нужны в конце?

Спасибо

...