navigator.mediaDevices.getUserMedia() - метод задаёт пользователю запрос на разрешение использовать устройство ввода мультимедиа, которое будет давать MediaStream с дорожками.
Этот стрим может включать видеодорожку (например, с камеры или устройства расшаривания экрана), аудиодорожку, и возможно, дорожки других типов.
Возвращает промис, который успешно завершается с объектом типа MediaStream.
Если пользователь запрещает доступ или медиа недоступно, то промис отклоняется с исключением DOMException с ошибками вроде NotAllowedError, NotFoundError и др.
Промис может вообще не завершиться, если, например, пользователь проигнорирует запрос.
var promise = navigator.mediaDevices.getUserMedia(constraints);constraints - объект параметров типа MediaStreamConstraints, содержит два свойства - audio и video. Обязательно хотя бы один параметр, т.е. можно указать, например, лишь video.
{ audio: true, video: true }
{
audio: true,
video: { width: 1280, height: 720 }
}
{
audio: true,
video: {
width: { min: 1024, ideal: 1280, max: 1920 },
height: { min: 576, ideal: 720, max: 1080 }
}
}
{ audio: true, video: { facingMode: "user" } }