AudioTrack

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 の音声トラックの配列が含まれ、各エントリにはトラックの idkindlabel が含まれます。

仕様

仕様 状態 コメント
HTML Living Standard
AudioTrack の定義
現行の標準  
HTML5
AudioTrack の定義
勧告  

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
AudioTrackChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし
enabledChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし
idChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし
kindChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし
labelChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし
languageChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 完全対応 33
無効
完全対応 33
無効
無効 From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし
sourceBufferChrome 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 79
無効
完全対応 79
無効
無効 From version 79: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
未対応 12 — 79
Firefox 未対応 なしIE 完全対応 10Opera 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari 完全対応 6.1WebView Android 完全対応 45Chrome Android 完全対応 45
無効
完全対応 45
無効
無効 From version 45: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled). To change preferences in Chrome, visit chrome://flags.
Firefox Android 未対応 なしOpera Android 完全対応 32
無効
完全対応 32
無効
無効 From version 32: this feature is behind the enable-experimental-web-platform-features preference (needs to be set to enabled).
Safari iOS 完全対応 7Samsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。