Firefox указывает текущее окно для потоковой передачи с getUserMedia

1

В firefox я могу запросить видеопоток окна с помощью

navigator.mediaDevices.getUserMedia({
    video: {
      mediaSource: 'window',
    },
})

Появится диалоговое окно:

Изображение 174551

Меня беспокоит только текущее окно. Есть ли способ указать в моем вызове getUserMedia что я хотел бы только текущую вкладку (или окно)?

Теги:
firefox
getusermedia

1 ответ

1

Я так не думаю...

То, что FF реализует здесь, пока не определено, но w3c работает над новым API, который позаботится о Screen Capture: MediaDevices.getDisplayMedia.

Хотя это не то, что сделал Firefox, в этом документе есть четкий абзац о том, почему deviceId не может и не будет работать над такими запросами:

Каждый потенциальный источник захвата обрабатывается этим API как дискретный источник медиа. Однако источники захвата экрана НЕ ДОЛЖНЫ перечисляться enumerateDevices, так как это будет показывать слишком много информации о хост-системе.

Поэтому источники захвата изображения не могут быть выбраны с помощью ограничения deviceId, поскольку это позволит приложениям влиять на выбор; set deviceId ограничение может привести к тому, что результирующий MediaStreamTrack станет чрезмерно ограниченным.

Итак, еще раз, даже если FF еще не реализует этот API, мы можем предположить, что они следуют этому же правилу для их текущей реализации по тем же причинам.

Однако, что, по-видимому, можно будет сделать, когда этот API оживет, следует использовать ограничение "browser" вместо "window". Хотя спецификации не совсем ясны относительно того, что это точно ("поверхность экрана браузера или одно окно браузера"), я думаю, это будет ближе к тому, что вы хотите, чем "window", а кто-то даже спросил 2 дня назад для ограничение "tab", можем ли мы даже надеяться на ограничение "текущая вкладка"? Возможно, кому-то понадобится открыть проблему на странице w3c github.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню