mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-18 10:41:20 -08:00
23 files changed
+710
-152
No files matched your search
@@ -32,6 +32,7 @@
|
||||
| Project | Description | Demo |
|
||||
| ----------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---------------------------------------- |
|
||||
| [artplayer-plugin-danmu](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-danmu) | Danmu plugin for ArtPlayer | `WIP` |
|
||||
| [artplayer-plugin-flv](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-flv) | Flv plugin for ArtPlayer | `WIP` |
|
||||
| [artplayer-plugin-gif](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-plugin-gif) | Gif plugin for ArtPlayer | [demo](https://artplayer.org/gif/) |
|
||||
| [artplayer-tool-thumbnail](https://github.com/zhw2590582/ArtPlayer/tree/master/packages/artplayer-tool-thumbnail) | Thumbnail tool for ArtPlayer | [demo](https://artplayer.org/thumbnail/) |
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
html,
|
||||
body,
|
||||
.container {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.part-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
height: 70%;
|
||||
}
|
||||
|
||||
.part-top .config {
|
||||
width: 500px;
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.part-top .config .urlInput {
|
||||
flex: 1;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.part-top .config .playBtn {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.part-top .artplayer {
|
||||
width: 500px;
|
||||
height: 300px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.part-bottom {
|
||||
position: relative;
|
||||
height: 30%;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Flv plugin for ArtPlayer</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta name="keywords" content="artplayer,html5,video,player,flv">
|
||||
<meta name="description" content="Flv plugin for ArtPlayer">
|
||||
<link rel="shortcut icon" href="../assets/img/favicon.ico">
|
||||
<link rel="stylesheet" href="../assets/css/normalize.css">
|
||||
<link rel="stylesheet" href="../assets/css/consola.css">
|
||||
<link rel="stylesheet" href="./css/common.css">
|
||||
<link rel="stylesheet" href="../uncompiled/artplayer.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="part-top">
|
||||
<div class="config">
|
||||
<input class="urlInput" type="text" value="https://blog.zhw-island.com/assets-cdn/video/one-more-time-one-more-chance-480p.flv">
|
||||
<input class="playBtn" type="button" value="play">
|
||||
</div>
|
||||
<div class="artplayer"></div>
|
||||
</div>
|
||||
<div class="part-bottom"></div>
|
||||
</div>
|
||||
<script src="../assets/js/consola.js"></script>
|
||||
<script src="../uncompiled/artplayer.js"></script>
|
||||
<script src="../uncompiled/artplayer-plugin-flv.js"></script>
|
||||
<script src="./js/common.js"></script>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?b6c9b8bafbf5fe7225160101dafbbc7d";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,40 @@
|
||||
'use strict';
|
||||
|
||||
(function() {
|
||||
consola.creat({
|
||||
target: '.part-bottom',
|
||||
size: '100%',
|
||||
zIndex: 99,
|
||||
});
|
||||
|
||||
console.info('Welcome, if you like it, consider star it, thank you.');
|
||||
console.info('https://github.com/zhw2590582/ArtPlayer');
|
||||
|
||||
window.addEventListener('error', function(err) {
|
||||
console.error(err.message);
|
||||
});
|
||||
|
||||
var $urlInput = document.querySelector('.urlInput');
|
||||
var $playBtn = document.querySelector('.playBtn');
|
||||
|
||||
function creatPlayer() {
|
||||
Artplayer.instances.forEach(function(art) {
|
||||
art.destroy(true);
|
||||
});
|
||||
|
||||
new Artplayer({
|
||||
container: '.artplayer',
|
||||
url: $urlInput.value,
|
||||
type: 'flv',
|
||||
customType: {
|
||||
flv: function(video, url) {
|
||||
this.plugins.artplayerPluginFlv.init(video, url);
|
||||
},
|
||||
},
|
||||
plugins: [artplayerPluginFlv]
|
||||
});
|
||||
}
|
||||
|
||||
creatPlayer();
|
||||
$playBtn.addEventListener('click', creatPlayer);
|
||||
})();
|
||||
@@ -0,0 +1,57 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>ArtPlayer.js Lab</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta name="keywords" content="artplayer,html5,video,player">
|
||||
<meta name="description" content="ArtPlayer is a modern HTML5 video player">
|
||||
<link rel="shortcut icon" href="../assets/img/favicon.ico">
|
||||
<link rel="stylesheet" href="../assets/css/normalize.css">
|
||||
<link rel="stylesheet" href="../uncompiled/artplayer.css">
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.container {
|
||||
height: 100%;
|
||||
padding: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.artplayer-app {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="artplayer-app"></div>
|
||||
</div>
|
||||
<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
|
||||
<script src="https://cdn.bootcss.com/hls.js/0.10.1/hls.js"></script>
|
||||
<script src="../uncompiled/artplayer.js"></script>
|
||||
<script>
|
||||
var vConsole = new VConsole();
|
||||
var whitelist = [new URL(window.location.href).searchParams.get('whitelist') || ''] || [];
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
whitelist: whitelist,
|
||||
url: 'https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8',
|
||||
customType: {
|
||||
m3u8: function(video, url) {
|
||||
var hls = new Hls();
|
||||
hls.loadSource(url);
|
||||
hls.attachMedia(video);
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,356 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
||||
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
||||
(factory((global['artplayer-plugin-flv'] = {})));
|
||||
}(this, (function (exports) { 'use strict';
|
||||
|
||||
function _classCallCheck(instance, Constructor) {
|
||||
if (!(instance instanceof Constructor)) {
|
||||
throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
}
|
||||
|
||||
var classCallCheck = _classCallCheck;
|
||||
|
||||
function _defineProperties(target, props) {
|
||||
for (var i = 0; i < props.length; i++) {
|
||||
var descriptor = props[i];
|
||||
descriptor.enumerable = descriptor.enumerable || false;
|
||||
descriptor.configurable = true;
|
||||
if ("value" in descriptor) descriptor.writable = true;
|
||||
Object.defineProperty(target, descriptor.key, descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) {
|
||||
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
||||
if (staticProps) _defineProperties(Constructor, staticProps);
|
||||
return Constructor;
|
||||
}
|
||||
|
||||
var createClass = _createClass;
|
||||
|
||||
function createCommonjsModule(fn, module) {
|
||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||
}
|
||||
|
||||
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 _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);
|
||||
};
|
||||
}
|
||||
|
||||
return _typeof(obj);
|
||||
}
|
||||
|
||||
module.exports = _typeof;
|
||||
});
|
||||
|
||||
function _assertThisInitialized(self) {
|
||||
if (self === void 0) {
|
||||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
var assertThisInitialized = _assertThisInitialized;
|
||||
|
||||
function _possibleConstructorReturn(self, call) {
|
||||
if (call && (_typeof_1(call) === "object" || typeof call === "function")) {
|
||||
return call;
|
||||
}
|
||||
|
||||
return assertThisInitialized(self);
|
||||
}
|
||||
|
||||
var possibleConstructorReturn = _possibleConstructorReturn;
|
||||
|
||||
var getPrototypeOf = createCommonjsModule(function (module) {
|
||||
function _getPrototypeOf(o) {
|
||||
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
||||
return o.__proto__ || Object.getPrototypeOf(o);
|
||||
};
|
||||
return _getPrototypeOf(o);
|
||||
}
|
||||
|
||||
module.exports = _getPrototypeOf;
|
||||
});
|
||||
|
||||
var setPrototypeOf = createCommonjsModule(function (module) {
|
||||
function _setPrototypeOf(o, p) {
|
||||
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
||||
o.__proto__ = p;
|
||||
return o;
|
||||
};
|
||||
|
||||
return _setPrototypeOf(o, p);
|
||||
}
|
||||
|
||||
module.exports = _setPrototypeOf;
|
||||
});
|
||||
|
||||
function _inherits(subClass, superClass) {
|
||||
if (typeof superClass !== "function" && superClass !== null) {
|
||||
throw new TypeError("Super expression must either be null or a function");
|
||||
}
|
||||
|
||||
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
||||
constructor: {
|
||||
value: subClass,
|
||||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
if (superClass) setPrototypeOf(subClass, superClass);
|
||||
}
|
||||
|
||||
var inherits = _inherits;
|
||||
|
||||
function E() {// Keep this empty so it's easier to inherit from
|
||||
// (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)
|
||||
}
|
||||
|
||||
E.prototype = {
|
||||
on: function on(name, callback, ctx) {
|
||||
var e = this.e || (this.e = {});
|
||||
(e[name] || (e[name] = [])).push({
|
||||
fn: callback,
|
||||
ctx: ctx
|
||||
});
|
||||
return this;
|
||||
},
|
||||
once: function once(name, callback, ctx) {
|
||||
var self = this;
|
||||
|
||||
function listener() {
|
||||
self.off(name, listener);
|
||||
callback.apply(ctx, arguments);
|
||||
}
|
||||
listener._ = callback;
|
||||
return this.on(name, listener, ctx);
|
||||
},
|
||||
emit: function emit(name) {
|
||||
var data = [].slice.call(arguments, 1);
|
||||
var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
|
||||
var i = 0;
|
||||
var len = evtArr.length;
|
||||
|
||||
for (i; i < len; i++) {
|
||||
evtArr[i].fn.apply(evtArr[i].ctx, data);
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
off: function off(name, callback) {
|
||||
var e = this.e || (this.e = {});
|
||||
var evts = e[name];
|
||||
var liveEvents = [];
|
||||
|
||||
if (evts && callback) {
|
||||
for (var i = 0, len = evts.length; i < len; i++) {
|
||||
if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]);
|
||||
}
|
||||
} // Remove event from queue to prevent memory leak
|
||||
// Suggested by https://github.com/lazd
|
||||
// Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
|
||||
|
||||
|
||||
liveEvents.length ? e[name] = liveEvents : delete e[name];
|
||||
return this;
|
||||
}
|
||||
};
|
||||
var tinyEmitter = E;
|
||||
|
||||
function _isNativeFunction(fn) {
|
||||
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
||||
}
|
||||
|
||||
var isNativeFunction = _isNativeFunction;
|
||||
|
||||
var construct = createCommonjsModule(function (module) {
|
||||
function isNativeReflectConstruct() {
|
||||
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
||||
if (Reflect.construct.sham) return false;
|
||||
if (typeof Proxy === "function") return true;
|
||||
|
||||
try {
|
||||
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function _construct(Parent, args, Class) {
|
||||
if (isNativeReflectConstruct()) {
|
||||
module.exports = _construct = Reflect.construct;
|
||||
} else {
|
||||
module.exports = _construct = function _construct(Parent, args, Class) {
|
||||
var a = [null];
|
||||
a.push.apply(a, args);
|
||||
var Constructor = Function.bind.apply(Parent, a);
|
||||
var instance = new Constructor();
|
||||
if (Class) setPrototypeOf(instance, Class.prototype);
|
||||
return instance;
|
||||
};
|
||||
}
|
||||
|
||||
return _construct.apply(null, arguments);
|
||||
}
|
||||
|
||||
module.exports = _construct;
|
||||
});
|
||||
|
||||
var wrapNativeSuper = createCommonjsModule(function (module) {
|
||||
function _wrapNativeSuper(Class) {
|
||||
var _cache = typeof Map === "function" ? new Map() : undefined;
|
||||
|
||||
module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {
|
||||
if (Class === null || !isNativeFunction(Class)) return Class;
|
||||
|
||||
if (typeof Class !== "function") {
|
||||
throw new TypeError("Super expression must either be null or a function");
|
||||
}
|
||||
|
||||
if (typeof _cache !== "undefined") {
|
||||
if (_cache.has(Class)) return _cache.get(Class);
|
||||
|
||||
_cache.set(Class, Wrapper);
|
||||
}
|
||||
|
||||
function Wrapper() {
|
||||
return construct(Class, arguments, getPrototypeOf(this).constructor);
|
||||
}
|
||||
|
||||
Wrapper.prototype = Object.create(Class.prototype, {
|
||||
constructor: {
|
||||
value: Wrapper,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
return setPrototypeOf(Wrapper, Class);
|
||||
};
|
||||
|
||||
return _wrapNativeSuper(Class);
|
||||
}
|
||||
|
||||
module.exports = _wrapNativeSuper;
|
||||
});
|
||||
|
||||
var FlvError =
|
||||
/*#__PURE__*/
|
||||
function (_Error) {
|
||||
inherits(FlvError, _Error);
|
||||
|
||||
function FlvError(message, context) {
|
||||
var _this;
|
||||
|
||||
classCallCheck(this, FlvError);
|
||||
|
||||
_this = possibleConstructorReturn(this, getPrototypeOf(FlvError).call(this, message));
|
||||
|
||||
if (typeof Error.captureStackTrace === 'function') {
|
||||
Error.captureStackTrace(assertThisInitialized(assertThisInitialized(_this)), context || _this.constructor);
|
||||
}
|
||||
|
||||
_this.name = 'FlvError';
|
||||
return _this;
|
||||
}
|
||||
|
||||
return FlvError;
|
||||
}(wrapNativeSuper(Error));
|
||||
function errorHandle(condition, msg) {
|
||||
if (!condition) {
|
||||
throw new FlvError(msg);
|
||||
}
|
||||
}
|
||||
|
||||
var CheckSupport = function CheckSupport() {
|
||||
classCallCheck(this, CheckSupport);
|
||||
|
||||
var MP4H264MimeCodec = 'video/mp4; codecs="avc1.42001E, mp4a.40.2"';
|
||||
var videoElement = window.document.createElement('video');
|
||||
var canPlay = videoElement.canPlayType(MP4H264MimeCodec);
|
||||
errorHandle(window.MediaSource && window.MediaSource.isTypeSupported(MP4H264MimeCodec) && (canPlay === 'probably' || canPlay === 'maybe'), "Unsupported MIME type or codec: ".concat(MP4H264MimeCodec));
|
||||
errorHandle(typeof window.Promise === 'function', "Unsupported 'Promise' method");
|
||||
errorHandle(typeof window.fetch === 'function', "Unsupported 'fetch' method");
|
||||
};
|
||||
|
||||
var CreatMediaSource = function CreatMediaSource(flv) {
|
||||
classCallCheck(this, CreatMediaSource);
|
||||
|
||||
this.mediaSource = new MediaSource();
|
||||
this.url = URL.createObjectURL(this.mediaSource);
|
||||
flv.mediaElement.src = this.url;
|
||||
};
|
||||
|
||||
var Flv =
|
||||
/*#__PURE__*/
|
||||
function (_Emitter) {
|
||||
inherits(Flv, _Emitter);
|
||||
|
||||
function Flv(mediaElement, url) {
|
||||
var _this;
|
||||
|
||||
classCallCheck(this, Flv);
|
||||
|
||||
_this = possibleConstructorReturn(this, getPrototypeOf(Flv).call(this));
|
||||
_this.mediaElement = mediaElement;
|
||||
_this.url = url;
|
||||
_this.support = new CheckSupport(assertThisInitialized(assertThisInitialized(_this)));
|
||||
_this.mediaSource = new CreatMediaSource(assertThisInitialized(assertThisInitialized(_this)));
|
||||
return _this;
|
||||
}
|
||||
|
||||
createClass(Flv, [{
|
||||
key: "load",
|
||||
value: function load() {
|
||||
console.log(this);
|
||||
}
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function destroy() {
|
||||
console.log(this);
|
||||
}
|
||||
}]);
|
||||
|
||||
return Flv;
|
||||
}(tinyEmitter);
|
||||
|
||||
window.Flv = Flv;
|
||||
|
||||
function artplayerPluginFlv(art) {
|
||||
var flv = null;
|
||||
art.on('destroy', function () {
|
||||
if (flv) {
|
||||
flv.destroy();
|
||||
}
|
||||
});
|
||||
return {
|
||||
flv: flv,
|
||||
init: function init(mediaElement, url) {
|
||||
flv = new Flv(mediaElement, url);
|
||||
flv.load();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
window.artplayerPluginFlv = artplayerPluginFlv;
|
||||
|
||||
exports.default = artplayerPluginFlv;
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
})));
|
||||
//# sourceMappingURL=artplayer-plugin-flv.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"artplayer-plugin-flv.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-plugin-flv/node_modules/tiny-emitter/index.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer-plugin-flv/src/flv/utils.js","../../packages/artplayer-plugin-flv/src/flv/checkSupport.js","../../packages/artplayer-plugin-flv/src/flv/creatMediaSource.js","../../packages/artplayer-plugin-flv/src/flv/index.js","../../packages/artplayer-plugin-flv/src/index.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","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); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\nLine truncated
|
||||
@@ -1,6 +1,6 @@
|
||||
.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}
|
||||
.artplayer-video-player .artplayer-subtitle{position:absolute;z-index:20;bottom:40px;width:100%;padding:0 20px;text-align:center;color:#fff;text-shadow:.5px .5px .5px rgba(0,0,0,.5);font-size:20px;pointer-events:none}.artplayer-video-player .artplayer-subtitle p{margin:5px 0}
|
||||
.artplayer-video-player{position:relative;width:100%;height:100%;overflow:hidden;outline:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#eee;text-align:left;direction:ltr;font-size:14px;line-height:1.3;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:manipulation;-ms-high-contrast-adjust:none}.artplayer-video-player *{box-sizing:border-box}.artplayer-video-player .art-icon{display:inline-block;line-height:1.5}.artplayer-video-player .art-icon svg{fill:#fff}
|
||||
.artplayer-video-player .artplayer-video{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background-color:#000;outline:0;cursor:pointer}
|
||||
.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-layers .art-layer{pointer-events:all}
|
||||
.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}.artplayer-video-player .artplayer-mask .art-playBig{position:absolute;right:30px;bottom:65px;opacity:.6}
|
||||
.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:60;left:0;top:0;right:0;bottom:0;width:100%;height:100%;align-items:center;justify-content:center;pointer-events:none}
|
||||
@@ -8,10 +8,10 @@
|
||||
.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:60px 10px 0;opacity:0;visibility:hidden;transition:all .2s ease-in-out;pointer-events:none;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom}.artplayer-video-player .artplayer-bottom .artplayer-progress{position:relative;pointer-events:all}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress{position:relative;height:5px;padding:1px 0;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner{position:relative;height:100%;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{position:absolute;z-index:10;left:0;top:0;right:0;bottom:0;height:100%;width:0;background:hsla(0,0%,100%,.4)}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-played{position:absolute;z-index:20;left:0;top:0;right:0;bottom:0;height:100%;width:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;height:0}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{display:inline-block;position:absolute;left:0;top:0;width:7px;height:3px;background:#fff;border-radius:3px}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{display:none;position:absolute;z-index:40;top:-5px;left:-6.5px;width:13px;height:13px;border-radius:50%}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-indicator.art-show-indicator{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress .art-control-progress-inner .art-progress-tip{display:none;position:absolute;z-index:50;top:-25px;left:0;height:20px;padding:0 5px;line-height:20px;color:#fff;font-size:12px;text-align:center;background:rgba(0,0,0,.7);border-radius:3px;font-weight:700}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-indicator,.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-progress:hover .art-progress-tip{display:block}.artplayer-video-player .artplayer-bottom .artplayer-progress .art-control-thumbnails{display:none;position:absolute;bottom:8px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-bottom .artplayer-controls{position:relative;pointer-events:all;display:flex;align-items:center;justify-content:space-between;height:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-left,.artplayer-video-player .artplayer-bottom .artplayer-controls .artplayer-controls-right{display:flex}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control{opacity:.9;font-size:12px;height:36px;min-width:36px;line-height:36px;text-align:center;cursor:pointer}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control .art-icon{display:flex;align-items:center;justify-content:center;float:left;height:36px;width:36px}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control:hover{opacity:1}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel{position:relative;float:left;width:0;height:100%;transition:margin .2s cubic-bezier(.4,0,1,1),width .2s cubic-bezier(.4,0,1,1);overflow:hidden}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle{position:absolute;top:50%;left:0;width:12px;height:12px;border-radius:12px;margin-top:-6px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{left:-54px;background:#fff}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after{left:6px;background:hsla(0,0%,100%,.2)}.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:after,.artplayer-video-player .artplayer-bottom .artplayer-controls .art-control-volume .art-volume-panel .art-volume-slider-handle:before{content:"";position:absolute;display:block;top:50%;height:3px;margin-top:-2px;width:60px}.artplayer-video-player .artplayer-bottom .artplaLine truncated
|
||||
.artplayer-video-player .artplayer-contextmenu{display:none;position:absolute;z-index:110;left:0;top:0;min-width:200px;padding:5px 0;background:rgba(0,0,0,.8);border-radius:3px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu{cursor:pointer;font-size:13px;display:block;color:#fff;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5);border-bottom:1px solid hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu a{color:#fff;text-decoration:none}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span{display:inline-block;padding:0 7px}.artplayer-video-player .artplayer-contextmenu .art-contextmenu span.current,.artplayer-video-player .artplayer-contextmenu .art-contextmenu span:hover{color:#00c9ff}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:hover{background-color:hsla(0,0%,100%,.1)}.artplayer-video-player .artplayer-contextmenu .art-contextmenu:last-child{border-bottom:none}
|
||||
.artplayer-video-player .artplayer-setting{display:none;position:absolute;z-index:80;left:0;top:0;height:100%;width:100%;align-items:center;justify-content:center;pointer-events:none}.artplayer-video-player .artplayer-setting .artplayer-setting-inner{position:relative;width:300px;height:250px;font-size:12px;background:rgba(0,0,0,.8);border-radius:3px;pointer-events:all;overflow:hidden}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body{overflow-y:auto;width:100%;height:100%}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting{border-bottom:1px solid hsla(0,0%,100%,.1);padding:12px 20px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-header{color:#fff;margin-bottom:10px}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-body .art-setting .art-setting-body{color:hsla(0,0%,100%,.8)}.artplayer-video-player .artplayer-setting .artplayer-setting-inner .artplayer-setting-close{position:absolute;top:0;right:0;width:20px;height:20px;line-height:20px;text-align:center;color:hsla(0,0%,100%,.8);background:rgba(0,0,0,.5);font-size:20px;cursor:pointer}.artplayer-video-player .artplayer-setting .art-setting-btns{display:flex;margin-left:-4px;margin-right:-4px}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn{flex:1;padding:0 4px}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn span{display:block;height:20px;line-height:20px;text-align:center;color:#fff;background:hsla(0,0%,100%,.3);border-radius:2px;cursor:pointer}.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn.current span,.artplayer-video-player .artplayer-setting .art-setting-btns .art-setting-btn:hover span{color:#fff;background:#00a1d6}
|
||||
.artplayer-video-player.artplayer-hide-cursor *{cursor:none!important}
|
||||
.artplayer-video-player .artplayer-info{display:none;position:absolute;left:10px;top:10px;z-index:90;width:350px;min-height:150px;padding:10px;color:#fff;font-size:12px;font-family:Noto Sans CJK SC DemiLight,Roboto,Segoe UI,Tahoma,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;background:rgba(0,0,0,.7)}.artplayer-video-player .artplayer-info .art-info-item{display:flex;margin-bottom:5px}.artplayer-video-player .artplayer-info .art-info-item .art-info-title{width:100px;text-align:right}.artplayer-video-player .artplayer-info .art-info-item .art-info-content{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px}.artplayer-video-player .artplayer-info .artplayer-info-close{position:absolute;top:5px;right:5px;cursor:pointer}
|
||||
.artplayer-video-player.artplayer-web-fullscreen{position:fixed;z-index:9999;width:100%;height:100%;left:0;top:0;right:0;bottom:0}
|
||||
.artplayer-video-player.artplayer-hide-cursor *{cursor:none!important}
|
||||
.artplayer-video-player[data-aspect-ratio] video{box-sizing:content-box;-o-object-fit:fill;object-fit:fill}
|
||||
.artplayer-video-player.artplayer-web-fullscreen{position:fixed;z-index:9999;width:100%;height:100%;left:0;top:0;right:0;bottom:0}
|
||||
.artplayer-video-player .artplayer-pip-header{display:none;position:absolute;z-index:100;left:0;top:0;right:0;height:35px;line-height:35px;color:#fff;background:rgba(0,0,0,.5);align-items:center;justify-content:space-between;opacity:0;visibility:hidden;transition:all .2s ease-in-out}.artplayer-video-player .artplayer-pip-header .artplayer-pip-title{flex:1;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:move}.artplayer-video-player .artplayer-pip-header .artplayer-pip-close{width:35px;text-align:center;font-size:22px;cursor:pointer}.artplayer-video-player.is-dragging{opacity:.7}.artplayer-video-player.artplayer-pip{position:fixed;z-index:9999;right:20px;bottom:20px;width:400px;height:225px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.2)}.artplayer-video-player.artplayer-pip .artplayer-pip-header{display:flex}.artplayer-video-player.artplayer-pip.artplayer-hover .artplayer-pip-header{opacity:1;visibility:visible}.artplayer-video-player.artplayer-pip .artplayer-mask{display:flex;align-items:center;justify-content:center}.artplayer-video-player.artplayer-pip .artplayer-mask .art-playBig{position:static}.artplayer-video-player.artplayer-pip .artplayer-bottom,.artplayer-video-player.artplayer-pip .artplayer-contextmenu,.artplayer-video-player.artplayer-pip .artplayer-danmu,.artplayer-video-player.artplayer-pip .artplayer-info,.artplayer-video-player.artplayer-pip .artplayer-layers,.artplayer-video-player.artplayer-pip .artplayer-notice,.artplayer-video-player.artplayer-pip .artplayer-setting,.artplayer-video-player.artplayer-pip .artplayer-subtitle{display:none!important}
|
||||
.artplayer-auto-size{display:flex;align-items:center;justify-content:center}
|
||||
.artplayer-video-player[data-flip=horizontal] .artplayer-video{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.artplayer-video-player[data-flip=vertical] .artplayer-video{-webkit-transform:scaleY(-1);transform:scaleY(-1)}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"sources":["docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/subtitle.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/artplayer.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/video.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/layers.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/mask.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/loading.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/notice.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/bottom.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/contextmenu.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/setting.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/hideCursor.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/info.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/fullscreenWeb.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/aspectRatio.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/pip.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/autoSize.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/flip.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/balloon.min.css"],"names":[],"mappings":"AAAA,4CACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,WAAY,AACZ,eAAgB,AAChB,kBAAmB,AACnB,WAAY,AACZ,0CAAkD,AAClD,eAAgB,AAChB,mBAAqB,CAAE,AACvB,8CACE,YAAc,CAAE;ACZpB,wBACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,gBAAiB,AACjB,UAAW,AACX,8CAA+C,AAC/C,WAAY,AACZ,gBAAiB,AACjB,cAAe,AACf,eAAgB,AAChB,gBAAiB,AACjB,yBAAA,AAAkB,sBAAlB,AAAkB,qBAAlB,AAAkB,iBAAA,AAClB,0CAA8C,AAC9C,0BAA2B,AAC3B,6BAA+B,CAAE,AACjC,0BACE,qBAAuB,CAAE,AAC3B,kCACE,qBAAsB,AACtB,eAAiB,CAAE,AACnB,sCACE,SAAW,CAAE;ACtBnB,yCACE,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,WAAY,AACZ,YAAa,AACb,sBAAuB,AACvB,UAAW,AACX,cAAgB,CAAE;ACXpB,0CACE,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,WAAY,AACZ,YAAa,AACb,mBAAqB,CAAE,AACvB,qDACE,kBAAoB,CAAE;ACX1B,wCACE,aAAc,AACd,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,WAAY,AACZ,YAAa,AACb,mBAAqB,CAAE,AACvB,qDACE,kBAAmB,AACnB,WAAY,AACZ,YAAa,AACb,UAAY,CAAE;ACflB,2CACE,aAAc,AACd,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,WAAY,AACZ,YAAa,AACb,mBAAoB,AACpB,uBAAwB,AACxB,mBAAqB,CAAE;ACZzB,0CACE,aAAc,AACd,eAAgB,AAChB,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,aAAc,AACd,WAAY,AACZ,mBAAqB,CAAE,AACvB,kEACE,qBAAsB,AACtB,iBAAkB,AAClB,WAAY,AACZ,0BAA+B,AAC/B,iBAAmB,CAAE;ACfzB,0CACE,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,QAAS,AACT,SAAU,AACV,aAAc,AACd,oBAAqB,AACrB,UAAW,AACX,kBAAmB,AACnB,+BAAgC,AAChC,oBAAqB,AACrB,kSAAoS,CAAE,AACtS,8DACE,kBAAmB,AACnB,kBAAoB,CAAE,AACtB,oFACE,kBAAmB,AACnB,WAAY,AACZ,cAAe,AACf,cAAgB,CAAE,AAClB,gHACE,kBAAmB,AACnB,YAAa,AACb,6BAAqC,CAAE,AACvC,qIACE,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,YAAa,AACb,QAAS,AACT,6BAAqC,CAAE,AACzC,qIACE,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,YAAa,AACb,OAAS,CAAE,AACb,wIACE,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,MAAO,AACP,QAAS,AACT,SAAU,AACV,QAAU,CAAE,AACZ,6IACE,qBAAsB,AACtB,kBAAmB,AACnB,OAAQ,AACR,MAAO,AACP,UAAW,AACX,WAAY,AACZ,gBAAiB,AACjB,iBAAmB,CAAE,AACzB,wIACE,aAAc,AACd,kBAAmB,AACnB,WAAY,AACZ,SAAU,AACV,YAAa,AACb,WAAY,AACZ,YAAa,AACb,iBAAmB,CAAE,AACrB,2JACE,aAAe,CAAE,AACrB,kIACE,aAAc,AACd,kBAAmB,AACnB,WAAY,AACZ,UAAW,AACX,OAAQ,AACR,YAAa,AACb,cAAe,AACf,iBAAkB,AAClB,WAAY,AACZ,eAAgB,AAChB,kBAAmB,AACnB,0BAA+B,AAC/B,kBAAmB,AACnB,eAAkB,CAAE,AACxB,8NACE,aAAe,CAAE,AACrB,sFACE,aAAc,AACd,kBAAmB,AACnB,WAAY,AACZ,OAAQ,AACR,oBAAqB,AACrB,+BAAqC,CAAE,AAC3C,8DACE,kBAAmB,AACnB,mBAAoB,AACpB,aAAc,AACd,mBAAoB,AACpB,8BAA+B,AAC/B,WAAa,CAAE,AACf,+KACE,YAAc,CAAE,AAClB,2EACE,WAAY,AACZ,eAAgB,AAChB,YAAa,AACb,eAAgB,AAChB,iBAAkB,AAClB,kBAAmB,AACnB,cAAgB,CAAE,AAClB,qFACE,aAAc,AACd,mBAAoB,AACpB,uBAAwB,AACxB,WAAY,AACZ,YAAa,AACb,UAAY,CAAE,AAChB,iFACE,SAAW,CAAE,AACjB,oGACE,kBAAmB,AACnB,WAAY,AACZ,QAAS,AACT,YAAa,AACb,8EAA0F,AAC1F,eAAiB,CAAELine truncated
|
||||
{"version":3,"sources":["docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/video.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/subtitle.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/artplayer.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/layers.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/mask.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/loading.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/notice.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/bottom.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/contextmenu.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/setting.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/info.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/hideCursor.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/aspectRatio.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/fullscreenWeb.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/pip.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/autoSize.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/flip.scss","docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiled/docs/uncompiLine truncated
|
||||
+22
-123
@@ -691,7 +691,6 @@
|
||||
theme: 'string',
|
||||
volume: 'number',
|
||||
isLive: 'boolean',
|
||||
mse: 'boolean',
|
||||
muted: 'boolean',
|
||||
autoplay: 'boolean',
|
||||
autoSize: 'boolean',
|
||||
@@ -1047,38 +1046,36 @@
|
||||
type = _art$option.type,
|
||||
customType = _art$option.customType,
|
||||
$video = art.template.$video;
|
||||
Object.defineProperty(player, 'returnUrl', {
|
||||
writable: true,
|
||||
value: function value(url) {
|
||||
return url;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(player, 'attachUrl', {
|
||||
value: function value(url) {
|
||||
function attachUrl(videoUrl) {
|
||||
var typeName = type || getExt(videoUrl);
|
||||
var typeCallback = customType[typeName];
|
||||
return sleep().then(function () {
|
||||
return sleep().then(function () {
|
||||
function attachUrl(videoUrl) {
|
||||
var typeName = type || getExt(videoUrl);
|
||||
var typeCallback = customType[typeName];
|
||||
|
||||
if (typeName && typeCallback) {
|
||||
art.loading.show();
|
||||
art.emit('beforeCustomType', typeName);
|
||||
typeCallback($video, player.returnUrl(videoUrl), art);
|
||||
typeCallback.call(art, $video, videoUrl, art);
|
||||
art.emit('afterCustomType', typeName);
|
||||
} else {
|
||||
art.emit('beforeAttachUrl', videoUrl);
|
||||
$video.src = player.returnUrl(videoUrl);
|
||||
art.emit('afterAttachUrl', $video.src);
|
||||
art.emit('beforeAttachUrl');
|
||||
$video.src = videoUrl;
|
||||
art.emit('afterAttachUrl');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (typeof url === 'function') {
|
||||
return url().then(function (videoUrl) {
|
||||
art.loading.show();
|
||||
return attachUrl(videoUrl);
|
||||
});
|
||||
}
|
||||
return Promise.resolve(videoUrl);
|
||||
}
|
||||
|
||||
return attachUrl(url);
|
||||
if (typeof url === 'function') {
|
||||
return url.call(art).then(function (videoUrl) {
|
||||
art.loading.show();
|
||||
return attachUrl(videoUrl);
|
||||
});
|
||||
}
|
||||
|
||||
return attachUrl(url);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -3271,103 +3268,6 @@
|
||||
flipMix(art, this);
|
||||
};
|
||||
|
||||
var Mse =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
function Mse(art) {
|
||||
classCallCheck(this, Mse);
|
||||
|
||||
this.art = art;
|
||||
|
||||
if (art.option.mse) {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
|
||||
createClass(Mse, [{
|
||||
key: "init",
|
||||
value: function init() {
|
||||
var _this = this;
|
||||
|
||||
var _this$art = this.art,
|
||||
player = _this$art.player,
|
||||
events = _this$art.events;
|
||||
this.setMimeCodec();
|
||||
Object.defineProperty(player, 'returnUrl', {
|
||||
value: function value() {
|
||||
_this.mediaSource = new MediaSource();
|
||||
var url = URL.createObjectURL(_this.mediaSource);
|
||||
|
||||
_this.eventBind();
|
||||
|
||||
events.destroyEvents.push(function () {
|
||||
URL.revokeObjectURL(url);
|
||||
});
|
||||
return url;
|
||||
}
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "setMimeCodec",
|
||||
value: function setMimeCodec() {
|
||||
var option = this.art.option;
|
||||
|
||||
if (!option.type) {
|
||||
var type = getExt(option.url);
|
||||
errorHandle(Object.keys(config.mimeCodec).includes(type), "Can't find video's type '".concat(type, "' from '").concat(option.url, "'"));
|
||||
option.type = type;
|
||||
}
|
||||
|
||||
if (!option.mimeCodec) {
|
||||
var mimeCodec = config.mimeCodec[option.type];
|
||||
errorHandle(mimeCodec, "Can't find video's mimeCodec from ".concat(option.type));
|
||||
option.mimeCodec = mimeCodec;
|
||||
}
|
||||
|
||||
errorHandle('MediaSource' in window && MediaSource.isTypeSupported(option.mimeCodec), "Unsupported MIME type or codec: ".concat(option.mimeCodec));
|
||||
}
|
||||
}, {
|
||||
key: "eventBind",
|
||||
value: function eventBind() {
|
||||
var _this2 = this;
|
||||
|
||||
var _this$art2 = this.art,
|
||||
option = _this$art2.option,
|
||||
proxy = _this$art2.events.proxy;
|
||||
var _config$mse = config.mse,
|
||||
mediaSource = _config$mse.mediaSource,
|
||||
sourceBufferList = _config$mse.sourceBufferList,
|
||||
sourceBuffer = _config$mse.sourceBuffer;
|
||||
mediaSource.events.forEach(function (eventName) {
|
||||
proxy(_this2.mediaSource, eventName, function (event) {
|
||||
_this2.art.emit("mediaSource:".concat(event.type), event);
|
||||
});
|
||||
});
|
||||
sourceBufferList.events.forEach(function (eventName) {
|
||||
proxy(_this2.mediaSource.sourceBuffers, eventName, function (event) {
|
||||
_this2.art.emit("sourceBuffers:".concat(event.type), event);
|
||||
});
|
||||
proxy(_this2.mediaSource.activeSourceBuffers, eventName, function (event) {
|
||||
_this2.art.emit("activeSourceBuffers:".concat(event.type), event);
|
||||
});
|
||||
});
|
||||
this.art.on('mediaSource:sourceopen', function () {
|
||||
_this2.sourceBuffer = _this2.mediaSource.addSourceBuffer(option.mimeCodec);
|
||||
sourceBuffer.events.forEach(function (eventName) {
|
||||
proxy(_this2.sourceBuffer, eventName, function (event) {
|
||||
_this2.art.emit("sourceBuffer:".concat(event.type), event);
|
||||
});
|
||||
});
|
||||
});
|
||||
this.art.on('sourceBuffer:updateend', function () {
|
||||
_this2.mediaSource.endOfStream();
|
||||
});
|
||||
}
|
||||
}]);
|
||||
|
||||
return Mse;
|
||||
}();
|
||||
|
||||
function component(art, parent, target, component, callback, title) {
|
||||
var option = typeof component === 'function' ? component(art) : component;
|
||||
|
||||
@@ -5719,6 +5619,7 @@
|
||||
classCallCheck(this, Artplayer);
|
||||
|
||||
_this = possibleConstructorReturn(this, getPrototypeOf(Artplayer).call(this));
|
||||
errorHandle(typeof window.Promise === 'function', "Unsupported 'Promise' method");
|
||||
_this.option = mergeDeep(Artplayer.DEFAULTS, option);
|
||||
optionValidator(_this.option, scheme);
|
||||
|
||||
@@ -5740,7 +5641,6 @@
|
||||
this.notice = new Notice(this);
|
||||
this.events = new Events(this);
|
||||
this.player = new Player(this);
|
||||
this.mse = new Mse(this);
|
||||
this.layers = new Layers(this);
|
||||
this.controls = new Controls(this);
|
||||
this.contextmenu = new Contextmenu(this);
|
||||
@@ -5805,7 +5705,6 @@
|
||||
theme: '#f00',
|
||||
volume: 0.7,
|
||||
isLive: false,
|
||||
mse: false,
|
||||
muted: false,
|
||||
autoplay: false,
|
||||
autoSize: false,
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"artplayer.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer/node_modules/tiny-emitter/index.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/index.js","../../packages/artplayer/src/scheme/validElement.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/mimeCodec.js","../../packages/artplayer/src/config/mse.js","../../packages/artplayer/src/config/video.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n.js","../../packages/artplayer/src/player/attachUrlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMin.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/switchQualityMix.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/node_modules/get-size/get-size.js","../../packages/artplayer/node_modules/ev-emitter/ev-emitter.js","../../packages/artplayer/node_modules/unipointer/unipointer.js","../../packages/artplayer/node_modules/unidragger/unidragger.js","../../packages/artplayer/node_modules/draggabilly/draggabilly.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/flipMix.js","../../packages/artplayer/src/player/index.js","../../packages/artplayer/src/mse.js","../../packages/artplayer/src/utils/component.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer/src/icons/index.js","../../packages/artplayer/src/controls/fullscreen.js","../../packages/artplayer/src/controls/fullscreenWeb.js","../../packages/artplayer/src/controls/pip.js","../../packages/artplayer/src/controls/playAndPause.js","../../packages/artplayer/src/controls/progress.js","../../packages/artplayer/src/controls/subtitle.js","../../packages/artplayer/src/controls/time.js","../../packages/artplayer/src/controls/volume.js","../../packages/artplayer/src/controls/setting.js","../../packages/artplayer/src/controls/thumbnails.js","../../packages/artplayer/src/controls/screenshot.js","../../packages/artplayer/src/controls/quality.js","../../packages/artplayer/src/controls/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/node_modules/resize-observer/lib/ContentRect.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObservation.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObserver.js","../../packages/artplayer/src/events/resizeInit.js","../../packages/artplayer/src/evLine truncated
|
||||
{"version":3,"file":"artplayer.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer/node_modules/tiny-emitter/index.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/index.js","../../packages/artplayer/src/scheme/validElement.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/mimeCodec.js","../../packages/artplayer/src/config/mse.js","../../packages/artplayer/src/config/video.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n.js","../../packages/artplayer/src/player/attachUrlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMin.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/switchQualityMix.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/node_modules/get-size/get-size.js","../../packages/artplayer/node_modules/ev-emitter/ev-emitter.js","../../packages/artplayer/node_modules/unipointer/unipointer.js","../../packages/artplayer/node_modules/unidragger/unidragger.js","../../packages/artplayer/node_modules/draggabilly/draggabilly.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/flipMix.js","../../packages/artplayer/src/player/index.js","../../packages/artplayer/src/utils/component.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer/src/icons/index.js","../../packages/artplayer/src/controls/fullscreen.js","../../packages/artplayer/src/controls/fullscreenWeb.js","../../packages/artplayer/src/controls/pip.js","../../packages/artplayer/src/controls/playAndPause.js","../../packages/artplayer/src/controls/progress.js","../../packages/artplayer/src/controls/subtitle.js","../../packages/artplayer/src/controls/time.js","../../packages/artplayer/src/controls/volume.js","../../packages/artplayer/src/controls/setting.js","../../packages/artplayer/src/controls/thumbnails.js","../../packages/artplayer/src/controls/screenshot.js","../../packages/artplayer/src/controls/quality.js","../../packages/artplayer/src/controls/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/node_modules/resize-observer/lib/ContentRect.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObservation.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObserver.js","../../packages/artplayer/src/events/resizeInit.js","../../packages/artplayer/src/events/doubleClickInit.js","../../packagLine truncated
|
||||
@@ -0,0 +1,9 @@
|
||||
node_modules
|
||||
.DS_Store
|
||||
yarn.lock
|
||||
package-lock.json
|
||||
test
|
||||
coverage
|
||||
.nyc_output
|
||||
.cache
|
||||
docs
|
||||
@@ -0,0 +1 @@
|
||||
package-lock=false
|
||||
@@ -0,0 +1,3 @@
|
||||
# artplayer-plugin-flv
|
||||
Flv plugin for ArtPlayer
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "artplayer-plugin-flv",
|
||||
"version": "1.0.5",
|
||||
"description": "Flv plugin for ArtPlayer",
|
||||
"main": "dist/artplayer-plugin-flv.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zhw2590582/ArtPlayer.git"
|
||||
},
|
||||
"keywords": [
|
||||
"video",
|
||||
"player"
|
||||
],
|
||||
"author": "Harvey Zack <laozhaochaguan@gmail.com>",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhw2590582/ArtPlayer/issues"
|
||||
},
|
||||
"homepage": "https://github.com/zhw2590582/ArtPlayer#readme",
|
||||
"dependencies": {
|
||||
"tiny-emitter": "^2.0.2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { errorHandle } from './utils';
|
||||
|
||||
export default class CheckSupport {
|
||||
constructor() {
|
||||
const MP4H264MimeCodec = 'video/mp4; codecs="avc1.42001E, mp4a.40.2"';
|
||||
const videoElement = window.document.createElement('video');
|
||||
const canPlay = videoElement.canPlayType(MP4H264MimeCodec);
|
||||
errorHandle(
|
||||
window.MediaSource &&
|
||||
window.MediaSource.isTypeSupported(MP4H264MimeCodec) &&
|
||||
(canPlay === 'probably' || canPlay === 'maybe'),
|
||||
`Unsupported MIME type or codec: ${MP4H264MimeCodec}`,
|
||||
);
|
||||
errorHandle(typeof window.Promise === 'function', "Unsupported 'Promise' method");
|
||||
errorHandle(typeof window.fetch === 'function', "Unsupported 'fetch' method");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
export default class CreatMediaSource {
|
||||
constructor(flv) {
|
||||
this.mediaSource = new MediaSource();
|
||||
this.url = URL.createObjectURL(this.mediaSource);
|
||||
flv.mediaElement.src = this.url;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import Emitter from 'tiny-emitter';
|
||||
import CheckSupport from './checkSupport';
|
||||
import CreatMediaSource from './creatMediaSource';
|
||||
|
||||
class Flv extends Emitter {
|
||||
constructor(mediaElement, url) {
|
||||
super();
|
||||
this.mediaElement = mediaElement;
|
||||
this.url = url;
|
||||
this.support = new CheckSupport(this);
|
||||
this.mediaSource = new CreatMediaSource(this);
|
||||
}
|
||||
|
||||
load() {
|
||||
console.log(this);
|
||||
}
|
||||
|
||||
destroy() {
|
||||
console.log(this);
|
||||
}
|
||||
}
|
||||
|
||||
window.Flv = Flv;
|
||||
export default Flv;
|
||||
@@ -0,0 +1,15 @@
|
||||
export class FlvError extends Error {
|
||||
constructor(message, context) {
|
||||
super(message);
|
||||
if (typeof Error.captureStackTrace === 'function') {
|
||||
Error.captureStackTrace(this, context || this.constructor);
|
||||
}
|
||||
this.name = 'FlvError';
|
||||
}
|
||||
}
|
||||
|
||||
export function errorHandle(condition, msg) {
|
||||
if (!condition) {
|
||||
throw new FlvError(msg);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import Flv from './flv';
|
||||
|
||||
function artplayerPluginFlv(art) {
|
||||
let flv = null;
|
||||
|
||||
art.on('destroy', () => {
|
||||
if (flv) {
|
||||
flv.destroy();
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
flv,
|
||||
init: (mediaElement, url) => {
|
||||
flv = new Flv(mediaElement, url);
|
||||
flv.load();
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
window.artplayerPluginFlv = artplayerPluginFlv;
|
||||
export default artplayerPluginFlv;
|
||||
@@ -9,7 +9,6 @@ import Whitelist from './whitelist';
|
||||
import Template from './template';
|
||||
import I18n from './i18n';
|
||||
import Player from './player';
|
||||
import Mse from './mse';
|
||||
import Controls from './controls';
|
||||
import Contextmenu from './contextmenu';
|
||||
import Info from './info';
|
||||
@@ -29,6 +28,7 @@ let id = 0;
|
||||
class Artplayer extends Emitter {
|
||||
constructor(option) {
|
||||
super();
|
||||
utils.errorHandle(typeof window.Promise === 'function', "Unsupported 'Promise' method");
|
||||
this.option = utils.mergeDeep(Artplayer.DEFAULTS, option);
|
||||
optionValidator(this.option, scheme);
|
||||
this.init();
|
||||
@@ -61,7 +61,6 @@ class Artplayer extends Emitter {
|
||||
theme: '#f00',
|
||||
volume: 0.7,
|
||||
isLive: false,
|
||||
mse: false,
|
||||
muted: false,
|
||||
autoplay: false,
|
||||
autoSize: false,
|
||||
@@ -116,7 +115,6 @@ class Artplayer extends Emitter {
|
||||
this.notice = new Notice(this);
|
||||
this.events = new Events(this);
|
||||
this.player = new Player(this);
|
||||
this.mse = new Mse(this);
|
||||
this.layers = new Layers(this);
|
||||
this.controls = new Controls(this);
|
||||
this.contextmenu = new Contextmenu(this);
|
||||
@@ -151,4 +149,4 @@ Object.defineProperty(Artplayer, 'instances', {
|
||||
});
|
||||
|
||||
window.Artplayer = Artplayer;
|
||||
export default Artplayer;
|
||||
export default Artplayer;
|
||||
@@ -6,37 +6,32 @@ export default function attachUrlMix(art, player) {
|
||||
template: { $video },
|
||||
} = art;
|
||||
|
||||
Object.defineProperty(player, 'returnUrl', {
|
||||
writable: true,
|
||||
value: url => url,
|
||||
});
|
||||
|
||||
Object.defineProperty(player, 'attachUrl', {
|
||||
value: url => {
|
||||
value: url => sleep().then(() => {
|
||||
function attachUrl(videoUrl) {
|
||||
const typeName = type || getExt(videoUrl);
|
||||
const typeCallback = customType[typeName];
|
||||
return sleep().then(() => {
|
||||
if (typeName && typeCallback) {
|
||||
art.emit('beforeCustomType', typeName);
|
||||
typeCallback($video, player.returnUrl(videoUrl), art);
|
||||
art.emit('afterCustomType', typeName);
|
||||
} else {
|
||||
art.emit('beforeAttachUrl', videoUrl);
|
||||
$video.src = player.returnUrl(videoUrl);
|
||||
art.emit('afterAttachUrl', $video.src);
|
||||
}
|
||||
});
|
||||
if (typeName && typeCallback) {
|
||||
art.loading.show();
|
||||
art.emit('beforeCustomType', typeName);
|
||||
typeCallback.call(art, $video, videoUrl, art);
|
||||
art.emit('afterCustomType', typeName);
|
||||
} else {
|
||||
art.emit('beforeAttachUrl');
|
||||
$video.src = videoUrl;
|
||||
art.emit('afterAttachUrl');
|
||||
}
|
||||
return Promise.resolve(videoUrl);
|
||||
}
|
||||
|
||||
if (typeof url === 'function') {
|
||||
return url().then(videoUrl => {
|
||||
return url.call(art).then(videoUrl => {
|
||||
art.loading.show();
|
||||
return attachUrl(videoUrl);
|
||||
});
|
||||
}
|
||||
|
||||
return attachUrl(url);
|
||||
},
|
||||
}),
|
||||
});
|
||||
}
|
||||
@@ -18,7 +18,6 @@ export default {
|
||||
theme: 'string',
|
||||
volume: 'number',
|
||||
isLive: 'boolean',
|
||||
mse: 'boolean',
|
||||
muted: 'boolean',
|
||||
autoplay: 'boolean',
|
||||
autoSize: 'boolean',
|
||||
|
||||
Reference in new issue
Block a user