Webcam.js камера заднего вида не вращается должным образом

#webcam #webcam-capture #webcam.js

#Вебкам #веб-камера-захват #webcam.js

Вопрос:

Я использую Webcam.min.js библиотека для захвата изображения. Когда я использую планшет горизонтально, он работает правильно. Но когда я делаю планшет вертикально, камера не вращается.

Мой код:

 <script type="text/javascript" src="../assets/webcam.min.js"></script>

<h4>Take picture</h4>
<div style="float:left;">
    <div id="my_camera"></div>
    <input type="button" id="snap" value="Take Snapshot" ng-click="ctrl.take_snapshot()">
</div>
<div style="display: inline-block;margin-top: -35px;;margin-left: 30%;;" id="results">Your captured image will appear here...</div>
 

Код скрипта:

 Webcam.set({
        width: 320,
        height: 240,
        image_format: 'jpeg',
        jpeg_quality: 90,
        flip_horiz: true,
        constraints: {
            video: true,
            facingMode: "environment"
        }
});
Webcam.attach( '#my_camera' );

this.take_snapshot= function take_snapshot() {
        // take snapshot and get image data
        Webcam.snap( function(data_uri) {
            // display results in page
            document.getElementById('results').innerHTML = 
                '<h5>Captured on : ' new Date() '</h5>'   
                '<img src="' data_uri '"/>';
                alert(data_uri);
        } );
}
 

Я изо всех сил пытаюсь это исправить. Но не повезло.

Ответ №1:

Я думаю, что у меня есть решение для настройки камеры при использовании мобильного устройства.

Эта navigator.getUserMedia функция устарела, и вместо нее следует использовать более новую MediaDevices.getUserMedia функцию. Ссылка на документы.

в вашем Threex.ArToolkitSource.js файле at строка 143 должна быть изменена на

 var constraints = { video: { 
                   facingMode: "environment"  
                   mandatory: {
                                        maxWidth: _this.parameters.sourceWidth,
                               maxHeight: _this.parameters.sourceHeight
                    }
};
 

И если кто-то хочет вместо этого использовать камеру «селфи», они меняют «окружение» на «пользователь». Вы даже можете сделать кнопку для выбора между двумя.

Однако это может привести к возможному изменению большого количества кода

Комментарии:

1. Спасибо за ответ. Я просто использую Webcam.js не Триекс. ArToolkitSource.js . И ваше решение не работает для меня