zoukankan      html  css  js  c++  java
  • 前端多媒体-1.获取摄像头&麦克风

    获取视频/音频引言

    因为最近在学习WebRTC,前端就需要学习一下媒体的相关知识.

    MediaDevices.getUserMedia()

    MediaDevice.getUserMedia()与WebRTC相关,欣慰他是通过这组API的门户.提供访问用户本地相机/麦克风媒体流手段
    MediaDevice.getUserMedia()方法提示用户是否允许使用一个视频或音频输入设备,例如相机或屏幕共享或麦克风.如果用户给予许可,就返回一个Promise对象.
    需要注意的是,由于用户不会被要求必须做出允许或者拒绝,所以返回的Promise对象可能既不处罚resolve也不触发reject

    【注意】新版本的视频获取接口要用HTTPS协议,否则会抛出错误,当然现在在本地访问通过 localhost, 127.0.0.1 或者文件协议,都可以正常使用

    定义输出媒体

    使用video组件输出产生的视频(就是一个播放器)

    <style type="text/css"> 
    #video{ 
         320px; 
        height: 180px; 
        background-color: #000000; 
    } 
    </style>  
    <-- autoplay 自动播放 controls视频播放器的控件(暂停播放哪些~) -->
    <video id="video" autoplay="autoplay" controls="controls"></video>

    指定请求的媒体类型和相对应的参数

    var constrains = {
        audio: true,
        video: true
    };

    当然可以指定视频源的一些信息,比如摄像头分辨率,最高,最低,理想的摄像头分辨率,强制使用后置摄像头,采样率.当让你可以使用getSupportedConstraints方法获取,浏览器支持哪些配置

    var constraints = { 
        audio: false, 
        video: { 
             160, 
            height: 90, 
            facingMode: { 
                exact: "environment" 
                }, 
            frameRate: { 
                ideal: 10, 
                max: 15 
                }
            } 
        };

    获取视频源

    navigator.mediaDevices.getUserMedia(contraints).then(function(mediaStream)){
        var video =     document.querySelector('video');
        video.srsObject = mediaStream
        video.onloadedmetadata = function(e) {
            video.play();
        };
        })
        .catch(function(error)) {
            console.log(error);
        });
    
    }




    我会写代码+代码改变世界=我会改变世界! 为什么要改变世界? 如果无法改变世界,那么,世界就会改变我......
  • 相关阅读:
    spider-抓取页面内容
    Zabbix监控
    时间戳转换
    计算机脱域
    查询指定时间内审核失败的事件日志
    spider-抓取网页内容(Beautiful soup)
    Queue
    spider-抓取网页内容
    MyEclipse+Tomcat配置
    Gradle Java Web应用程序并在Tomcat上运行
  • 原文地址:https://www.cnblogs.com/chougoushi/p/13930276.html
Copyright © 2011-2022 走看看