如何通过javascript访问网络摄像头

时间:2013-03-14 18:12:11

标签: javascript html5 webcam

我需要通过JavaScript打开网络摄像头 我知道可以通过<video>访问html5,但需要使用纯JavaScript访问网络摄像头

有人可以帮助我或给我一些想法吗?

我只需要使用JavaScript访问网络摄像头,抱歉我的英文,我正在使用谷歌翻译。

我不能使用标签'&lt;视频&gt;'

4 个答案:

答案 0 :(得分:25)

正如我所说的那样,我对你的措辞感到困惑。你说,你知道“HTML5”可以访问网络摄像头,但你需要纯Javascript。

好吧,如果你不知道, HTML5 引入了这样的名为 WebRTC ,它是实时通信的缩写。部分原因是,还引入了一个名为 navigator.getUserMedia() navigator.mediaDevices.getUserMedia(constraints)的新东西。也就是说,ECMAscript对象允许您访问用户计算机 WebCam 麦克风设备。

正如您所看到的,整个节目嵌入在 HTML5 卷展栏/规范中,因此我们无法在此处将Javascript与HTML5分开。

进一步阅读:

答案 1 :(得分:13)

这是一个仅在HTML5后备情况下使用flash的js库:

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>

答案 2 :(得分:3)

this great tutorial from HTML5rocks

基本上,getUserMedia允许浏览器请求权限,然后让您使用相机。

您必须意识到它仍然受到严重支持,并且API可能会再次发生变化,尤其是当您想通过互联网发送这些流时。

答案 3 :(得分:3)

现在有一些javascript库可以执行此操作。