视频轨道Video Tracks
视频音轨是HTML5视频的一个功能,为用户提供可选的视频轨道,这样他们就可以改变我们想要观看的视频类型。Video.js提供了一个跨浏览器的视频轨道实现。
注意事项
*不能够像添加文本轨道那样通过HTML去添加视频轨道,必须以编程方式添加。
2video.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上启用或禁用一个track时,将触发change事件。你可以监听该事件并对做一些事情。
*注意:初始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标准,用于创建新的音频轨道对象。
AudioTrack构造器的选项如下:
id
轨道的一个唯一标识,如果没有给出,videojs会自动创建一个。kind
Video.js支持AudioTracks的标准类型值:
1、""
(default):没有明确的类型,或者用户代理无法识别轨道元数据给出的类型。
2、"alternative"
:主轨道的可能替代方案。
3、"captions"
: 带标题的主视频轨道
4、"main"
: 主视频轨道。
5、"sign"
: 添加手语覆盖的主视频轨道
6、"subtitles"
: 有翻译字幕的主轨道视频
7、"commentary"
: 带评论的主轨道视频label
将向用户显示的轨道标签。 例如,在菜单中列出可用作备用音轨的不同语言。language
用于视频轨道语言的有效BCP 47代码,例如 “ en”代表英语,“ es”代表西班牙语。
有关受支持的语言翻译,请参阅Video.js根目录中的语言文件夹(/ lang),并参阅语言指南以获取有关Video.js中语言的更多信息。selected
轨道是否正在播放,一次只能选择一个视频轨道。