MediaStream: getAudioTracks() メソッド

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