AudioTrack.enabled

AudioTrackenabled プロパティは、記述された音声トラックが現在使用可能かどうかを指定します。 enabledfalse に設定してトラックを無効にすると、トラックはミュートになり、音声は生成されません。

構文

isAudioEnabled = AudioTrack.enabled;

AudioTrack.enabled = true | false;

enabled プロパティは Boolean の値で、トラックが有効な場合は値が true です。 有効なトラックは、メディアの再生中に音声を生成します。 enabledfalse に設定すると、音声トラックが効果的にミュートされ、メディアの音声パフォーマンスに寄与しなくなります。

この例では、メディア要素のメイン音声トラックと解説音声トラックを切り替えます。

function swapCommentaryMain() {
  var videoElem = document.getElementById("main-video");
  var audioTrackMain;
  var audioTrackCommentary;

  videoElem.audioTracks.forEach(track) {
    if (track.kind === "main") {
      audioTrackMain = track;
    } else if (track.kind === "commentary") {
      audioTrackCommentary = track;
    }
  }

  if (audioTrackMain && audioTrackCommentary) {
    var commentaryEnabled = audioTrackCommentary.enabled;
    audioTrackCommentary.enabled = audioTrackMain.enabled;
    audioTrackMain.enabled = commentaryEnabled;
  }
}

上記の swapCommentaryMain() 関数は、<video> 要素の "main-video" の音声トラック内で、kind の値が "main""commentary" である音声トラックを見つけます。 これらはプライマリ音声トラックと解説トラックを表します。

: この例では、動画には各 kind のトラックが1つしかないと想定していますが、必ずしもそうとは限りません。

次に、要素の音声トラックを、JavaScript の forEach() メソッドを使用してスキャンします(メディア要素の audioTracks プロパティは実際には JavaScript の配列ではありませんが、ほとんどの場合は同様にアクセスできます)。

スキャンは、kind の値が "main""commentary" のトラックを探し、それらの AudioTrack オブジェクトを記憶します。 それらが見つかると、2つのトラックの enabled プロパティの値を交換することで、2つのトラックのどちらが現在アクティブになっているかを交換します。

仕様

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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
enabledChrome ? Edge 完全対応 12Firefox ? IE ? Opera ? Safari 完全対応 ありWebView Android ? Chrome Android ? Firefox Android ? Opera Android ? Safari iOS 完全対応 ありSamsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明