mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-23 13:51:20 -08:00
修改字幕插件
This commit is contained in:
1 parent
729c734b56
commit
c162d8493b
10 files changed
+140
-100
No files matched your search
@@ -1,68 +1,74 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(factory((global['artplayer-plugin-subtitle'] = {})));
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(factory((global['artplayer-plugin-subtitle'] = {})));
|
||||
}(this, (function (exports) { 'use strict';
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
function i18nMix(i18n) {
|
||||
i18n.update({
|
||||
'zh-cn': {
|
||||
'Subtitle offset time': '字幕偏移时间'
|
||||
},
|
||||
'zh-tw': {
|
||||
'Subtitle offset time': '字幕偏移時間'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var _typeof_1 = createCommonjsModule(function (module) {
|
||||
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
|
||||
function settingMix(art) {
|
||||
var i18n = art.i18n,
|
||||
proxy = art.events.proxy;
|
||||
return {
|
||||
title: 'Subtitle',
|
||||
name: 'subtitle',
|
||||
index: 20,
|
||||
html: "\n <div>\n <div class=\"art-setting-header\">\n ".concat(i18n.get('Subtitle offset time'), ": <span class=\"art-subtitle-value\">0</span>s\n </div>\n <div class=\"art-setting-body\">\n <input style=\"width: 100%;\" class=\"art-subtitle-range\" type=\"range\" min=\"-5\" max=\"5\" step=\"1\">\n </div>\n </div>\n "),
|
||||
mounted: function mounted($setting) {
|
||||
var $range = $setting.querySelector('.art-subtitle-range');
|
||||
var $value = $setting.querySelector('.art-subtitle-value');
|
||||
proxy($range, 'change', function () {
|
||||
var value = $range.value;
|
||||
$value.innerText = value;
|
||||
art.plugins.artplayerPluginSubtitle.set(Number(value));
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function _typeof(obj) {
|
||||
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
|
||||
module.exports = _typeof = function _typeof(obj) {
|
||||
return _typeof2(obj);
|
||||
};
|
||||
} else {
|
||||
module.exports = _typeof = function _typeof(obj) {
|
||||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
|
||||
};
|
||||
}
|
||||
function artplayerPluginSubtitle(art) {
|
||||
var setting = art.setting,
|
||||
notice = art.notice,
|
||||
refs = art.refs,
|
||||
i18n = art.i18n;
|
||||
var cuesCache = [];
|
||||
i18nMix(i18n);
|
||||
setting.add(settingMix);
|
||||
var clamp = art.constructor.utils.clamp;
|
||||
return {
|
||||
set: function set(value) {
|
||||
var cues = Array.from(refs.$track.track.cues);
|
||||
var time = clamp(value, -5, 5);
|
||||
cues.forEach(function (cue, index) {
|
||||
if (!cuesCache[index]) {
|
||||
cuesCache[index] = {
|
||||
startTime: cue.startTime,
|
||||
endTime: cue.endTime
|
||||
};
|
||||
}
|
||||
|
||||
return _typeof(obj);
|
||||
}
|
||||
cue.startTime = cuesCache[index].startTime + time;
|
||||
cue.endTime = cuesCache[index].endTime + time;
|
||||
});
|
||||
notice.show("".concat(i18n.get('Subtitle offset time'), ": ").concat(value, "s"));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = _typeof;
|
||||
});
|
||||
window.artplayerPluginSubtitle = artplayerPluginSubtitle;
|
||||
|
||||
function artplayerPluginSubtitle(option) {
|
||||
return function (art) {
|
||||
var _art$constructor$util = art.constructor.utils,
|
||||
errorHandle = _art$constructor$util.errorHandle,
|
||||
clamp = _art$constructor$util.clamp,
|
||||
sleep = _art$constructor$util.sleep;
|
||||
errorHandle(option && typeof option.time === 'number', "The plugin 'artplayerPluginSubtitle': 'option.time' require 'number' type, but got '".concat(_typeof_1(option.time), "'"));
|
||||
var retry = 0;
|
||||
var maxRetry = 10;
|
||||
var time = clamp(option.time, -10, 10);
|
||||
exports.default = artplayerPluginSubtitle;
|
||||
|
||||
function adjust() {
|
||||
errorHandle(retry < maxRetry, 'It seems that something wrong for reading subtitle');
|
||||
retry += 1;
|
||||
var cues = Array.from(art.refs.$track.track.cues);
|
||||
|
||||
if (cues.length === 0) {
|
||||
sleep(100).then(adjust);
|
||||
} else {
|
||||
cues.forEach(function (cue) {
|
||||
cue.startTime += time;
|
||||
cue.endTime += time;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
art.on('subtitle:load', adjust);
|
||||
};
|
||||
}
|
||||
|
||||
window.artplayerPluginSubtitle = artplayerPluginSubtitle;
|
||||
|
||||
exports.default = artplayerPluginSubtitle;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
//# sourceMappingURL=artplayer-plugin-subtitle.js.map
|
||||
Reference in new issue
Block a user