H5通过浏览器录制视屏或音频

来源:互联网 发布:淘宝的xbox手柄 编辑:程序博客网 时间:2024/06/08 18:57

webAPI获取摄像头及MIc

MediaRecorder.start()//开始录制命令
MediaRecorder.pause()//暂停录制
MediaRecorder.resume()//继续录制
MediaRecorder.stop()//停止录制

navigator.mediaDevices//获得设备的摄像头
通过getUserMedia获得视屏流或音频流
通过给getUserMedia({audio:true,video:true})传参来选择要获取的信息
*Promise 承诺 许诺*执行-》可以去做-》then()-》then(function(){*    发生的事})* 执行-》不去做-没有然后-catch()-》catch(){* 理由}** 创建Promise 对象的时候 第一个参数(函数)去做的时候去做做的函数-》如果条用第一个参数会执行then里面的回调函数* 创建promise的时候第二个参数不去做的话会调用的=catch里面的回调函数* 
具体实现获得银屏与视屏流的代码如下
navigator.mediaDevices.getUserMedia({audio:true,video:true}).then(function (strem) {    var video=document.querySelector("video");    video.src=URL.createObjectURL(strem);   console.log(strem);});
MediaRecoder方法:

 MediaRecoder:既可以录音频也可以录视频具体录制的是音频还是视频,是根据传入的MediaStream决定是视频还是音频;在创建对象的时候,需要传入媒体流 new MediaRecorder(媒体流对象);

具体代码如下:

navigator.mediaDevices.getUserMedia({audio:true,video:true}).then(function (stream) {    var recorder= new MediaRecorder(stream);    var recorderButton=document.querySelector(".recorderControl");    var video=document.querySelector("video");    video.src=URL.createObjectURL(stream);//把获取的视屏流和音频流放到界面的video容器里    recorderButton.onclick = function () {        this.textContent==="开始录制"?video.play():video.pause();        this.textContent==="开始录制"?recorder.start():recorder.stop();        this.textContent=this.textContent==="开始录制"?"停止":"开始录制";    }    //得到有效数据  收集数据    var buffers=null;    var download=document.querySelector(".download");    recorder.ondataavailable=function (event) {        //收集媒体设备获得到的可以使用的数据        console.log(event.data);        buffers=event.data    }    recorder.onstop=function () {
     //停止录制时触发函数       var url=URL.createObjectURL(buffers);       download.href=url;       buffers=null;    }}).catch(function (error) {    alert(error);//抛出异常错误});

事件:
MediaRecorder.ondataavailable
被称为处理dataavailable事件,可用于抓取记录的媒体(可Blob在事件data属性中作为对象使用)。
MediaRecorder.onerror
一个EventHandler调用来处理该recordingerror事件,包括与媒体记录产生报告错误。这些是致命的错误,停止录制。
MediaRecorder.onpause
被EventHandler调用来处理pause当媒体记录暂停时发生的事件。
MediaRecorder.onresume
被EventHandler调用来处理resume事件,这是当暂停后媒体录制恢复时发生的。
MediaRecorder.onstart
被EventHandler调用来处理start媒体记录开始时发生的事件。
MediaRecorder.onstop
被EventH

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 韩国货物被机场海关扣了怎么办 车管所查不到居住证信息怎么办 高中毕业两年了想考大学怎么办 我买的二手货车营运证是假的怎么办 移民到欧洲国家想去日本怎么办签证 签证要写工作单位如果没有怎么办 办护照时的身份证过期了怎么办 有摩托车驾照想考小车驾照怎么办 分管副局长能直接安排工作吗怎么办 我在北京打工老婆没地方住怎么办 我的车扣了32分怎么办 济南万科地产投诉电话不管用怎么办 买手机被商家欺骗买到合约机怎么办 向消协投诉有用吗?我该怎么办? 我住南开区想办公租房不知怎么办 租房提前退房房东不退押金怎么办 体检时候眼睛有一只是弱视怎么办? b本被扣分9分了怎么办 工作调动后在新单位退休医保怎么办 社保卡和医保卡丢了怎么办 医保卡挂失后又找到了怎么办 医保卡丢失忘了卡号怎么办? 医保卡丢了怎么办又记不住卡号 住院发票丢了医保不给报销怎么办 住院期间被医院丢失了医保卡怎么办 大学时的医保卡毕业后丢了怎么办 用身份证注册的移动卡丢了怎么办 用别人身份证办的卡丢了怎么办 济南医保卡挂失后又找到了怎么办 单位没有给办理医保卡的老人怎么办 单位办的医保卡丢了怎么办 北京退休人员医保卡丢了怎么办 普通发票联丢了医保给报销怎么办 手机买好高铁票身份证丢了怎么办 买了高铁票身份证丢了怎么办 小米手机手电简打开不亮了怎么办 华为p7手机显示屏不亮了怎么办 红米手机3x屏幕不灵怎么办? 乐视1s手机字库坏了怎么办 三星c7手机左右两按钮不亮怎么办 手机摔了一屏碎了下黑屏了怎么办