HTML5怎样在网页中使用摄像头功能 时间:2013-04-10 19:56 来源:18素材
http://www.18sucai.com/article/550.htm
怎样在网页中使用摄像头,html5越来越多的使用到实际工作中,那么他怎样调用摄像头呢进行视频聊天,视频监控等活动呢,今天为大家抛砖引玉,教大家怎样实现怎样利用html5实现摄像头视频监控功能。废话不多说,接入正题:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> <head> <title>HTML5使用video实现摄像头</title> <meta name="description" content="Access the desktop camera and video using HTML, JavaScript, and Canvas. The camera may be controlled using HTML5 and getUserMedia." /> <style> nav .search { display: none; } .demoFrame header, .demoFrame .footer, .demoFrame h1, .demoFrame .p { display: none !important; } h1 { font-size: 2.6em; } h2, h3 { font-size: 1.7em; } .left { width: 920px !important; padding-bottom: 40px; } div.p { font-size: .8em; font-family: arial; margin-top: -20px; font-style: italic; padding: 10px 0; } .footer { padding: 20px; margin: 20px 0 0 0; background: #f8f8f8; font-weight: bold; font-family: arial; border-top: 1px solid #ccc; } .left > p:first-of-type { background: #ffd987; font-style: italic; padding: 5px 10px; margin-bottom: 40px; } #promoNode { margin: 20px 0; } </style> <style> video { border: 1px solid #ccc; display: block; margin: 0 0 20px 0; } #canvas { margin-top: 20px; border: 1px solid #ccc; display: block; } </style> </head> <body> <!-- Add the HTML header --> <div id="page"> <!-- holds content, will be frequently changed --> <div id="contentHolder"> <!-- start the left section if not the homepage --> <section class="left"> <h1>HTML5使用video控件实现摄像头录像抓图效果</h1> <div class="p">Read <a href="http://davidwalsh.name/browser-camera" target="_top">Camera and Video Control with HTML5</a></div> <div id="promoNode"></div> <p>请使用Opera或Chrome浏览器, 可以在该页面抓图!</p> <!-- Ideally these elements aren”t created until it”s confirmed that the client supports video/camera, but for the sake of illustrating the elements involved, they are created with markup (not JavaScript) --> <video id="video" width="640" height="480" autoplay></video> <button id="snap" class="sexyButton">Snap Photo</button> <canvas id="canvas" width="640" height="480"></canvas> <script> // Put event listeners into place window.addEventListener("DOMContentLoaded", function() { // Grab elements, create settings, etc. var canvas = document.getElementById("canvas"), context = canvas.getContext("2d"), video = document.getElementById("video"), videoObj = { "video": true }, errBack = function(error) { console.log("Video capture error: ", error.code); }; // Put video listeners into place if(navigator.getUserMedia) { // Standard navigator.getUserMedia(videoObj, function(stream) { video.src = stream; video.play(); }, errBack); } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed navigator.webkitGetUserMedia(videoObj, function(stream){ video.src = window.webkitURL.createObjectURL(stream); video.play(); }, errBack); } // Trigger photo take document.getElementById("snap").addEventListener("click", function() { context.drawImage(video, 0, 0, 640, 480); }); }, false); </script> </section> </div> </body> </html>
以上是html5实现摄像头的网站代码,而且可以执行运行,主要使用的就是video控件,然后使用浏览器获取媒体getUserMedia,然后获取到媒体的视频流,使用video的src属性进行输出,然后播放,希望对大家有所帮助。