Высота и ширина переворачиваются при захвате видео в Chrome на телефоне Android - PullRequest
0 голосов
/ 10 июня 2019

При использовании navigator.mediaDevices.getUserMedia для захвата видео с помощью JavaScript, я замечаю, что Chrome на Android специально устанавливает высоту видео на значение ширины, предоставленное функции getUserMedia.

Пробовал в Chrome на Android и в бесплатном браузере AdBlock (на основе Chromium), только Chrome переворачивал размеры.

html: <video id="video" controls="controls"></video>

js:

let constraintObj = {
            audio: false,
            video: {
                facingMode: "user",
                width: { min: 600, ideal: 600, max: 600 },
                height: { min: 300, ideal: 300, max: 300 }
            }
 };

navigator.mediaDevices.getUserMedia(constraintObj)
            .then(function (mediaStreamObj) {
                //connect the media stream to the first video element
                let video = document.querySelector('#video');
                if ("srcObject" in video) {
                    video.srcObject = mediaStreamObj;
                } else {
                    //old version
                    video.src = 
window.URL.createObjectURL(mediaStreamObj);
                }

                video.onloadedmetadata = function (ev) {
                    //show in the video element what is being captured by the webcam
                    video.play();
                };
            });

Ожидаемый результат: размер элемента видео по ширине 600 и высоте 300

Фактический результат приChrome на телефоне Android: видеоэлемент имеет высоту 600 и ширину 300

...