Media Capture and Streams API (Media Stream)
媒体捕获和流 API,通常称为 媒体流 API 或 MediaStream 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 API 的 MediaStreamAudioSourceNode。
接口
在这些参考文章中,您将找到关于构成媒体捕获和流 API 的每个接口所需了解的基础信息。
事件
指南和教程
功能、约束和设置 文章讨论了约束和功能的概念,以及媒体设置,并包含一个 约束练习器,您可以使用它来试验将不同的约束集应用于来自计算机 A/V 输入设备(如摄像头和麦克风)的音频和视频轨道的后果。
使用 getUserMedia() 拍摄静态照片 文章展示了如何使用 getUserMedia() 访问支持 getUserMedia() 的计算机或手机上的摄像头并用其拍照。
规范
| 规范 |
|---|
| 媒体捕获和流 |
| 从 DOM 元素捕获媒体 |
浏览器兼容性
api.MediaStream
加载中…
api.MediaStreamTrack
加载中…
api.MediaDevices
加载中…
api.MediaDeviceInfo
加载中…
api.InputDeviceInfo
加载中…
api.CanvasCaptureMediaStreamTrack
加载中…
另见
- WebRTC - 该 API 的介绍页面
- 使用 WebRTC 拍摄静态照片:一个关于使用
getUserMedia()的演示和教程。