MediaStream.getAudioTracks()

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

構文

var mediaStreamTracks = mediaStream.getAudioTracks()

引数

なし。

返値

ストリームに含まれる音声トラックである MediaStreamTrack オブジェクトの配列です。音声トラックとは kind プロパティが audio のトラックです。ストリーム内に音声トラックがない場合は、この配列は空になります。

メモ: 返されるトラックの順序は仕様書では定義されておらず、実際、 getAudioTracks() を呼び出すごとに変わる可能性があります。

この API の初期の版では、特別な AudioStreamTrack インターフェイスがあり、音声ストリームのリストに含まれる各項目の型として使用されていましたが、これはその後でメインの MediaStreamTrack インターフェイスに統合されました。

この例では、ウェブカメラの音声と動画を getUserMedia() を使ってストリームとして取得し、そのストリームを <video> 要素に設定します。その後、終了時にストリーム内の最初の音声トラックを停止するタイマーを設定します。

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