AudioTrack
インターフェイスは、HTML のメディア要素(<audio>
または <video>
)の1つからの単一の音声トラックを表します。 AudioTrack
オブジェクトにアクセスする最も一般的な用途は、トラックをミュートおよびミュート解除するためにその enabled
プロパティを切り替えることです。
プロパティ
enabled
- 音声トラックの音を有効にするかどうかを制御する
Boolean
の値。この値をfalse
に設定すると、トラックの音声がミュートになります。 id
読取専用- メディア内のトラックを一意に識別する
DOMString
。 この ID は、AudioTrackList.getTrackById()
を呼び出すことによって、音声トラックリスト内の特定のトラックを見つけるために使用できます。 メディアが Media Fragments URI 仕様(その日本語訳)に従ってメディアフラグメントによるシークをサポートしている場合は、ID を URL のフラグメント部分として使用することもできます。 kind
読取専用- トラックが属するカテゴリを指定する
DOMString
。 例えば、メイン音声トラックはkind
に"main"
を持ちます。 label
読取専用- トラックに人間が読めるラベルを提供する
DOMString
。 例えば、映画の音声解説トラックには、"監督 John Q. Public と俳優 John Doe と Jane Eod による解説"
というlabel
が付いています。 ラベルが指定されていない場合、この文字列は空です。 language
読取専用- 音声トラックの主要言語を指定する
DOMString
、または不明の場合は空の文字列。 言語は、"en-US"
や"pt-BR"
などの BCP 47(RFC 5646)言語コードで指定されています。 sourceBuffer
読取専用- トラックを作成した
SourceBuffer
。 トラックがSourceBuffer
によって作成されなかった場合、またはSourceBuffer
がその親メディアソースのMediaSource.sourceBuffers
属性から取り除かれた場合は、null を返します。
使用上の注意
特定のメディア要素の AudioTrack
を取得するには、その要素の audioTracks
プロパティを使用します。 このプロパティは、メディアに含まれる個々のトラックを取得できる AudioTrackList
オブジェクトを返します。
var el = document.querySelector("video");
var tracks = el.audioTracks;
その後、配列の構文または forEach()
などの関数を使用して、メディアの個々のトラックにアクセスできます。
この最初の例は、メディア上の最初の音声トラックを取得します。
var firstTrack = tracks[0];
次の例では、メディアのすべての音声トラックをスキャンして、(変数 userLanguage
から取得した)ユーザーの優先言語のものを有効にし、それ以外を無効にします。
tracks.forEach(function(track) {
if (track.language === userLanguage) {
track.enabled = true;
} else {
track.enabled = false;
}
});
language
は標準(RFC 5646)形式です。 例えば、アメリカ英語の場合、これは "en-US"
になります。
例
この例では、指定されたメディア要素の音声トラックを選択するためにユーザーインターフェイスで使用される可能性のあるトラックの kind とラベルの配列を返します。 リストは特定の kind のトラックのみを通過させるようにフィルタされます。
function getTrackList(el) {
var trackList = [];
const wantedKinds = [
"main", "alternative", "main-desc", "translation", "commentary"
];
el.audioTracks.forEach(function(track) {
if (wantedKinds.includes(track.kind)) {
trackList.push({
id: track.id,
kind: track.kind,
label: track.label
});
}
});
return trackList;
}
結果の trackList
には、wantKinds
配列のいずれかの kind
の音声トラックの配列が含まれ、各エントリにはトラックの id
、kind
、label
が含まれます。
仕様
仕様 | 状態 | コメント |
---|---|---|
HTML Living Standard AudioTrack の定義 |
現行の標準 | |
HTML5 AudioTrack の定義 |
勧告 |
ブラウザーの互換性
BCD tables only load in the browser