媒体捕获和流 API (媒体流)

媒体捕获和流 API,通常称为媒体流 API媒体流 API,是与WebRTC相关的 API,它提供对流式传输音频和视频数据的支持。

它提供用于处理流及其组成轨迹、与数据格式相关的约束、异步使用数据时的成功和错误回调以及在过程中触发的事件的接口和方法。

概念和用法

该 API 基于对表示音频或视频相关数据的流的MediaStream 对象的操作。请参阅获取媒体流中的示例。

MediaStream 由零个或多个MediaStreamTrack 对象组成,表示各种音频或视频轨迹。每个 MediaStreamTrack 可以具有一个或多个通道。通道表示媒体流的最小单位,例如与特定扬声器相关的音频信号,如立体声音频轨迹中的

MediaStream 对象具有单个输入和单个输出。由getUserMedia()生成的 MediaStream 对象称为本地对象,其源输入为用户的摄像头或麦克风之一。非本地 MediaStream 可能表示媒体元素,如<video><audio>、通过网络发起的流,并通过 WebRTC RTCPeerConnection API 获取,或使用Web 音频 API MediaStreamAudioDestinationNode 创建的流。

MediaStream 对象的输出与使用者链接。它可以是媒体元素,如<audio><video>、WebRTC RTCPeerConnection API 或Web 音频 API MediaStreamAudioSourceNode

接口

事件

指南和教程

功能、约束和设置文章讨论了约束功能的概念,以及媒体设置,并包括一个约束练习器,它允许您尝试将不同的约束集应用到来自计算机的 A/V 输入设备(例如其网络摄像头和麦克风)的音频和视频轨迹的结果。

使用 getUserMedia() 拍摄静止照片文章展示了如何使用getUserMedia()访问支持 getUserMedia() 的计算机或移动电话上的摄像头,并使用它拍摄照片。

浏览器兼容性

api.MediaStream

BCD 表仅在浏览器中加载

api.MediaStreamTrack

BCD 表仅在浏览器中加载

api.MediaDevices

BCD 表仅在浏览器中加载

api.MediaDeviceInfo

BCD 表仅在浏览器中加载

api.InputDeviceInfo

BCD 表仅在浏览器中加载

api.CanvasCaptureMediaStreamTrack

BCD 表仅在浏览器中加载

另请参阅