このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 2017年9月.

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

ブラウザーの互換性