MediaStream: getAudioTracks() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

getAudioTracks()MediaStream インターフェイスのメソッドで、そのストリームの track set の中から、 MediaStreamTrack.kindaudio である MediaStreamTrack を表すオブジェクトの配列を返します。

構文

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);
  });

仕様書

Specification
Media Capture and Streams
# dom-mediastream-getaudiotracks

ブラウザーの互換性

BCD tables only load in the browser