MediaStream: getAudioTracks() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本使用。自 2017 年 9 月以來,它已在瀏覽器中提供。

MediaStream 介面的 getAudioTracks() 方法返回一個序列,該序列代表此流的 track set 中的所有 MediaStreamTrack 物件,其中 MediaStreamTrack.kindaudio

語法

js
getAudioTracks()

引數

無。

返回值

一個包含 MediaStreamTrack 物件的陣列,每個物件對應流中包含的一個音訊軌道。音訊軌道是那些 kind 屬性為 audio 的軌道。如果流不包含任何音訊軌道,則陣列為空。

注意: 返回的軌道順序並未在規範中定義,實際上,它可能在每次呼叫 getAudioTracks() 時發生變化。

此 API 的早期版本包含一個特殊的 AudioStreamTrack 介面,該介面曾用作音訊流列表中每個條目的型別;然而,該介面後來已合併到主 MediaStreamTrack 介面中。

示例

此示例使用 getUserMedia() 獲取攝像頭流中的音訊和影片,將該流附加到一個 <video> 元素,然後設定一個計時器,該計時器到期後將停止在流中找到的第一個音訊軌道。

js
navigator.mediaDevices
  .getUserMedia({ audio: true, video: true })
  .then((mediaStream) => {
    document.querySelector("video").srcObject = mediaStream;
    // Stop the audio stream after 5 seconds
    setTimeout(() => {
      const tracks = mediaStream.getAudioTracks();
      tracks[0].stop();
    }, 5000);
  });

規範

規範
媒體捕獲和流
# dom-mediastream-getaudiotracks

瀏覽器相容性