--- title: MediaStream API slug: Web/API/Media_Streams_API tags: - 媒体 - 媒体流API - 视频 - 语音 - 进一步的 - 音频 translation_of: Web/API/Media_Streams_API ---
{{SeeCompatTable}}
媒体流处理API(通常被称为媒体流API或流API)是描述音频或视频数据流的 WebRTC 的一部分,处理它们的方法,与数据类型相关的约束,成功和错误 当异步使用数据时的回调以及在处理期间触发的事件。
这个API是基于操纵一个 MediaStream 对象代表音频或视频相关数据的流量。 通常一个 MediaStream是作为一个简单的URL string 它可以用来引用存储在DOM中的数据 {{domxref("File")}}, 或者一个 {{domxref("Blob")}} 对象建立 {{domxref("window.URL.createObjectURL()")}}, 如视频所描述的。
一个 MediaStream 包含零个或更多的 MediaStreamTrack 对象,代表着各种的声轨和视频轨。 每一个 MediaStreamTrack 可能有一个或更多的通道。这个通道代表着媒体流的最小单元,比如一个音频信号对应着一个对应的扬声器,像是在立体声音轨中的左通道或右通道。
MediaStream 对象有着单一的输入和输出。由 getUserMedia()
创建的 MediaStream 对象是在本地借助用户相机和麦克风的源输入。非本地的 MediaStream
代表了一个媒体元素, 像是{{HTMLElement("video")}} 元素或是 {{HTMLElement("audio")}}元素, 一般是源自网络的流,并通过 WebRTC PeerConnection API 或使用 Web Audio API 获得{{domxref("MediaStreamAudioSourceNode")}} 元素。MediaStream
对象的输出能链接到一个用户。 它可以是一个媒体元素, 像是 <audio>
或者 <video>
, the WebRTC PeerConnection API 或是 Web Audio API {{domxref("MediaStreamAudioDestinationNode")}}。
在这些参考文章中,您将找到构成Media Capture和Streams API的每个接口和事件需要了解的基本信息。
{{ CompatibilityTable() }}
{{Compat("api.MediaStream")}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Stream API | 21{{ property_prefix("webkit") }} | nightly 18{{ property_prefix("moz") }} | {{ CompatUnknown() }} | 12 | {{ CompatUnknown() }} |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Stream API | {{ CompatNo() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatNo() }} | {{ CompatNo() }} |
当前已经支持在Chrome,欧朋,和Firefox Nightly 18 浏览器使用WenRTC获取相机功能 。在Firefox Nightly 中启用WebRTC 需要你在配置中进行设置:
getUserMedia()
的演示