html5 视频拍照

这篇博客演示了如何使用HTML5的getUserMedia接口在浏览器中获取摄像头权限并播放视频流。代码示例展示了在Chrome或OperaNext等支持该接口的浏览器中,如何设置事件监听器、请求用户媒体设备,并将视频流显示在网页上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!doctype html>  
<html>  
<head>  
<meta charset="utf-8">  
<title>websocket_TEST</title>  
 
    <script type="text/javascript">
 
  // 注意本例需要在HTTPS协议网站中运行,新版本Chrome中getUserMedia接口在http下不再支持。
// 设置事件监听器
window.addEventListener("DOMContentLoaded", function() {
    if (navigator.mediaDevices === undefined) {
        var div = document.createElement("div");
        div.innerHTML = 'mediaDevices not supported';
        document.body.appendChild(div);
    }

    navigator.getUserMedia = navigator.getUserMedia ||
        navigator.webkitGetUserMedia ||
        navigator.mozGetUserMedia;

    if (navigator.getUserMedia) {
        navigator.getUserMedia({
                audio: true,
                video: {
                    width: 1280,
                    height: 720
                }
            },
            function(stream) {
                var video = document.querySelector('video');
                video.srcObject = stream;
                video.onloadedmetadata = function(e) {
                    video.play();
                };
            },
            function(err) {
                alert("The following error occurred: " + err.name);
            }
        );
    } else {
        var div = document.createElement("div");
        div.innerHTML = 'getUserMedia not supported';
        document.body.appendChild(div);
        alert("getUserMedia not supported");
    }

}, false);
    </script>
</head>
     <body>
<div class="demo-wrapper">

    <h1>HTML5 获取摄像头和视频控制接口</h1>

    <p class="demo-intro">使用Opera Next 或 Chrome Canary,这个页面可以用来自拍。请自行添加自拍逻辑。</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="" playsinline muted></video>
    <button id="snap" class="sexyButton">Snap Photo</button>
    <canvas id="mycanvas" width="640" height="480"></canvas>

</div>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值