我需要通过JavaScript打开网络摄像头
我知道可以通过<video>
访问html5,但需要使用纯JavaScript访问网络摄像头
有人可以帮助我或给我一些想法吗?
我只需要使用JavaScript访问网络摄像头,抱歉我的英文,我正在使用谷歌翻译。
我不能使用标签'&lt;视频&gt;'
答案 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库可以执行此操作。