VideoJS-轨道-音频轨道

音频轨道Audio Tracks

音轨允许为视频选择替代音频,可为用户提供备用音轨选择,以便播放主轨之外的音轨。videojs提供了音轨跨浏览器实现。

注意事项
我们无法像使用文本轨道一样通过HTML添加音轨频道,必须以编程方式添加。
videojs只存储轨道描述,切换用于播放的音轨不由Video.js处理,必须在其他地方处理 - 例如, videojs-contrib-hls处理切换音轨以支持通过用户界面选择音轨。

使用音轨

给播放器添加一个音轨:

//Create a player.
var player = videojs('my-player');

//Create a track object
var track = new videojs.AudioTrack({
  id: 'my-spanish-audio-track',
  kind: 'translation',
  lable: 'Spanish',
  language: 'es'
});

// Add the track to the player's audio track list.
player.audioTracks().addTrack(track);

监听音轨可用事件
当在AudioTrackList上启用或禁用轨道时,将会触发change事件,你可以监听这个事件并做一些事情。

注意:初始AudioTrack选项(通常是选定的主轨道)不应触发更改事件。

// Get the current player's AudioTrackList object.
var audioTrackList = player.audioTracks();

// Listen to the "change" event.
audioTrackList.addEventListener('change', function() {

  // Log the currently enabled AudioTrack label.
  for (var i = 0; i < audioTrackList.length; i++) {
    var track = audioTrackList[i];

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

从播放器移除音轨
假设某个播放器已经存在并且您想要删除一个音频轨道,您可能会执行以下操作:

// Get the track we created in an earlier example.
var track = player.audioTracks().getTrackById('my-spanish-audio-track');

// Remove it from the audio track list.
player.audioTracks().removeTrack(track);

videojs.AudioTrack

这个类基于AudioTrack标准,用于创建新的音频轨道对象。

AudioTrack构造器的选项如下:

  • id
    轨道的一个唯一标识,如果没有给出,videojs会自动创建一个。

  • kind
    Video.js支持AudioTracks的标准类型值:
    1、""(default):没有明确的类型,或者用户代理无法识别轨道元数据给出的类型。
    2、"alternative":主轨道的可能替代方案。
    3、"descriptions": 视频轨道的音频描述。
    4、"main": 此视频的主要音轨。
    5、"main-desc": 主音轨,并且混合了音频描述。
    6、"translation": 主音轨的翻译版本。
    7、"commentary": 主要音轨的评论,例如 导演的评论。

  • label
    将向用户显示的轨道标签。 例如,在列出可用作备用音轨的不同语言的菜单中。

  • language
    用于音频轨道语言的有效BCP 47代码,例如, 英语中的“en”或西班牙语中的“es”。
    有关受支持的语言翻译,请参阅Video.js根目录中的语言文件夹(/ lang),并参阅语言指南以获取有关Video.js中语言的更多信息。

  • enabled
    是否应播放此音轨。
    在Video.js中,我们一次只允许启用一个轨道; 因此,如果您启用了多个,则最后一个要启用的将最终成为唯一的一个。 虽然规范允许启用多个轨道,但Safari和大多数实现仅允许一次启用一个音轨。

视频轨道

视频轨道允许选择备用视频内容

你可能感兴趣的:(VideoJS-轨道-音频轨道)