Я работаю над кодом, чтобы позволить элементу select
на странице выбрать камеру.Камера по умолчанию должна быть камерой «окружающей среды», а остальные должны быть перечислены после.
С помощью следующего вызова я могу транслировать видео с соответствующей камеры с «средой»:
navigator.mediaDevices.getUserMedia({ video: { facingMode: "environment"} }).then(function (stream) {
// display stream on web page
...
});
Аналогично, я могу получить список доступных устройств, используя следующее:
navigator.mediaDevices.enumerateDevices().then(
devices => {
// build list of options
}
);
Я сохраняю deviceId
для каждого параметра и использую его для отображения канала с той камеры, которая работает хорошо.
Однако опция, выбранная по умолчанию, не обязательно является камерой "окружающей среды".И объект потока, возвращаемый из getUserMedia
, кажется, не имеет простого способа определить deviceId
устройства, предоставляющего этот поток.Также я не могу найти какой-либо другой способ определения камеры, "окружающей среды".
Это невозможно или есть какая-то функция getDeviceIdForFacingMode
, которую я только что пропустил?