1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

add text track label

This commit is contained in:
Luke Pulverenti 2016-02-23 13:48:26 -05:00
parent 519430417b
commit 3093a14c89
2 changed files with 29 additions and 9 deletions

View file

@ -379,7 +379,11 @@
var currentTrackIndex = -1;
for (var i = 0, length = tracks.length; i < length; i++) {
if (tracks[i].isDefault) {
currentTrackIndex = i;
if (browserInfo.msie) {
currentTrackIndex = i;
} else {
currentTrackIndex = tracks[i].index;
}
break;
}
}
@ -423,7 +427,8 @@
var defaultAttribute = t.isDefault ? ' default' : '';
return '<track kind="subtitles" src="' + t.url + '" srclang="' + t.language + '"' + defaultAttribute + '></track>';
var label = t.language || 'und';
return '<track id="textTrack' + t.index + '" label="' + label + '" kind="subtitles" src="' + t.url + '" srclang="' + t.language + '"' + defaultAttribute + '></track>';
}).join('');
@ -507,15 +512,29 @@
var allTracks = mediaElement.textTracks; // get list of tracks
var modes = ['disabled', 'showing', 'hidden'];
var expectedId = 'textTrack' + trackIndex;
for (var i = 0; i < allTracks.length; i++) {
var currentTrack = allTracks[i];
console.log('currentTrack id: ' + currentTrack.id);
var mode;
if (trackIndex == i) {
mode = 1; // show this track
// IE doesn't support track id
if (browserInfo.msie) {
if (trackIndex == i) {
mode = 1; // show this track
} else {
mode = 0; // hide all other tracks
}
} else {
mode = 0; // hide all other tracks
if (currentTrack.id == expectedId) {
mode = 1; // show this track
} else {
mode = 0; // hide all other tracks
}
}
console.log('Setting track ' + i + ' mode to: ' + mode);
@ -525,14 +544,14 @@
// edit: not anymore
var useNumericMode = false;
if (!isNaN(allTracks[i].mode)) {
if (!isNaN(currentTrack.mode)) {
//useNumericMode = true;
}
if (useNumericMode) {
allTracks[i].mode = mode;
currentTrack.mode = mode;
} else {
allTracks[i].mode = modes[mode];
currentTrack.mode = modes[mode];
}
}
};