UNPKG

1.86 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports.setupAudioTracks = exports.updateAudioTrack = undefined;
5
6var _video = require('video.js');
7
8var _video2 = _interopRequireDefault(_video);
9
10function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12/**
13 * Updates the selected index of the audio track list with the new active track
14 *
15 * @param {Object} tech
16 * The flash tech
17 * @function updateAudioTrack
18 */
19var updateAudioTrack = exports.updateAudioTrack = function updateAudioTrack(tech) {
20 var audioTracks = tech.el_.vjs_getProperty('audioTracks');
21 var vjsAudioTracks = tech.audioTracks();
22 var enabledTrackId = null;
23
24 for (var i = 0; i < vjsAudioTracks.length; i++) {
25 if (vjsAudioTracks[i].enabled) {
26 enabledTrackId = vjsAudioTracks[i].id;
27 break;
28 }
29 }
30
31 if (enabledTrackId === null) {
32 // no tracks enabled, do nothing
33 return;
34 }
35
36 for (var _i = 0; _i < audioTracks.length; _i++) {
37 if (enabledTrackId === audioTracks[_i].title) {
38 tech.el_.vjs_setProperty('audioTrack', _i);
39 return;
40 }
41 }
42};
43
44/**
45 * This adds the videojs audio track to the audio track list
46 *
47 * @param {Object} tech
48 * The flash tech
49 * @function onTrackChanged
50 */
51var setupAudioTracks = exports.setupAudioTracks = function setupAudioTracks(tech) {
52 var altAudioTracks = tech.el_.vjs_getProperty('altAudioTracks');
53 var audioTracks = tech.el_.vjs_getProperty('audioTracks');
54 var enabledIndex = tech.el_.vjs_getProperty('audioTrack');
55
56 audioTracks.forEach(function (track, index) {
57 var altTrack = altAudioTracks[track.id];
58
59 tech.audioTracks().addTrack(new _video2.default.AudioTrack({
60 id: altTrack.name,
61 enabled: enabledIndex === index,
62 language: altTrack.lang,
63 default: altTrack.default_track,
64 label: altTrack.name
65 }));
66 });
67};
\No newline at end of file