Как получить доступ к веб-камере с помощью javascript

Мне нужно открыть веб-камеру через JavaScript Я знаю, что можно получить доступ к html5 с помощью <video>, но вам нужна веб-камера доступа с чистым JavaScript

Может кто-нибудь помочь мне или дать мне некоторые идеи?

Мне нужно только получить доступ к веб-камере с помощью JavaScript и извините за мой английский, я использую переводчик Google.

Я не могу использовать тег '< видео > '

Ответ 1

Как я сказал в качестве комментария, я смущен вашей формулировкой. Вы сказали, что знаете, что "HTML5" может получить доступ к веб-камере, но вам нужно это с помощью чистого Javascript.

Хорошо, если вы не знаете, в HTML5 появился такой WebRTC, который является коротким для Real-Time Communications. В частности, была введена новая вещь под названием navigator.getUserMedia() navigator.mediaDevices.getUserMedia(constraints). То есть объект ECMAscript, который позволяет вам получить доступ к устройствам веб-камеры и микрофонам пользователей.

Как вы можете видеть, все шоу встроено в свиток/спецификацию HTML5, поэтому мы не можем отделять Javascript от HTML5 здесь.

Дальнейшее чтение:

Ответ 2

Вот библиотека js, которая использует флеш-память только в резервной ситуации HTML5:

https://github.com/jhuckaby/webcamjs

Из образцов кода:

<script src="webcam.js"></script>

<div id="my_camera" style="width:320px; height:240px;"></div>
<div id="my_result"></div>

<script language="JavaScript">
    Webcam.attach( '#my_camera' );

    function take_snapshot() {
        Webcam.snap( function(data_uri) {
            document.getElementById('my_result').innerHTML = '<img src="'+data_uri+'"/>';
        } );
    }
</script>

<a href="javascript:void(take_snapshot())">Take Snapshot</a>

Ответ 3

Там этот отличный учебник из HTML5rocks.

В принципе, getUserMedia позволяет браузерам запрашивать разрешение, а затем позволяет использовать камеру.

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