audio tracks(音轨)

音轨是HTML5 video的功能,用于向用户提供替代音轨之外的其它选择,以便可以播放除主音轨之外的其他音轨。Video.js提供跨浏览器的音轨实现。


注意事项

无法像使用文本轨道一样通过HTML添加音频轨道,必须以编程方式添加它们。

video.js只是加载音轨,切换音轨并且播放不是由video.js处理,必须在其它地方处理。比如 可以使用videojs-contrib-hls处理切换音轨,并通过UI选择音轨进行播放。


使用音轨

播放器添加音轨。

// 创建一个播放器
var player = videojs('my-player');

// 创建一个音轨对象
var track = new videojs.AudioTrack({
  id: 'my-spanish-audio-track',
  kind: 'translation',
  label: 'Spanish',
  language: 'es'
});

// 添加音轨到播放器的音轨列表中
player.audioTracks().addTrack(track);

监听已启用的音轨

当在AudioTrackList上启用或禁用一个音轨时,会触发一个change事件,您可以监听该事件并对其进行处理。

注意:初始AudioTrack选择(通常是选定的主音轨)不应该触发change事件。

// 获取当前播放器的AudioTrackList对象
var audioTrackList = player.audioTracks();

// 监听change事件
audioTrackList.addEventListener('change', function() {

  // 记录当前启用的音轨标签
  for (var i = 0; i < audioTrackList.length; i++) {
    var track = audioTrackList[i];

    if (track.enabled) {
      videojs.log(track.label);
      return;
    }
  }
});

删除播放器中的一个音轨

如果播放器中有一个你想删除的音轨,那么你可以按照如下的方法删除。

// 获取我们在前面例子中创建的音轨
var track = player.audioTracks().getTrackById('my-spanish-audio-track');

// 然后删除它
player.audioTracks().removeTrack(track);
上一篇:angular 下一篇:component(组件)