媒体捕获和流 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
。
接口
在这些参考文章中,您将找到有关构成媒体捕获和流 API 的每个接口所需的基本信息。
事件
指南和教程
功能、约束和设置文章讨论了约束和功能的概念,以及媒体设置,并包括一个约束练习器,它允许您尝试将不同的约束集应用到来自计算机的 A/V 输入设备(例如其网络摄像头和麦克风)的音频和视频轨迹的结果。
使用 getUserMedia() 拍摄静止照片文章展示了如何使用getUserMedia()
访问支持 getUserMedia()
的计算机或移动电话上的摄像头,并使用它拍摄照片。
浏览器兼容性
api.MediaStream
BCD 表仅在浏览器中加载
api.MediaStreamTrack
BCD 表仅在浏览器中加载
api.MediaDevices
BCD 表仅在浏览器中加载
api.MediaDeviceInfo
BCD 表仅在浏览器中加载
api.InputDeviceInfo
BCD 表仅在浏览器中加载
api.CanvasCaptureMediaStreamTrack
BCD 表仅在浏览器中加载
另请参阅
- WebRTC - API 的介绍页面
- 使用 WebRTC 拍摄静止照片:有关使用
getUserMedia()
的演示和教程。