Actualización
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
'use strict';
|
||||
|
||||
if (mejs.i18n.ca !== undefined) {
|
||||
mejs.i18n.ca['mejs.speed-rate'] = 'Velocitat';
|
||||
}
|
||||
if (mejs.i18n.cs !== undefined) {
|
||||
mejs.i18n.cs['mejs.speed-rate'] = 'Rychlost';
|
||||
}
|
||||
if (mejs.i18n.de !== undefined) {
|
||||
mejs.i18n.de['mejs.speed-rate'] = 'Geschwindigkeitsrate';
|
||||
}
|
||||
if (mejs.i18n.es !== undefined) {
|
||||
mejs.i18n.es['mejs.speed-rate'] = 'Velocidad';
|
||||
}
|
||||
if (mejs.i18n.fa !== undefined) {
|
||||
mejs.i18n.fa['mejs.speed-rate'] = 'نرخ سرعت';
|
||||
}
|
||||
if (mejs.i18n.fr !== undefined) {
|
||||
mejs.i18n.fr['mejs.speed-rate'] = 'Vitesse';
|
||||
}
|
||||
if (mejs.i18n.hr !== undefined) {
|
||||
mejs.i18n.hr['mejs.speed-rate'] = 'Brzina reprodukcije';
|
||||
}
|
||||
if (mejs.i18n.hu !== undefined) {
|
||||
mejs.i18n.hu['mejs.speed-rate'] = 'Sebesség';
|
||||
}
|
||||
if (mejs.i18n.it !== undefined) {
|
||||
mejs.i18n.it['mejs.speed-rate'] = 'Velocità';
|
||||
}
|
||||
if (mejs.i18n.ja !== undefined) {
|
||||
mejs.i18n.ja['mejs.speed-rate'] = '高速';
|
||||
}
|
||||
if (mejs.i18n.ko !== undefined) {
|
||||
mejs.i18n.ko['mejs.speed-rate'] = '속도 속도';
|
||||
}
|
||||
if (mejs.i18n.ms !== undefined) {
|
||||
mejs.i18n.ms['mejs.speed-rate'] = 'Kelajuan';
|
||||
}
|
||||
if (mejs.i18n.nl !== undefined) {
|
||||
mejs.i18n.nl['mejs.speed-rate'] = 'Snelheidsgraad';
|
||||
}
|
||||
if (mejs.i18n.pl !== undefined) {
|
||||
mejs.i18n.pl['mejs.speed-rate'] = 'Prędkość';
|
||||
}
|
||||
if (mejs.i18n.pt !== undefined) {
|
||||
mejs.i18n.pt['mejs.speed-rate'] = 'Taxa de velocidade';
|
||||
}
|
||||
if (mejs.i18n.ro !== undefined) {
|
||||
mejs.i18n.ro['mejs.speed-rate'] = 'Viteză de viteză';
|
||||
}
|
||||
if (mejs.i18n.ru !== undefined) {
|
||||
mejs.i18n.ru['mejs.speed-rate'] = 'Скорость воспроизведения';
|
||||
}
|
||||
if (mejs.i18n.sk !== undefined) {
|
||||
mejs.i18n.sk['mejs.speed-rate'] = 'Rýchlosť';
|
||||
}
|
||||
if (mejs.i18n.sv !== undefined) {
|
||||
mejs.i18n.sv['mejs.speed-rate'] = 'Hastighet';
|
||||
}
|
||||
if (mejs.i18n.tr !== undefined) {
|
||||
mejs.i18n.tr['mejs.speed-rate'] = 'Hız oranı';
|
||||
}
|
||||
if (mejs.i18n.uk !== undefined) {
|
||||
mejs.i18n.uk['mejs.speed-rate'] = 'Швидкість відтворення';
|
||||
}
|
||||
if (mejs.i18n.zh !== undefined) {
|
||||
mejs.i18n.zh['mejs.speed-rate'] = '速度';
|
||||
}
|
||||
if (mejs.i18n['zh-CN'] !== undefined) {
|
||||
mejs.i18n['zh-CN']['mejs.speed-rate'] = '速度';
|
||||
}
|
||||
94
main/inc/lib/javascript/mediaelement/plugins/speed/speed.css
Normal file
94
main/inc/lib/javascript/mediaelement/plugins/speed/speed.css
Normal file
@@ -0,0 +1,94 @@
|
||||
.mejs__speed-button,
|
||||
.mejs-speed-button {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs__speed-button > button,
|
||||
.mejs-speed-button > button {
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
font-size: 11px;
|
||||
line-height: normal;
|
||||
margin: 11px 0 0;
|
||||
width: 36px;
|
||||
}
|
||||
|
||||
.mejs__speed-selector,
|
||||
.mejs-speed-selector {
|
||||
background: rgba(50, 50, 50, 0.7);
|
||||
border: solid 1px transparent;
|
||||
border-radius: 0;
|
||||
height: 150px;
|
||||
left: -10px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: -100px;
|
||||
visibility: hidden;
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.mejs__speed-selector,
|
||||
.mejs-speed-selector {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.mejs__speed-selector-list,
|
||||
.mejs-speed-selector-list {
|
||||
display: block;
|
||||
list-style-type: none !important;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs__speed-selector-list-item,
|
||||
.mejs-speed-selector-list-item {
|
||||
color: #fff;
|
||||
display: block;
|
||||
list-style-type: none !important;
|
||||
margin: 0 0 6px;
|
||||
overflow: hidden;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.mejs__speed-selector-list-item:hover,
|
||||
.mejs-speed-selector-list-item:hover {
|
||||
background-color: rgb(200, 200, 200) !important;
|
||||
background-color: rgba(255, 255, 255, 0.4) !important;
|
||||
}
|
||||
|
||||
.mejs__speed-selector-input,
|
||||
.mejs-speed-selector-input {
|
||||
clear: both;
|
||||
float: left;
|
||||
left: -1000px;
|
||||
margin: 3px 3px 0 5px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mejs__speed-selector-label,
|
||||
.mejs-speed-selector-label {
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
font-size: 11px;
|
||||
line-height: 15px;
|
||||
margin-left: 5px;
|
||||
padding: 4px 0 0;
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.mejs__speed-selected,
|
||||
.mejs-speed-selected {
|
||||
color: rgba(33, 248, 248, 1);
|
||||
}
|
||||
|
||||
.mejs__speed-selector,
|
||||
.mejs-speed-selector {
|
||||
visibility: hidden;
|
||||
}
|
||||
.mejs__speed-button:hover .mejs__speed-selector,
|
||||
.mejs-speed-button:hover .mejs-speed-selector {
|
||||
visibility: visible;
|
||||
}
|
||||
200
main/inc/lib/javascript/mediaelement/plugins/speed/speed.js
Normal file
200
main/inc/lib/javascript/mediaelement/plugins/speed/speed.js
Normal file
@@ -0,0 +1,200 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
|
||||
mejs.i18n.en['mejs.speed-rate'] = 'Speed Rate';
|
||||
|
||||
Object.assign(mejs.MepDefaults, {
|
||||
speeds: ['2.00', '1.50', '1.25', '1.00', '0.75'],
|
||||
|
||||
defaultSpeed: '1.00',
|
||||
|
||||
speedChar: 'x',
|
||||
|
||||
speedText: null
|
||||
});
|
||||
|
||||
Object.assign(MediaElementPlayer.prototype, {
|
||||
buildspeed: function buildspeed(player, controls, layers, media) {
|
||||
var t = this,
|
||||
isNative = t.media.rendererName !== null && /(native|html5)/i.test(t.media.rendererName);
|
||||
|
||||
if (!isNative) {
|
||||
return;
|
||||
}
|
||||
|
||||
var speeds = [],
|
||||
speedTitle = mejs.Utils.isString(t.options.speedText) ? t.options.speedText : mejs.i18n.t('mejs.speed-rate'),
|
||||
getSpeedNameFromValue = function getSpeedNameFromValue(value) {
|
||||
for (var i = 0, total = speeds.length; i < total; i++) {
|
||||
if (speeds[i].value === value) {
|
||||
return speeds[i].name;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var playbackSpeed = void 0,
|
||||
defaultInArray = false;
|
||||
|
||||
for (var i = 0, total = t.options.speeds.length; i < total; i++) {
|
||||
var s = t.options.speeds[i];
|
||||
|
||||
if (typeof s === 'string') {
|
||||
speeds.push({
|
||||
name: '' + s + t.options.speedChar,
|
||||
value: s
|
||||
});
|
||||
|
||||
if (s === t.options.defaultSpeed) {
|
||||
defaultInArray = true;
|
||||
}
|
||||
} else {
|
||||
speeds.push(s);
|
||||
if (s.value === t.options.defaultSpeed) {
|
||||
defaultInArray = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!defaultInArray) {
|
||||
speeds.push({
|
||||
name: t.options.defaultSpeed + t.options.speedChar,
|
||||
value: t.options.defaultSpeed
|
||||
});
|
||||
}
|
||||
|
||||
speeds.sort(function (a, b) {
|
||||
return parseFloat(b.value) - parseFloat(a.value);
|
||||
});
|
||||
|
||||
t.cleanspeed(player);
|
||||
|
||||
player.speedButton = document.createElement('div');
|
||||
player.speedButton.className = t.options.classPrefix + 'button ' + t.options.classPrefix + 'speed-button';
|
||||
player.speedButton.innerHTML = '<button type="button" aria-controls="' + t.id + '" title="' + speedTitle + '" ' + ('aria-label="' + speedTitle + '" tabindex="0">' + getSpeedNameFromValue(t.options.defaultSpeed) + '</button>') + ('<div class="' + t.options.classPrefix + 'speed-selector ' + t.options.classPrefix + 'offscreen">') + ('<ul class="' + t.options.classPrefix + 'speed-selector-list"></ul>') + '</div>';
|
||||
|
||||
t.addControlElement(player.speedButton, 'speed');
|
||||
|
||||
for (var _i = 0, _total = speeds.length; _i < _total; _i++) {
|
||||
|
||||
var inputId = t.id + '-speed-' + speeds[_i].value;
|
||||
|
||||
player.speedButton.querySelector('ul').innerHTML += '<li class="' + t.options.classPrefix + 'speed-selector-list-item">' + ('<input class="' + t.options.classPrefix + 'speed-selector-input" type="radio" name="' + t.id + '_speed"') + ('disabled="disabled" value="' + speeds[_i].value + '" id="' + inputId + '" ') + ((speeds[_i].value === t.options.defaultSpeed ? ' checked="checked"' : '') + '/>') + ('<label for="' + inputId + '" class="' + t.options.classPrefix + 'speed-selector-label') + ((speeds[_i].value === t.options.defaultSpeed ? ' ' + t.options.classPrefix + 'speed-selected' : '') + '">') + (speeds[_i].name + '</label>') + '</li>';
|
||||
}
|
||||
|
||||
playbackSpeed = t.options.defaultSpeed;
|
||||
|
||||
player.speedSelector = player.speedButton.querySelector('.' + t.options.classPrefix + 'speed-selector');
|
||||
|
||||
var inEvents = ['mouseenter', 'focusin'],
|
||||
outEvents = ['mouseleave', 'focusout'],
|
||||
radios = player.speedButton.querySelectorAll('input[type="radio"]'),
|
||||
labels = player.speedButton.querySelectorAll('.' + t.options.classPrefix + 'speed-selector-label');
|
||||
|
||||
for (var _i2 = 0, _total2 = inEvents.length; _i2 < _total2; _i2++) {
|
||||
player.speedButton.addEventListener(inEvents[_i2], function () {
|
||||
mejs.Utils.removeClass(player.speedSelector, t.options.classPrefix + 'offscreen');
|
||||
player.speedSelector.style.height = player.speedSelector.querySelector('ul').offsetHeight;
|
||||
player.speedSelector.style.top = -1 * parseFloat(player.speedSelector.offsetHeight) + 'px';
|
||||
});
|
||||
}
|
||||
|
||||
for (var _i3 = 0, _total3 = outEvents.length; _i3 < _total3; _i3++) {
|
||||
player.speedSelector.addEventListener(outEvents[_i3], function () {
|
||||
mejs.Utils.addClass(this, t.options.classPrefix + 'offscreen');
|
||||
});
|
||||
}
|
||||
|
||||
for (var _i4 = 0, _total4 = radios.length; _i4 < _total4; _i4++) {
|
||||
var radio = radios[_i4];
|
||||
radio.disabled = false;
|
||||
radio.addEventListener('click', function () {
|
||||
var self = this,
|
||||
newSpeed = self.value;
|
||||
|
||||
playbackSpeed = newSpeed;
|
||||
media.playbackRate = parseFloat(newSpeed);
|
||||
player.speedButton.querySelector('button').innerHTML = getSpeedNameFromValue(newSpeed);
|
||||
var selected = player.speedButton.querySelectorAll('.' + t.options.classPrefix + 'speed-selected');
|
||||
for (var _i5 = 0, _total5 = selected.length; _i5 < _total5; _i5++) {
|
||||
mejs.Utils.removeClass(selected[_i5], t.options.classPrefix + 'speed-selected');
|
||||
}
|
||||
|
||||
self.checked = true;
|
||||
var siblings = mejs.Utils.siblings(self, function (el) {
|
||||
return mejs.Utils.hasClass(el, t.options.classPrefix + 'speed-selector-label');
|
||||
});
|
||||
for (var j = 0, _total6 = siblings.length; j < _total6; j++) {
|
||||
mejs.Utils.addClass(siblings[j], t.options.classPrefix + 'speed-selected');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (var _i6 = 0, _total7 = labels.length; _i6 < _total7; _i6++) {
|
||||
labels[_i6].addEventListener('click', function () {
|
||||
var radio = mejs.Utils.siblings(this, function (el) {
|
||||
return el.tagName === 'INPUT';
|
||||
})[0],
|
||||
event = mejs.Utils.createEvent('click', radio);
|
||||
radio.dispatchEvent(event);
|
||||
});
|
||||
}
|
||||
|
||||
t.options.keyActions.push({
|
||||
keys: [60, 188],
|
||||
action: function action(player, media, key, event) {
|
||||
if (event.key != '<') return;
|
||||
|
||||
for (var _i7 = 0; _i7 < radios.length - 1; _i7++) {
|
||||
if (radios[_i7].checked) {
|
||||
var nextRadio = radios[_i7 + 1];
|
||||
nextRadio.dispatchEvent(mejs.Utils.createEvent('click', nextRadio));
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
keys: [62, 190],
|
||||
action: function action(player, media, key, event) {
|
||||
if (event.key != '>') return;
|
||||
|
||||
for (var _i8 = 1; _i8 < radios.length; _i8++) {
|
||||
if (radios[_i8].checked) {
|
||||
var prevRadio = radios[_i8 - 1];
|
||||
prevRadio.dispatchEvent(mejs.Utils.createEvent('click', prevRadio));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
player.speedSelector.addEventListener('keydown', function (e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
media.addEventListener('loadedmetadata', function () {
|
||||
if (playbackSpeed) {
|
||||
media.playbackRate = parseFloat(playbackSpeed);
|
||||
}
|
||||
});
|
||||
},
|
||||
cleanspeed: function cleanspeed(player) {
|
||||
if (player) {
|
||||
if (player.speedButton) {
|
||||
player.speedButton.parentNode.removeChild(player.speedButton);
|
||||
}
|
||||
if (player.speedSelector) {
|
||||
player.speedSelector.parentNode.removeChild(player.speedSelector);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
},{}]},{},[1]);
|
||||
1
main/inc/lib/javascript/mediaelement/plugins/speed/speed.min.css
vendored
Normal file
1
main/inc/lib/javascript/mediaelement/plugins/speed/speed.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.mejs-speed-button,.mejs__speed-button{position:relative}.mejs-speed-button>button,.mejs__speed-button>button{background:transparent;color:#fff;font-size:11px;line-height:normal;margin:11px 0 0;width:36px}.mejs-speed-selector,.mejs__speed-selector{background:rgba(50,50,50,.7);border:1px solid transparent;border-radius:0;height:150px;left:-10px;overflow:hidden;padding:0;position:absolute;top:-100px;width:60px;visibility:visible}.mejs-speed-selector-list,.mejs__speed-selector-list{display:block;list-style-type:none!important;margin:0;overflow:hidden;padding:0}.mejs-speed-selector-list-item,.mejs__speed-selector-list-item{color:#fff;display:block;list-style-type:none!important;margin:0 0 6px;overflow:hidden;padding:0 10px}.mejs-speed-selector-list-item:hover,.mejs__speed-selector-list-item:hover{background-color:#c8c8c8!important;background-color:hsla(0,0%,100%,.4)!important}.mejs-speed-selector-input,.mejs__speed-selector-input{clear:both;float:left;left:-1000px;margin:3px 3px 0 5px;position:absolute}.mejs-speed-selector-label,.mejs__speed-selector-label{color:#fff;cursor:pointer;float:left;font-size:11px;line-height:15px;margin-left:5px;padding:4px 0 0;width:60px}.mejs-speed-selected,.mejs__speed-selected{color:#21f8f8}.mejs-speed-selector,.mejs__speed-selector{visibility:hidden}.mejs-speed-button:hover .mejs-speed-selector,.mejs__speed-button:hover .mejs__speed-selector{visibility:visible}
|
||||
12
main/inc/lib/javascript/mediaelement/plugins/speed/speed.min.js
vendored
Normal file
12
main/inc/lib/javascript/mediaelement/plugins/speed/speed.min.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/
|
||||
!function r(i,l,a){function d(t,e){if(!l[t]){if(!i[t]){var s="function"==typeof require&&require;if(!e&&s)return s(t,!0);if(p)return p(t,!0);var o=new Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}var n=l[t]={exports:{}};i[t][0].call(n.exports,function(e){return d(i[t][1][e]||e)},n,n.exports,r,i,l,a)}return l[t].exports}for(var p="function"==typeof require&&require,e=0;e<a.length;e++)d(a[e]);return d}({1:[function(e,t,s){"use strict";mejs.i18n.en["mejs.speed-rate"]="Speed Rate",Object.assign(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x",speedText:null}),Object.assign(MediaElementPlayer.prototype,{buildspeed:function(l,e,t,a){var d=this;if(null!==d.media.rendererName&&/(native|html5)/i.test(d.media.rendererName)){for(var o=[],s=mejs.Utils.isString(d.options.speedText)?d.options.speedText:mejs.i18n.t("mejs.speed-rate"),p=function(e){for(var t=0,s=o.length;t<s;t++)if(o[t].value===e)return o[t].name},c=void 0,n=!1,r=0,i=d.options.speeds.length;r<i;r++){var u=d.options.speeds[r];"string"==typeof u?(o.push({name:""+u+d.options.speedChar,value:u}),u===d.options.defaultSpeed&&(n=!0)):(o.push(u),u.value===d.options.defaultSpeed&&(n=!0))}n||o.push({name:d.options.defaultSpeed+d.options.speedChar,value:d.options.defaultSpeed}),o.sort(function(e,t){return parseFloat(t.value)-parseFloat(e.value)}),d.cleanspeed(l),l.speedButton=document.createElement("div"),l.speedButton.className=d.options.classPrefix+"button "+d.options.classPrefix+"speed-button",l.speedButton.innerHTML='<button type="button" aria-controls="'+d.id+'" title="'+s+'" aria-label="'+s+'" tabindex="0">'+p(d.options.defaultSpeed)+'</button><div class="'+d.options.classPrefix+"speed-selector "+d.options.classPrefix+'offscreen"><ul class="'+d.options.classPrefix+'speed-selector-list"></ul></div>',d.addControlElement(l.speedButton,"speed");for(var f=0,v=o.length;f<v;f++){var h=d.id+"-speed-"+o[f].value;l.speedButton.querySelector("ul").innerHTML+='<li class="'+d.options.classPrefix+'speed-selector-list-item"><input class="'+d.options.classPrefix+'speed-selector-input" type="radio" name="'+d.id+'_speed"disabled="disabled" value="'+o[f].value+'" id="'+h+'" '+(o[f].value===d.options.defaultSpeed?' checked="checked"':"")+'/><label for="'+h+'" class="'+d.options.classPrefix+"speed-selector-label"+(o[f].value===d.options.defaultSpeed?" "+d.options.classPrefix+"speed-selected":"")+'">'+o[f].name+"</label></li>"}c=d.options.defaultSpeed,l.speedSelector=l.speedButton.querySelector("."+d.options.classPrefix+"speed-selector");for(var m=["mouseenter","focusin"],S=["mouseleave","focusout"],x=l.speedButton.querySelectorAll('input[type="radio"]'),y=l.speedButton.querySelectorAll("."+d.options.classPrefix+"speed-selector-label"),b=0,g=m.length;b<g;b++)l.speedButton.addEventListener(m[b],function(){mejs.Utils.removeClass(l.speedSelector,d.options.classPrefix+"offscreen"),l.speedSelector.style.height=l.speedSelector.querySelector("ul").offsetHeight,l.speedSelector.style.top=-1*parseFloat(l.speedSelector.offsetHeight)+"px"});for(var P=0,j=S.length;P<j;P++)l.speedSelector.addEventListener(S[P],function(){mejs.Utils.addClass(this,d.options.classPrefix+"offscreen")});for(var k=0,E=x.length;k<E;k++){var B=x[k];B.disabled=!1,B.addEventListener("click",function(){var e=this.value;c=e,a.playbackRate=parseFloat(e),l.speedButton.querySelector("button").innerHTML=p(e);for(var t=l.speedButton.querySelectorAll("."+d.options.classPrefix+"speed-selected"),s=0,o=t.length;s<o;s++)mejs.Utils.removeClass(t[s],d.options.classPrefix+"speed-selected");this.checked=!0;for(var n=mejs.Utils.siblings(this,function(e){return mejs.Utils.hasClass(e,d.options.classPrefix+"speed-selector-label")}),r=0,i=n.length;r<i;r++)mejs.Utils.addClass(n[r],d.options.classPrefix+"speed-selected")})}for(var U=0,C=y.length;U<C;U++)y[U].addEventListener("click",function(){var e=mejs.Utils.siblings(this,function(e){return"INPUT"===e.tagName})[0],t=mejs.Utils.createEvent("click",e);e.dispatchEvent(t)});d.options.keyActions.push({keys:[60,188],action:function(e,t,s,o){if("<"==o.key)for(var n=0;n<x.length-1;n++)if(x[n].checked){var r=x[n+1];r.dispatchEvent(mejs.Utils.createEvent("click",r))}}},{keys:[62,190],action:function(e,t,s,o){if(">"==o.key)for(var n=1;n<x.length;n++)if(x[n].checked){var r=x[n-1];r.dispatchEvent(mejs.Utils.createEvent("click",r))}}}),l.speedSelector.addEventListener("keydown",function(e){e.stopPropagation()}),a.addEventListener("loadedmetadata",function(){c&&(a.playbackRate=parseFloat(c))})}},cleanspeed:function(e){e&&(e.speedButton&&e.speedButton.parentNode.removeChild(e.speedButton),e.speedSelector&&e.speedSelector.parentNode.removeChild(e.speedSelector))}})},{}]},{},[1]);
|
||||
Reference in New Issue
Block a user