mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-08 19:06:15 -08:00
add worker
This commit is contained in:
1 parent
09d1c2ed08
commit
5ff4a8f70b
6 files changed
+64
-31
No files matched your search
@@ -173,26 +173,27 @@ var _getDanmuTop = require("./getDanmuTop");
|
||||
var _getDanmuTopDefault = parcelHelpers.interopDefault(_getDanmuTop);
|
||||
class Danmuku {
|
||||
constructor(art, option){
|
||||
const { constructor , template } = art;
|
||||
this.utils = constructor.utils;
|
||||
this.validator = constructor.validator;
|
||||
this.$danmuku = template.$danmuku;
|
||||
this.$player = template.$player;
|
||||
this.art = art;
|
||||
this.utils = art.constructor.utils;
|
||||
this.validator = art.constructor.validator;
|
||||
this.queue = [];
|
||||
this.option = {};
|
||||
this.$refs = [];
|
||||
this.config(option);
|
||||
this.isStop = false;
|
||||
this.isHide = false;
|
||||
this.animationFrameTimer = null;
|
||||
this.$danmuku = art.template.$danmuku;
|
||||
this.$player = art.template.$player;
|
||||
this.timer = null;
|
||||
this.config(option);
|
||||
this.worker = new Worker(require("85d40535eae5f839"));
|
||||
art.on('video:play', this.start.bind(this));
|
||||
art.on('video:playing', this.start.bind(this));
|
||||
art.on('video:pause', this.stop.bind(this));
|
||||
art.on('video:waiting', this.stop.bind(this));
|
||||
art.on('resize', this.resize.bind(this));
|
||||
art.on('destroy', this.stop.bind(this));
|
||||
art.on('fullscreen', this.reset.bind(this));
|
||||
art.on('fullscreenWeb', this.reset.bind(this));
|
||||
art.on('destroy', this.stop.bind(this));
|
||||
this.load();
|
||||
}
|
||||
static get option() {
|
||||
@@ -282,6 +283,16 @@ class Danmuku {
|
||||
return danmu.$state === 'ready' || danmu.$state === 'wait' && currentTime + 0.1 >= danmu.time && danmu.time >= currentTime - 0.1;
|
||||
});
|
||||
}
|
||||
postMessage(message = {}) {
|
||||
return new Promise((resolve)=>{
|
||||
message.id = Date.now();
|
||||
this.worker.postMessage(message);
|
||||
this.worker.onmessage = (event)=>{
|
||||
const { data } = event;
|
||||
if (data.id === message.id) resolve(data);
|
||||
};
|
||||
});
|
||||
}
|
||||
async load() {
|
||||
try {
|
||||
let danmus = [];
|
||||
@@ -360,16 +371,13 @@ class Danmuku {
|
||||
});
|
||||
return this;
|
||||
}
|
||||
resize() {
|
||||
return this;
|
||||
}
|
||||
reset() {
|
||||
this.queue.forEach((danmu)=>this.makeWait(danmu)
|
||||
);
|
||||
}
|
||||
update() {
|
||||
const { clientWidth } = this.$player;
|
||||
this.animationFrameTimer = window.requestAnimationFrame(()=>{
|
||||
this.timer = window.requestAnimationFrame(()=>{
|
||||
if (this.art.playing && !this.isHide) {
|
||||
this.filter('emit', (danmu)=>{
|
||||
const emitTime = (Date.now() - danmu.$lastStartTime) / 1000;
|
||||
@@ -424,7 +432,7 @@ class Danmuku {
|
||||
stop() {
|
||||
this.isStop = true;
|
||||
this.suspend();
|
||||
window.cancelAnimationFrame(this.animationFrameTimer);
|
||||
window.cancelAnimationFrame(this.timer);
|
||||
this.art.emit('artplayerPluginDanmuku:stop');
|
||||
return this;
|
||||
}
|
||||
@@ -472,7 +480,7 @@ class Danmuku {
|
||||
}
|
||||
exports.default = Danmuku;
|
||||
|
||||
},{"./bilibili":"6a8GK","./getDanmuTop":"eLxSm","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"6a8GK":[function(require,module,exports) {
|
||||
},{"./bilibili":"6a8GK","./getDanmuTop":"eLxSm","@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN","85d40535eae5f839":"cDlY2"}],"6a8GK":[function(require,module,exports) {
|
||||
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
|
||||
parcelHelpers.defineInteropFlag(exports);
|
||||
parcelHelpers.export(exports, "getMode", ()=>getMode
|
||||
@@ -673,6 +681,9 @@ function getDanmuTop(ins, danmu1) {
|
||||
}
|
||||
exports.default = getDanmuTop;
|
||||
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}]},["gEVO5"], "gEVO5", "parcelRequire93cf")
|
||||
},{"@parcel/transformer-js/src/esmodule-helpers.js":"6SDkN"}],"cDlY2":[function(require,module,exports) {
|
||||
module.exports = "data:application/javascript,onmessage%20%3D%20%28event%29%3D%3E%7B%0A%20%20%20%20const%20%7B%20data%20%20%7D%20%3D%20event%3B%0A%20%20%20%20self.postMessage%28%7B%0A%20%20%20%20%20%20%20%20id%3A%20data.id%2C%0A%20%20%20%20%20%20%20%20test%3A%20%27fuck%27%0A%20%20%20%20%7D%29%3B%0A%7D%3B%0A%0A";
|
||||
|
||||
},{}]},["gEVO5"], "gEVO5", "parcelRequire93cf")
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
@@ -1 +1 @@
|
||||
{"mappings":"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 truncated
|
||||
{"mappings":"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 truncated
|
||||
@@ -0,0 +1 @@
|
||||
data:application/javascript,%2F%2F%20modules%20are%20defined%20as%20an%20array%0A%2F%2F%20%5B%20module%20function%2C%20map%20of%20requires%20%5D%0A%2F%2F%0A%2F%2F%20map%20of%20requires%20is%20short%20require%20name%20-%3E%20numeric%20require%0A%2F%2F%0A%2F%2F%20anything%20defined%20in%20a%20previous%20bundle%20is%20accessed%20via%20the%0A%2F%2F%20orig%20method%20which%20is%20the%20require%20for%20previous%20bundles%0A%0A%28function%20%28modules%2C%20entry%2C%20mainEntry%2C%20parcelRequireName%2C%20globalName%29%20%7B%0A%20%20%2F%2a%20eslint-disable%20no-undef%20%2a%2F%0A%20%20var%20globalObject%20%3D%0A%20%20%20%20typeof%20globalThis%20%21%3D%3D%20%27undefined%27%0A%20%20%20%20%20%20%3F%20globalThis%0A%20%20%20%20%20%20%3A%20typeof%20self%20%21%3D%3D%20%27undefined%27%0A%20%20%20%20%20%20%3F%20self%0A%20%20%20%20%20%20%3A%20typeof%20window%20%21%3D%3D%20%27undefined%27%0A%20%20%20%20%20%20%3F%20window%0A%20%20%20%20%20%20%3A%20typeof%20global%20%21%3D%3D%20%27undefined%27%0A%20%20%20%20%20%20%3F%20global%0A%20%20%20%20%20%20%3A%20%7B%7D%3B%0A%20%20%2F%2a%20eslint-enable%20no-undef%20%2a%2F%0A%0A%20%20%2F%2F%20Save%20the%20require%20from%20previous%20bundle%20to%20this%20closure%20if%20any%0A%20%20var%20previousRequire%20%3D%0A%20%20%20%20typeof%20globalObject%5BparcelRequireName%5D%20%3D%3D%3D%20%27function%27%20%26%26%0A%20%20%20%20globalObject%5BparcelRequireName%5D%3B%0A%0A%20%20var%20cache%20%3D%20previousRequire.cache%20%7C%7C%20%7B%7D%3B%0A%20%20%2F%2F%20Do%20not%20use%20%60require%60%20to%20prevent%20Webpack%20from%20trying%20to%20bundle%20this%20call%0A%20%20var%20nodeRequire%20%3D%0A%20%20%20%20typeof%20module%20%21%3D%3D%20%27undefined%27%20%26%26%0A%20%20%20%20typeof%20module.require%20%3D%3D%3D%20%27function%27%20%26%26%0A%20%20%20%20module.require.bind%28module%29%3B%0A%0A%20%20function%20newRequire%28name%2C%20jumped%29%20%7B%0A%20%20%20%20if%20%28%21cache%5Bname%5D%29%20%7B%0A%20%20%20%20%20%20if%20%28%21modules%5Bname%5D%29%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20if%20we%20cannot%20find%20the%20module%20within%20our%20internal%20map%20or%0A%20%20%20%20%20%20%20%20%2F%2F%20cache%20jump%20to%20the%20current%20global%20require%20ie.%20the%20last%20bundle%0A%20%20%20%20%20%20%20%20%2F%2F%20that%20was%20added%20to%20the%20page.%0A%20%20%20%20%20%20%20%20var%20currentRequire%20%3D%0A%20%20%20%20%20%20%20%20%20%20typeof%20globalObject%5BparcelRequireName%5D%20%3D%3D%3D%20%27function%27%20%26%26%0A%20%20%20%20%20%20%20%20%20%20globalObject%5BparcelRequireName%5D%3B%0A%20%20%20%20%20%20%20%20if%20%28%21jumped%20%26%26%20currentRequire%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20currentRequire%28name%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20If%20there%20are%20other%20bundles%20on%20this%20page%20the%20require%20from%20the%0A%20%20%20%20%20%20%20%20%2F%2F%20previous%20one%20is%20saved%20to%20%27previousRequire%27.%20Repeat%20this%20as%0A%20%20%20%20%20%20%20%20%2F%2F%20many%20times%20as%20there%20are%20bundles%20until%20the%20module%20is%20found%20or%0A%20%20%20%20%20%20%20%20%2F%2F%20we%20exhaust%20the%20require%20chain.%0A%20%20%20%20%20%20%20%20if%20%28previousRequire%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20previousRequire%28name%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Try%20the%20node%20require%20function%20if%20it%20exists.%0A%20%20%20%20%20%20%20%20if%20%28nodeRequire%20%26%26%20typeof%20name%20%3D%3D%3D%20%27string%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%20nodeRequire%28name%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20var%20err%20%3D%20new%20Error%28%22Cannot%20find%20module%20%27%22%20%2B%20name%20%2B%20%22%27%22%29%3B%0A%20%20%20%20%20%20%20%20err.code%20%3D%20%27MODULE_NOT_FOUND%27%3B%0A%20%20%20%20%20%20%20%20throw%20err%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20localRequire.resolve%20%3D%20resolve%3B%0A%20%20%20%20%20%20localRequire.cache%20%3D%20%7B%7D%3B%0A%0A%20%20%20%20%20%20var%20module%20%3D%20%28cache%5Bname%5D%20%3D%20new%20newRequire.Module%28name%29%29%3B%0A%0A%20%20%20%20%20%20modules%5Bname%5D%5B0%5D.call%28%0A%20%20%20%20%20%20%20%20module.exports%2C%0A%20%20%20%20%20%20%20%20localRequire%2C%0A%20%20%20%20%20%20%20%20module%2C%0A%20%20%20%20%20%20%20%20module.exports%2C%0A%20%20%20%20%20%20%20%20this%0A%20%20%20%20%20%20%29%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20return%20cache%5Bname%5D.exports%3B%0A%0A%20%20%20%20function%20localRequire%28x%29%20%7B%0A%20%20%20%20%20%20var%20res%20%3D%20localRequire.resolve%28x%29%3B%0A%20%20%20%20%20%20return%20res%20%3D%3D%3D%20false%20%3F%20%7B%7D%20%3A%20newRequire%28res%29%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20function%20resolve%28x%29%20%7B%0A%20%20%20%20%20%20var%20id%20%3D%20modules%5Bname%5D%5B1%5D%5Bx%5D%3B%0A%20%20%20%20%20%20return%20id%20%21%3D%20null%20%3F%20id%20%3A%20x%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20function%20Module%28moduleName%29%20%7B%0A%20%20%20%20this.id%20%3D%20modulLine truncated
|
||||
@@ -33,6 +33,7 @@
|
||||
"@babel/preset-react": "^7.16.7",
|
||||
"@parcel/config-default": "^2.5.0",
|
||||
"@parcel/core": "^2.5.0",
|
||||
"@parcel/optimizer-data-url": "^2.5.0",
|
||||
"@parcel/reporter-cli": "^2.5.0",
|
||||
"@parcel/transformer-inline-string": "^2.5.0",
|
||||
"@parcel/transformer-less": "^2.5.0",
|
||||
|
||||
@@ -3,28 +3,31 @@ import getDanmuTop from './getDanmuTop';
|
||||
|
||||
export default class Danmuku {
|
||||
constructor(art, option) {
|
||||
this.art = art;
|
||||
this.utils = art.constructor.utils;
|
||||
this.validator = art.constructor.validator;
|
||||
const { constructor, template } = art;
|
||||
|
||||
this.utils = constructor.utils;
|
||||
this.validator = constructor.validator;
|
||||
this.$danmuku = template.$danmuku;
|
||||
this.$player = template.$player;
|
||||
|
||||
this.art = art;
|
||||
this.queue = [];
|
||||
this.option = {};
|
||||
this.$refs = [];
|
||||
this.config(option);
|
||||
this.isStop = false;
|
||||
this.isHide = false;
|
||||
this.animationFrameTimer = null;
|
||||
this.$danmuku = art.template.$danmuku;
|
||||
this.$player = art.template.$player;
|
||||
this.timer = null;
|
||||
this.config(option);
|
||||
|
||||
this.worker = new Worker(new URL('data-url:./worker.js', import.meta.url));
|
||||
|
||||
art.on('video:play', this.start.bind(this));
|
||||
art.on('video:playing', this.start.bind(this));
|
||||
art.on('video:pause', this.stop.bind(this));
|
||||
art.on('video:waiting', this.stop.bind(this));
|
||||
art.on('resize', this.resize.bind(this));
|
||||
art.on('destroy', this.stop.bind(this));
|
||||
art.on('fullscreen', this.reset.bind(this));
|
||||
art.on('fullscreenWeb', this.reset.bind(this));
|
||||
art.on('destroy', this.stop.bind(this));
|
||||
|
||||
this.load();
|
||||
}
|
||||
@@ -136,6 +139,19 @@ export default class Danmuku {
|
||||
});
|
||||
}
|
||||
|
||||
postMessage(message = {}) {
|
||||
return new Promise((resolve) => {
|
||||
message.id = Date.now();
|
||||
this.worker.postMessage(message);
|
||||
this.worker.onmessage = (event) => {
|
||||
const { data } = event;
|
||||
if (data.id === message.id) {
|
||||
resolve(data);
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
let danmus = [];
|
||||
@@ -230,17 +246,13 @@ export default class Danmuku {
|
||||
return this;
|
||||
}
|
||||
|
||||
resize() {
|
||||
return this;
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.queue.forEach((danmu) => this.makeWait(danmu));
|
||||
}
|
||||
|
||||
update() {
|
||||
const { clientWidth } = this.$player;
|
||||
this.animationFrameTimer = window.requestAnimationFrame(() => {
|
||||
this.timer = window.requestAnimationFrame(() => {
|
||||
if (this.art.playing && !this.isHide) {
|
||||
this.filter('emit', (danmu) => {
|
||||
const emitTime = (Date.now() - danmu.$lastStartTime) / 1000;
|
||||
@@ -309,7 +321,7 @@ export default class Danmuku {
|
||||
stop() {
|
||||
this.isStop = true;
|
||||
this.suspend();
|
||||
window.cancelAnimationFrame(this.animationFrameTimer);
|
||||
window.cancelAnimationFrame(this.timer);
|
||||
this.art.emit('artplayerPluginDanmuku:stop');
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
onmessage = (event) => {
|
||||
const { data } = event;
|
||||
|
||||
self.postMessage({
|
||||
id: data.id,
|
||||
test: 'fuck',
|
||||
});
|
||||
};
|
||||
Reference in new issue
Block a user