video-tracks( 视频磁轨)

注意:虽然视频轨道是标准的,但目前没有兼容的实现。这是一项实验技术!

视频轨道是HTML5视频的一项功能,用于向用户提供备用视频轨道,因此他们可以更改他们要观看的视频类型。Video.js提供了跨浏览器的视频轨道实现。


注意事项

  • 无法像使用文本轨道一样通过HTML添加视频轨道。必须以编程方式添加它们。
  • Video.js仅存储轨道表示。Video.js不处理切换视频轨道以进行播放,而必须在其他地方进行处理。


使用视频轨道

将视频轨道添加到播放器

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

// Create a track object.
var track = new videojs.VideoTrack({
  id: 'my-alternate-video-track',
  kind: 'commentary',
  label: 'Director\'s Commentary',
  language: 'en'
});

// Add the track to the player's video track list.
player.videoTracks().addTrack(track);

监听已启用的视频轨道

当在VideoTrackList上启用或禁用某个轨道时,将触发一个更改事件。你可以监听该事件并对其进行处理。

注意:最初的VideoTrack选择(通常是所选的主轨道)不应该触发更改事件。

// Get the current player's VideoTrackList object.
var videoTrackList = player.videoTracks();

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

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

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

从播放器中删除视频轨道

假设某个播放器已经存在并且具有要删除的视频轨道,则可以执行以下操作:

// Get the track we created in an earlier example.
var track = player.videoTracks().getTrackById('my-alternate-video-track');

// Remove it from the video track list.
player.videoTracks().removeTrack(track);


API

有关更完整的信息,请参阅Video.js API文档,尤其是:

  • Player#videoTracks
  • VideoTrackList
  • VideoTrack

videojs.VideoTrack

这个类是基于该VideoTrack标准,可用于创建新的视频轨道对象。

下面的每个属性都可以作为VideoTrack构造方法的选项。

id

标准定义

此曲目的唯一标识符。如果未提供,Video.js将生成一个。

kind

标准定义

Video.js支持以下标准kind值VideoTracks:

  • "alternative":可能替代主音轨。
  • "captions":带有字幕字幕的主要视频轨道
  • "main":主视频轨道。
  • "sign":添加了手语覆盖的主要视频轨道。
  • "subtitles":带有字幕烧录的主要视频轨道。
  • "commentary":收录有评论的主要视频曲目。
  • "" (默认):没有明确的种类,或者用户代理无法识别轨道的元数据给出的种类。

label

标准定义

轨道的标签将显示给用户。例如,在列出了可作为备用视频轨道使用的不同字幕的菜单中。

language

标准定义

视频轨道语言的有效BCP 47代码,例如"en"英语或"es"西班牙语。

有关受支持的语言翻译,请参见Video.js根目录中的language文件夹(/ lang)文件夹,并参阅语言指南以获取有关Video.js中语言的更多信息。

selected

标准定义

是否应播放此曲目。一次只能选择一个视频轨道。



上一篇:troubleshooting(故障排除) 下一篇:videojs(常用函数示例)