17

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

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

我只需要使用 JavaScript 访问网络摄像头,对不起我的英语,我正在使用谷歌翻译。

我不能使用标签“<视频>”

4

4 回答 4

34

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

好吧,如果你不知道,HTML5引入了WebRTC,它是Real-Time Communications的缩写。其中,还引入了一个名为navigator.getUserMedia() 的新东西navigator.mediaDevices.getUserMedia(constraints)。也就是说,一个 ECMAscript 对象,它允许您访问用户机器WebCamMicrophone设备。

如您所见,整个节目都嵌入在HTML5推出/规范中,因此我们无法在此处真正将 Javascript 与 HTML5 分开。

进一步阅读:

于 2013-03-14T18:17:01.230 回答
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>
于 2015-05-18T16:04:51.960 回答
4

HTML5rocks有这个很棒的教程。

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

您必须意识到它仍然受到严重支持,并且 API 可能会再次更改,特别是如果您想通过 Internet 发送这些流。

于 2013-03-14T18:16:42.897 回答
2

现在有一些 JavaScript 库可以做到这一点。

于 2013-03-14T18:17:41.207 回答