Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Как отладить Promise в последнем Chrome?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Пытаюсь немного модифицировать extension к одному сайту. Скачал его с github добавил в Chrome.

Я в JS не силен, так что сильно не ругайте за описание:

У меня в системе стоит одна хардварная web-камера и одна виртуальня с OBS Studio.

Суть в том что какие бы я настройки не устанавливал в браузере конкретно этот сайт каким то образом задействет только хардверную камеру. Переключить ее тоже нельзя.

Extension работает с navigator.mediaDevices, умеет подменять веб камеру своим MediaStream и например показать картинку вместо этого.

Хочу попробовать как то через плагин получать картинку с виртуальной камеры и рисовать ее.

Для начала хочется посмореть что вообще у нас есть когда работает скрипт плагина.

Есть такой метод: navigator.mediaDevices.enumerateDevices()

Который возвращает Promise (я так понимаю это асинхронный вызов который когда то должен что то там вернуть).

Начал читать как в Chrome все таки получить результат его работы.

Вот тут например:

stackoverflow.com/...​ it were synchronous code.

или тут:

medium.com/...​me-dev-tools-5d777d93847a

Написано что в отладчике Chrome есть такие настройки.

Но у себя я их найти не могу.

Chrome у меня последний: Version 103.0.5060.134 (Official Build) (64-bit)

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Начал читать как в Chrome все таки получить результат его работы.

вбить в консоль await navigator.mediaDevices.enumerateDevices()

Но у себя я их найти не могу.

тот ответ 8 лет назад написан- сейчас оно включено по умолчанию

А Вы случайно не знаете, случайно, каким образом, можно отличть из JS настоящую web камеру от виртуальной? Если, по идее, JS не может выйти за пределы песочницы то никакой другой информации об оборудовании кроме как той который дает Chrome он не имеет. Не понимаю как на этом сайте это реализовано.
И еще такой вопрос: Если у нас есть минимизированные скрипты на странице, можно ли каким то образом (средствами хрома, например), привести их в форматированный вид, с возможностью их отлаживать?

привести их в форматированный вид, с возможностью их отлаживать?

В самом низу панели кода кнопка с {}

каким образом, можно отличть из JS настоящую web камеру от виртуальной?

нынче это не моя парафия, но там как минимум у MediaStreamTrack есть поле label с описанием устройства:
«initialized to source’s label, if provided by the User Agent, or »" otherwise. User Agents MAY label audio and video sources (e.g., «Internal microphone» or «External USB Webcam»)."
w3c.github.io/...​dia.html#mediastreamtrack
developer.mozilla.org/...​/Web/API/MediaStreamTrack
Так что смотреть сорсы раз они есть, пройтись по MediaStream API, сравнить выдачу с устройств, там небось вендорная метка стоит у софтовой камеры, которую и чекают на совпадение с бан листом.

Підписатись на коментарі