This commit is contained in:
Harvey committed 2021-12-23 16:50:30 +08:00
commit c3411c26a2
19 files changed
+390 -14

No files matched your search

File renamed without changes.
Binary file not shown.
+22
View File
@@ -139,6 +139,13 @@ type SubtitleOption = {
bilingual?: boolean;
};
type AdsOption = {
/**
* The ads video url
*/
url: string;
};
type Option = {
/**
* The container mounted by the player
@@ -305,6 +312,11 @@ type Option = {
*/
whitelist?: (string | WhitelistFunction | RegExp)[];
/**
* Custom ads list
*/
ads?: AdsOption[];
/**
* Custom layer list
*/
@@ -644,6 +656,16 @@ declare class Artplayer extends Player {
switch(url: string, option?: SubtitleOption): Promise<string>;
};
readonly ads: {
index: number;
isEnd: boolean;
playing: boolean;
current: AdsOption;
prev: AdsOption;
next: AdsOption;
end(): void;
};
readonly mobile: object;
readonly player: Player;
+100 -6
View File
@@ -751,6 +751,9 @@
localVideo: b,
localSubtitle: b,
useSSR: b,
ads: [{
url: s
}],
plugins: [f],
whitelist: ["".concat(s, "|").concat(f, "|").concat(r)],
layers: [ComponentOption],
@@ -1142,7 +1145,10 @@
}
$video.controls = false;
player.url = option.url;
if (option.ads.length === 0) {
player.url = option.url;
}
}
function eventInit(art, player) {
@@ -1292,6 +1298,22 @@
});
}
function timeupdateInit(art, player) {
var timer = null;
(function timeupdate() {
art.emit('timeupdate', player.currentTime || 0);
if (!art.isDestroy) {
timer = window.requestAnimationFrame(timeupdate);
}
})();
art.on('destroy', function () {
window.cancelAnimationFrame(timer);
});
}
function playMix(art, player) {
var i18n = art.i18n,
notice = art.notice,
@@ -1437,7 +1459,6 @@
return new Promise(function (resolve) {
if (url === player.url) return resolve(url);
URL.revokeObjectURL(player.url);
var playing = player.playing;
player.url = url;
art.once('video:canplay', function () {
player.playbackRate = false;
@@ -1447,7 +1468,7 @@
player.currentTime = currentTime;
art.notice.show = '';
if (playing) {
if (player.playing) {
player.play();
}
@@ -2234,7 +2255,7 @@
}
}
});
art.on('video:timeupdate', function () {
art.on('timeupdate', function () {
if (interval.length) {
if (player.currentTime < interval[0] || player.currentTime > interval[1]) {
player.seek = interval[0];
@@ -2343,6 +2364,7 @@
eventInit(art, this);
attrInit(art, this);
exclusiveInit(art, this);
timeupdateInit(art, this);
playMix(art, this);
pauseMix(art, this);
toggleMix(art, this);
@@ -2782,7 +2804,7 @@
art.on('video:progress', function () {
setBar('loaded', player.loaded);
});
art.on('video:timeupdate', function () {
art.on('timeupdate', function () {
setBar('played', player.played);
});
art.on('video:ended', function () {
@@ -4647,7 +4669,7 @@
art.on('destroy', function () {
$progressBar.style.display = 'none';
});
art.on('video:timeupdate', function () {
art.on('timeupdate', function () {
$progressBar.style.width = "".concat(player.played * 100, "%");
});
}
@@ -4706,6 +4728,76 @@
return Plugins;
}();
var Ads = /*#__PURE__*/function () {
function Ads(art) {
_classCallCheck(this, Ads);
this.art = art;
var option = art.option;
this.index = 0;
this.isEnd = false;
this.playing = false;
this.urlCache = option.url;
if (this.current) {
this.playing = true;
this.play(this.current);
}
}
_createClass(Ads, [{
key: "current",
get: function get() {
return this.art.option.ads[this.index];
}
}, {
key: "prev",
get: function get() {
return this.art.option.ads[this.index - 1];
}
}, {
key: "next",
get: function get() {
return this.art.option.ads[this.index + 1];
}
}, {
key: "play",
value: function play() {
var _this = this;
var item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (this.isEnd) return;
this.art.player.switchUrl(item.url);
this.art.once('video:timeupdate', function () {
_this.art.emit('ads:start', item);
});
this.art.once('video:ended', function () {
var next = _this.next;
if (next) {
_this.index += 1;
_this.play(next);
} else {
_this.end();
}
});
}
}, {
key: "end",
value: function end() {
if (this.isEnd) return;
this.isEnd = true;
this.playing = false;
this.art.option.url = this.urlCache;
this.art.player.switchUrl(this.urlCache);
this.art.emit('ads:end');
}
}]);
return Ads;
}();
var Mobile = function Mobile(art) {
_classCallCheck(this, Mobile);
@@ -4786,6 +4878,7 @@
_this.controls = new Control(_assertThisInitialized(_this));
_this.contextmenu = new Contextmenu(_assertThisInitialized(_this));
_this.subtitle = new Subtitle(_assertThisInitialized(_this));
_this.ads = new Ads(_assertThisInitialized(_this));
_this.info = new Info(_assertThisInitialized(_this));
_this.loading = new Loading(_assertThisInitialized(_this));
_this.hotkey = new Hotkey(_assertThisInitialized(_this));
@@ -4909,6 +5002,7 @@
localVideo: false,
localSubtitle: false,
useSSR: false,
ads: [],
layers: [],
contextmenu: [],
controls: [],
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/exclusiveInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMin.js","../../packages/artplayer/src/player/rotateMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/src/control/volume.js","../../packages/artplayer/src/control/setting.js","../../packages/artplayer/src/control/thumbnails.js","../../packages/artplayer/src/control/screenshot.js","../../packages/artplayer/src/control/quality.jLine truncated
{"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/exclusiveInit.js","../../packages/artplayer/src/player/timeupdateInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMin.js","../../packages/artplayer/src/player/rotateMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.16.3@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/control/time.js","../../packages/artplayer/src/control/volume.js","../../packages/artplayer/src/control/setting.js","../../packages/artplayer/src/control/thumbnails.js","../../packages/artplayer/src/control/screenLine truncated