Merge pull request #8 from zhw2590582/dev-flv

Dev flv
This commit is contained in:
Harvey Zack authored and GitHub committed 2018-12-17 13:40:40 +08:00
commit 1414c5d542
23 files changed
+710 -152

No files matched your search

+1
View File
@@ -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/) |
+44
View File
@@ -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%;
}
+44
View File
@@ -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>
+40
View File
@@ -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);
})();
+57
View File
@@ -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>
+356
View File
@@ -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
+3 -3
View File
@@ -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
View File
@@ -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":"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 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
View File
@@ -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
View File
@@ -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
+9
View File
@@ -0,0 +1,9 @@
node_modules
.DS_Store
yarn.lock
package-lock.json
test
coverage
.nyc_output
.cache
docs
+1
View File
@@ -0,0 +1 @@
package-lock=false
+3
View File
@@ -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;
+2 -4
View File
@@ -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;
+14 -19
View File
@@ -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);
},
}),
});
}
-1
View File
@@ -18,7 +18,6 @@ export default {
theme: 'string',
volume: 'number',
isLive: 'boolean',
mse: 'boolean',
muted: 'boolean',
autoplay: 'boolean',
autoSize: 'boolean',