前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >H5录制视频、音频(WebRTC)

H5录制视频、音频(WebRTC)

作者头像
黒之染
发布2018-10-19 14:25:30
5.1K0
发布2018-10-19 14:25:30
举报

使用Navigator.getUserMedia可以做到在主流浏览器中获取用户摄像头数据,麦克风数据,我研究了一下,发现在ios、安卓微信浏览器中都不行。而在安卓6.0.1自带浏览器中可以,iOS Safari不支持,mac Safari不支持,兼容性还是太差,所以还是弃用了。但是我研究的结果还是保存一下,万一以后微信浏览器支持了呢?

以下是我研究的结果:

关于这个api的参数说明: MDN:https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia W3C:http://w3c.github.io/mediacapture-main/#widl-NavigatorUserMedia-getUserMedia-void-MediaStreamConstraints-constraints-NavigatorUserMediaSuccessCallback-successCallback-NavigatorUserMediaErrorCallback-errorCallback

方法需要3个参数:

  1. constraints,指明需要获取什么类型的数据
  2. successCallback, 数据获取成功后回调的方法(只会被调用一次,但是如果把回调时的视频流放到video标签中,视频会实时更新)
  3. errorCallback,接口调用失败后回调的方法

我主要想知道第一个参数里的情况,因为很多国内的教程里都只是这样:{video : true},我还想知道如果要录音频、使用后置摄像头该怎么办。这个问题在https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#Parameters 能找到答案,我复制一下。

constraints

  1. 如果单纯指定需要什么类型的媒体,只要这样就行{ audio: true, video: true },这个表示需要视频和音频。应该也只支持这两种了,我看了MDN和W3c,都没发现第三种
  2. 以下把video参数写成object格式的,在chrome中都会报错Uncaught TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': Malformed constraints object.,然而这些用法真的是MDN和W3C标准,不知道chrome为什么不支持。然而在chrome中有特殊的使用后置摄像头的方法,参考:http://blog.csdn.net/journey191/article/details/40744015,这个参考里的方法我测过,安卓6.0.1的确可以用后置摄像头。
  3. 如果要指定视频的宽高可以这样 { audio: true, video: { width: 1280, height: 720 } }
  4. 还可以用minmax,或者 ideal (即如果支持,就用这个) { audio: true, video: { width: { min: 1024, ideal: 1280, max: 1920 }, height: { min: 776, ideal: 720, max: 1080 } } }
  5. 如果要指定前后摄像头 { audio: true, video: { facingMode: "user" } }//如果有前置摄像头的话使用前置摄像头(我身边的机器都有前置,所以没测试没有的情况) { audio: true, video: { facingMode: { exact: "environment" } } }//如果有后置摄像头的话使用后置
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法需要3个参数:
    • constraints
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档