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

另見