AudioTrack

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

AudioTrack インターフェイスは、 HTML のメディア要素(<audio> または <video>)のいずれかにある単一の音声トラックを表します。

AudioTrack オブジェクトにアクセスする最も一般的な用途は、トラックをミュートおよびミュート解除するためにその enabled プロパティを切り替えることです。

プロパティ

enabled

音声トラックの音を有効にするかどうかを制御する論理値です。この値を false に設定すると、トラックの音声がミュートになります。

id 読取専用

メディア内のトラックを一意に識別する文字列です。 この ID は、AudioTrackList.getTrackById() を呼び出すことによって、音声トラックリスト内の特定のトラックを見つけるために使用できます。 メディアがメディアフラグメント仕様書その日本語訳)従ってメディアフラグメントによるシークをサポートしている場合は、ID を URL のフラグメント部分として使用することもできます。

kind 読取専用

トラックが属するカテゴリーを指定する文字列です。 例えば、メイン音声トラックは kind"main" を持ちます。

label 読取専用

トラックに人間が読めるラベルを提供する文字列です。 例えば、映画の音声解説トラックには、"John Q. Public 監督と俳優 John Doe と Jane Eod による解説" という label が付いています。 ラベルが指定されていない場合、この文字列は空です。

language 読取専用

音声トラックの主要言語を指定する文字列で、または不明の場合は空の文字列。 言語は、"en-US""pt-BR" などの BCP 47(RFC 5646)言語コードで指定されています。

sourceBuffer 読取専用

トラックを作成した SourceBuffer。 トラックが SourceBuffer によって作成されなかった場合、または SourceBuffer がその親メディアソースの MediaSource.sourceBuffers 属性から取り除かれた場合は、null を返します。

使用上の注意

特定のメディア要素の AudioTrack を取得するには、その要素の audioTracks プロパティを使用します。 このプロパティは、メディアに含まれる個々のトラックを取得できる AudioTrackList オブジェクトを返します。

js
var el = document.querySelector("video");
var tracks = el.audioTracks;

その後、配列の構文または forEach() などの関数を使用して、メディアの個々のトラックにアクセスできます。

この最初の例は、メディア上の最初の音声トラックを取得します。

js
var firstTrack = tracks[0];

次の例では、メディアのすべての音声トラックをスキャンして、(変数 userLanguage から取得した)ユーザーの優先言語のものを有効にし、それ以外を無効にします。

js
tracks.forEach(function (track) {
  if (track.language === userLanguage) {
    track.enabled = true;
  } else {
    track.enabled = false;
  }
});

language は標準(RFC 5646)形式です。 例えば、アメリカ英語の場合、これは "en-US" になります。

指定されたメディア要素のトラックの種類とラベルの配列を、種類でフィルタリングして取得する方法を示す簡単な例については、 AudioTrack.label を参照してください。

仕様書

Specification
HTML Standard
# audiotrack

ブラウザーの互換性

BCD tables only load in the browser