Комментарии 9
// Укажите требования к оборудованию до взаимодействия пользователя:
el.setConstraints({
video: { width: 1280, height: 720 },
audio: { echoCancellation: true }
});Вот это декларативность!
Честно говоря не понял: "создавать более понятные и вызывающие больше доверия интерфейсы". Почему кнопка обернутая в новый usermedia станет понятнее и доверительнее, той же кнопки, но с колбеком, где права запросят?
Интересно, но в статье не хватает главного - обработки ошибок. У getUserMedia() промис отклоняется с конкретным именем ошибки: NotAllowedError, NotFoundError, OverconstrainedError, и на это завязана вся логика UI (показать "нет камеры" или "разрешение отклонено" - разные сценарии). А у элемента usermedia в примере только событие stream. Что происходит, если камеры физически нет или её занял другой процесс? Тоже отдельное событие, или это всё глотается молча и сайт должен сам таймаутом определять зависший запрос?
Недавно выпало работать со звонками, и апи твилио в комбинации с браузерным это тихий ужас.

<usermedia> — новый HTML элемент