--- title: AudioTrack slug: Web/API/AudioTrack tags: - Audio - AudioTrack - HTML - HTML DOM - Interface - Media - Reference - track translation_of: Web/API/AudioTrack ---
{{APIRef("HTML DOM")}}

AudioTrack インターフェイスは、HTML のメディア要素({{HTMLElement("audio")}} または {{HTMLElement("video")}})の1つからの単一の音声トラックを表します。 AudioTrack オブジェクトにアクセスする最も一般的な用途は、トラックをミュートおよびミュート解除するためにその {{domxref("AudioTrack.enabled", "enabled")}} プロパティを切り替えることです。

プロパティ

{{domxref("AudioTrack.enabled", "enabled")}}
音声トラックの音を有効にするかどうかを制御する Boolean の値。この値を false に設定すると、トラックの音声がミュートになります。
{{domxref("AudioTrack.id", "id")}} {{ReadOnlyInline}}
メディア内のトラックを一意に識別する {{domxref("DOMString")}}。 この ID は、{{domxref("AudioTrackList.getTrackById()")}} を呼び出すことによって、音声トラックリスト内の特定のトラックを見つけるために使用できます。 メディアが Media Fragments URI 仕様その日本語訳)に従ってメディアフラグメントによるシークをサポートしている場合は、ID を URL のフラグメント部分として使用することもできます。
{{domxref("AudioTrack.kind", "kind")}} {{ReadOnlyInline}}
トラックが属するカテゴリを指定する {{domxref("DOMString")}}。 例えば、メイン音声トラックは kind"main" を持ちます。
{{domxref("AudioTrack.label", "label")}} {{ReadOnlyInline}}
トラックに人間が読めるラベルを提供する {{domxref("DOMString")}}。 例えば、映画の音声解説トラックには、"監督 John Q. Public と俳優 John Doe と Jane Eod による解説" という label が付いています。 ラベルが指定されていない場合、この文字列は空です。
{{domxref("AudioTrack.language", "language")}} {{ReadOnlyInline}}
音声トラックの主要言語を指定する {{domxref("DOMString")}}、または不明の場合は空の文字列。 言語は、"en-US""pt-BR" などの BCP 47({{RFC(5646)}})言語コードで指定されています。
{{domxref("AudioTrack.sourceBuffer", "sourceBuffer")}} {{ReadOnlyInline}}
トラックを作成した {{domxref("SourceBuffer")}}。 トラックが {{domxref("SourceBuffer")}} によって作成されなかった場合、または {{domxref("SourceBuffer")}} がその親メディアソースの {{domxref("MediaSource.sourceBuffers")}} 属性から取り除かれた場合は、null を返します。

使用上の注意

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

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

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

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

var firstTrack = tracks[0];

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

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

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

{{page("/ja/docs/Web/API/AudioTrack/label", "Example")}}

仕様

仕様 状態 コメント
{{SpecName('HTML WHATWG', 'media.html#audiotrack', 'AudioTrack')}} {{Spec2('HTML WHATWG')}}  
{{SpecName('HTML5 W3C', 'embedded-content-0.html#audiotrack', 'AudioTrack')}} {{Spec2('HTML5 W3C')}}  

ブラウザーの互換性

{{Compat("api.AudioTrack")}}