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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
getAudioTracks

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.