【小说漫画 源码】【网站生成源码】【自建源码托管】getusermedia源码

2024-12-29 15:42:39 来源:商店设计源码大全 分类:热点

1.谈谈MediaStream

getusermedia源码

源码小说漫画 源码

谈谈MediaStream

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

        MediaStreamTrack MDN文档

源码小说漫画 源码

        MediaTrackConstraints MDN文档

源码小说漫画 源码

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

源码小说漫画 源码

        MediaStream MDN文档

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

        srcObject MDN文档

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

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

源码小说漫画 源码

        MediaDevices.enumerateDevices() MDN文档

源码小说漫画 源码

        MediaDevices.getUserMedia() MDN文档

源码小说漫画 源码

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

源码小说漫画 源码

        MediaDevices.getDisplayMedia() MDN文档

源码小说漫画 源码

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

源码小说漫画 源码

        HTMLCanvasElement.captureStream() MDN文档

源码小说漫画 源码

        CanvasCaptureMediaStream MDN文档

源码小说漫画 源码

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

源码小说漫画 源码

        MediaRecorder MDN文档

源码小说漫画 源码

更多资讯请点击:热点

推荐资讯

健檢發現3顆大腸瘜肉!其中1顆是第0期 醫見「1生活習慣」:不意外

51歲林先生有長期抽菸史,體型雖然不會太過於肥胖,不過BMI數值換算下來為27.5,已達到肥胖體位。身為業務的他,工作經常加班,覺得平日上班已經太勞累,假日就想好好休息放鬆,常會以吃美食慰勞自己,沒有

花蓮7.2強震,住宅地震基本險初步確定可理賠2550萬元,金管會:考量3點研議保額上修可行性

花蓮強震,住宅地震基本險初步確定可理賠2550萬元中央社)4月3日強震重創花蓮,根據地震基金統計,截至4月8日止,受損保戶達472戶,其中確定達全損理賠標準共15戶,其餘待產險公司勘估。全損戶可領得新

無球團爭取!中職:黃勇傳成為自由球員

統一獅隊15日以「嚴重違反公司內部紀律」,宣布開除選手黃勇傳,當天下午也提出合約讓渡申請,中職賽務部公告後,其他球團可申請取得合約,而今23)天期限截止,期限內無任何球團提出申請,「黃勇傳選手成為自由