webRTC学习-打开摄像头案例

  1. 初始化button、video控件
  2. 绑定"打开摄像头"响应事件onOpenCamera
  3. .如果要打开摄像头则点击"打开摄像头“按钮,以触发onOpenCamera事件的调用
  4. .当触发onOpenCamera调用时
    a、设置约束条件,即是getUserMedla函数的入参
    b、 getUserMedia有两种情况,一种是正常打开摄像头, 使用handleSuccess处理;一 种是打开摄像头失败, 使用handleError处理
    C、当正常打开摄像头时,则将getUserMedia返向的stream对象赋值给video控件的srcObject即可将视频显示出来
    navigator.mediaDevices: navigator.mediaDevices官网学习地址
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>打开摄像头</title>
</head>
<body>
<video id="local-video" autoplay playsinline></video>
<button id="showVideo">打开摄像头</button>
<p>通过getUserMedia()获取视频</p>

</body>
<script type="text/javascript">
    document.querySelector('#showVideo').addEventListener('click', onOpenCamera);
    //约束条件
    const constraints = {
    
    
        audio: false,
        video: true
    }
    //打开摄像头成功的处理
    const handleSuccess = (stream => {
    
    
        //处理打开摄像头成功
        //获取video组件
        const video = document.querySelector("#local-video")
        video.srcObject = stream
    })
    //    异常处理
    const handleError = (err => {
    
    
        console.error("getUserMedia error:" + err)
    })

    //点击按钮打开摄像头
    function onOpenCamera(e) {
    
    
		navigator.mediaDevices.getUserMedia(constraints).then(handleSuccess).catch(handleError)
    }
</script>
</html>

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fangqi20170515/article/details/129177940