Media Capture and Streams API (Media Stream)

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

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

概念与用法

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

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

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

MediaStream 对象的输出链接到使用者。它可以是媒体元素,如 <audio><video>,WebRTC RTCPeerConnection API,或者 Web Audio APIMediaStreamAudioSourceNode

接口

在这些参考文章中,您将找到关于构成媒体捕获和流 API 的每个接口所需了解的基础信息。

事件

指南和教程

功能、约束和设置 文章讨论了约束功能的概念,以及媒体设置,并包含一个 约束练习器,您可以使用它来试验将不同的约束集应用于来自计算机 A/V 输入设备(如摄像头和麦克风)的音频和视频轨道的后果。

使用 getUserMedia() 拍摄静态照片 文章展示了如何使用 getUserMedia() 访问支持 getUserMedia() 的计算机或手机上的摄像头并用其拍照。

规范

规范
媒体捕获和流
从 DOM 元素捕获媒体

浏览器兼容性

api.MediaStream

api.MediaStreamTrack

api.MediaDevices

api.MediaDeviceInfo

api.InputDeviceInfo

api.CanvasCaptureMediaStreamTrack

另见