【okhttp源码使用教程】【棋牌游戏源码编译教程】【看广告抽手机源码】getusermedia源码

2024-11-29 02:51:57 来源:ag蛋蛋平台源码 分类:百科

1.谈谈MediaStream

getusermedia源码

源码okhttp源码使用教程

谈谈MediaStream

源码okhttp源码使用教程

       MediaStream 是连接 WebRTC API 和底层物理流的中间层,webRTC将音视频经过Vocie / Video engine进行处理后,再通过MediaStream API给暴露给上层使用。

源码okhttp源码使用教程

        MediaStreamTrack是WebRTC中的基本媒体单位,一个MediaStreamTrack包含一种媒体源(媒体设备或录制内容)返回的单一类型的媒体(如音频,视频)。单个轨道可包含多个频道,如立体声源尽管由多个音频轨道构成,但也可以看作是一个轨道。

源码okhttp源码使用教程

        WebRTC并不能直接访问或者控制源,对源的一切控制都可以通过轨道控制 MediaTrackConstraints 进行实施。

源码okhttp源码使用教程

        MediaStreamTrack MDN文档

源码okhttp源码使用教程

        MediaTrackConstraints MDN文档

源码okhttp源码使用教程

        MediaStream是MediaStreamTrack的合集,可以包含 >=0 个 MediaStreamTrack。MediaStream能够确保它所包含的所有轨道都是是同时播放的,以及轨道的单一性。

源码okhttp源码使用教程

        MediaStream MDN文档

源码okhttp源码使用教程

        再MediaTrack的源码中,MediaTrack都是由对应的source和sink组成的。

源码okhttp源码使用教程

        浏览器中存在从source到sink的媒体管道,其中source负责生产媒体资源,包括多媒体文件,web资源等静态资源以及麦克风采集的音频,摄像头采集的视频等动态资源。而sink则负责消费source生产媒体资源,也就是通过<img>,<video>,<audio>等媒体标签进行展示,或者是通过RTCPeerConnection将source通过网络传递到远端。RTCPeerConnection可同时扮演source与sink的角色,作为sink,可以将获取的source降低码率,缩放,调整帧率等,然后传递到远端,作为source,将获取的远端码流传递到本地渲染。

源码okhttp源码使用教程

        source 与sink构成一个MediaTrack,多个MeidaTrack构成MediaStram。

源码okhttp源码使用教程

        MediaTrackConstraints 描述MediaTrack的功能以及每个功能可以采用的一个或多个值,从而达到选择和控制源的目的。 MediaTrackConstraints 可作为参数传递给 applyConstraints() 以达到控制轨道属性的目的,同时可以通过调 getConstraints() 用来查看最近应用自定义约束。

源码okhttp源码使用教程

        可将MediaStream对象直接赋值给 HTMLMediaElement 接口的 srcObject 属性。

源码okhttp源码使用教程

        srcObject MDN文档

源码okhttp源码使用教程

        可通过调用 MediaDevices.getUserMedia() 来访问本地媒体,调用该方法后浏览器会提示用户给予使用媒体输入的许可,媒体输入会产生一个 MediaStream ,里面包含了请求的媒体类型的轨道。此流可以包含一个视频轨道(来自硬件或者虚拟视频源,比如相机、视频采集设备和屏幕共享服务等等)、一个音频轨道(同样来自硬件或虚拟音频源,比如麦克风、A/D转换器等等),也可能是其它轨道类型。

源码okhttp源码使用教程

        通过 MediaDevices.enumerateDevices() 我们可以得到一个本机可用的媒体输入和输出设备的列表,例如麦克风,摄像机,耳机设备等。

源码okhttp源码使用教程

        列表中的每个媒体输入都可作为MediaTrackConstraints中对应类型的值,如一个音频设备输入audioDeviceInput可设置为MediaTrackConstraints中audio属性的值

源码okhttp源码使用教程

        将该constraint值作为参数传入到 MediaDevices.getUserMedia(constraints) 中,便可获得该设备的MediaStream。

源码okhttp源码使用教程

        MediaDevices.enumerateDevices() MDN文档

源码okhttp源码使用教程

        MediaDevices.getUserMedia() MDN文档

源码okhttp源码使用教程

        使用 MediaDevices.getDisplayMedia() 方法,可以提示用户去选择和授权捕获展示的内容或部分内容(如一个窗口),并将录制内容在一个 MediaStream 里。

源码okhttp源码使用教程

        MediaDevices.getDisplayMedia() MDN文档

源码okhttp源码使用教程

        使用 HTMLCanvasElement.captureStream() 方法返回的 CanvasCaptureMediaStream 是一个实时捕获的canvas动画流。

源码okhttp源码使用教程

        HTMLCanvasElement.captureStream() MDN文档

源码okhttp源码使用教程

        CanvasCaptureMediaStream MDN文档

源码okhttp源码使用教程

        可通过构造函数 MediaStream() 返回新建的空白的 MediaStream 实例

源码okhttp源码使用教程

        MediaRecorder MDN文档

源码okhttp源码使用教程

更多资讯请点击:百科

热门资讯

meshlab源码分析

2024-11-29 02:172557人浏览

强势飞龙指标源码

2024-11-29 01:30980人浏览

mfc halcon 源码

2024-11-29 01:251599人浏览

强势飞龙指标源码

2024-11-29 00:211512人浏览

推荐资讯

卡屏源码_卡屏的代码

1.电脑经常卡屏电脑经常卡屏 您好,很高兴为您解决问题,如果解决了,è¯

日系樱花源码_樱花frp源码

1.Python 画樱花动态画+飘落效果+暗色效)小白入门必选2.520七夕情人节表白代码~html+css+javascript实现樱花爱心相册「可以拿去送给自己喜欢的人」3.程序设计:C语言樱花树