diff --git a/.npmignore b/.npmignore index 8314ea31f..efa409afe 100644 --- a/.npmignore +++ b/.npmignore @@ -5,5 +5,4 @@ test coverage .nyc_output .cache -dist -.babelrc \ No newline at end of file +docs \ No newline at end of file diff --git a/docs/css/artplayer.css b/docs/css/artplayer.css index 3bc505def..fca74d818 100644 --- a/docs/css/artplayer.css +++ b/docs/css/artplayer.css @@ -1,2 +1,2 @@ -.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-font-smoothing:antialiased;-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 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}.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;box-sizing:border-box}.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%}.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;align-items:center;justify-content:center;cursor:pointer}.artplayer-video-player .artplayer-mask .art-icon-play{opacity:.8;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50px}.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;align-items:center;justify-content:center}.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:50px 10px 0;opacity:0;visibility:hidden;transition:all .2s ease-in-out;box-sizing:border-box;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}.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.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;top:-95px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player.controls-show .artplayer-bottom,.artplayer-video-player:hover .artplayer-bottom{opacity:1;visibility:visible}.artplayer-video-player .artplayer-notice{display:none;font-size:14px;position:absolute;z-index:60;left:10px;top:10px;height:30px;line-height:30px;padding:0 10px;border-radius:3px;color:#fff;background:rgba(0,0,0,.6)}.artplayer-video-player .artplayer-contextmenu{position:absolute;z-index:70;left:0;top:0;width:200px;padding:5px 0;background:rgba(0,0,0,.8)}.artplayer-video-player .artplayer-contextmenu a{font-size:13px;display:block;color:#fff;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;text-shadow:0 0 2px rgba(0,0,0,.5)}.artplayer-video-player .artplayer-contextmenu a:hover{background-color:hsla(0,0%,100%,.1)} +.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 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}.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}.artplayer-video-player .artplayer-layers{position:absolute;z-index:30;left:0;top:0;right:0;bottom:0;width:100%;height:100%}.artplayer-video-player .artplayer-mask{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;align-items:center;justify-content:center;cursor:pointer}.artplayer-video-player .artplayer-mask .art-icon-play{opacity:.8;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50px}.artplayer-video-player .artplayer-loading{display:none;position:absolute;z-index:40;left:0;top:0;right:0;bottom:0;width:100%;height:100%;align-items:center;justify-content:center}.artplayer-video-player .artplayer-bottom{position:absolute;z-index:50;left:0;right:0;bottom:0;height:100px;padding:50px 10px 0;opacity:0;visibility:hidden;transition:all .2s ease-in-out;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}.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.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;top:-95px;left:0;pointer-events:none;background-color:rgba(0,0,0,.7)}.artplayer-video-player.controls-show .artplayer-bottom,.artplayer-video-player:hover .artplayer-bottom{opacity:1;visibility:visible}.artplayer-video-player .artplayer-notice{display:none;font-size:14px;position:absolute;z-index:60;left:10px;top:10px;height:30px;line-height:30px;padding:0 10px;border-radius:3px;color:#fff;background:rgba(0,0,0,.6)}.artplayer-video-player .artplayer-contextmenu{position:absolute;z-index:70;left:0;top:0;width:200px;padding:5px 0;background:rgba(0,0,0,.8)}.artplayer-video-player .artplayer-contextmenu a{font-size:13px;display:block;color:#fff;padding:7px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;text-shadow:0 0 2px rgba(0,0,0,.5)}.artplayer-video-player .artplayer-contextmenu a:hover{background-color:hsla(0,0%,100%,.1)}.artplayer-video-player.artplayer-error .art-progress-indicator,.artplayer-video-player.artplayer-error .art-progress-tip{display:none!important} button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{font-family:sans-serif!important;font-weight:400!important;font-style:normal!important;text-shadow:none!important;font-size:12px!important;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;white-space:nowrap}[data-balloon]:after,[data-balloon]:before{filter:alpha(opactiy=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;transition:all .18s ease-out .18s;position:absolute;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;content:""}[data-balloon]:hover:after,[data-balloon]:hover:before,[data-balloon][data-balloon-visible]:after,[data-balloon][data-balloon-visible]:before{filter:alpha(opactiy=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon].font-awesome:after{font-family:FontAwesome}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:after,[data-balloon][data-balloon-blunt]:before{transition:none}[data-balloon][data-balloon-pos=up]:after{margin-bottom:11px}[data-balloon][data-balloon-pos=up]:after,[data-balloon][data-balloon-pos=up]:before{bottom:100%;left:50%;-webkit-transform:translate(-50%,10px);transform:translate(-50%,10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:before{margin-bottom:5px}[data-balloon][data-balloon-pos=up]:hover:after,[data-balloon][data-balloon-pos=up]:hover:before,[data-balloon][data-balloon-pos=up][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=up-left]:after{left:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-left]:after,[data-balloon][data-balloon-pos=up-left]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-left]:before{left:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-left]:hover:after,[data-balloon][data-balloon-pos=up-left]:hover:before,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=up-right]:after{right:0;margin-bottom:11px}[data-balloon][data-balloon-pos=up-right]:after,[data-balloon][data-balloon-pos=up-right]:before{bottom:100%;-webkit-transform:translateY(10px);transform:translateY(10px);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up-right]:before{right:5px;margin-bottom:5px}[data-balloon][data-balloon-pos=up-right]:hover:after,[data-balloon][data-balloon-pos=up-right]:hover:before,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=up-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down]:after{margin-top:11px}[data-balloon][data-balloon-pos=down]:after,[data-balloon][data-balloon-pos=down]:before{left:50%;top:100%;-webkit-transform:translate(-50%,-10px);transform:translate(-50%,-10px)}[data-balloon][data-balloon-pos=down]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;margin-top:5px}[data-balloon][data-balloon-pos=down]:hover:after,[data-balloon][data-balloon-pos=down]:hover:before,[data-balloon][data-balloon-pos=down][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down][data-balloon-visible]:before{-webkit-transform:translate(-50%);transform:translate(-50%)}[data-balloon][data-balloon-pos=down-left]:after{left:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-left]:hover:after,[data-balloon][data-balloon-pos=down-left]:hover:before,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-left][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=down-right]:after{right:0;margin-top:11px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12z'/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translateY(-10px);transform:translateY(-10px)}[data-balloon][data-balloon-pos=down-right]:hover:after,[data-balloon][data-balloon-pos=down-right]:hover:before,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=down-right][data-balloon-visible]:before{-webkit-transform:translate(0);transform:translate(0)}[data-balloon][data-balloon-pos=left]:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px,-50%);transform:translate(10px,-50%)}[data-balloon][data-balloon-pos=left]:hover:after,[data-balloon][data-balloon-pos=left]:hover:before,[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,[data-balloon][data-balloon-pos=left][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-pos=right]:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17,17,17,0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px,-50%);transform:translate(-10px,-50%)}[data-balloon][data-balloon-pos=right]:hover:after,[data-balloon][data-balloon-pos=right]:hover:before,[data-balloon][data-balloon-pos=right][data-balloon-visible]:after,[data-balloon][data-balloon-pos=right][data-balloon-visible]:before{-webkit-transform:translateY(-50%);transform:translateY(-50%)}[data-balloon][data-balloon-length=small]:after{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]:after{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]:after{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]:after{white-space:normal;width:100%} \ No newline at end of file diff --git a/docs/js/artplayer.js b/docs/js/artplayer.js index 008993fda..294d82243 100644 --- a/docs/js/artplayer.js +++ b/docs/js/artplayer.js @@ -1,2039 +1,2116 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.artplayer = {}))); + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.artplayer = {}))); }(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 _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 ArtPlayerError = - /*#__PURE__*/ - function (_Error) { - inherits(ArtPlayerError, _Error); - - function ArtPlayerError(message, context) { - var _this; - - classCallCheck(this, ArtPlayerError); - - _this = possibleConstructorReturn(this, getPrototypeOf(ArtPlayerError).call(this, message)); - - if (typeof Error.captureStackTrace === 'function') { - Error.captureStackTrace(assertThisInitialized(assertThisInitialized(_this)), context || _this.constructor); - } - - _this.name = 'ArtPlayerError'; - return _this; - } - - return ArtPlayerError; - }(wrapNativeSuper(Error)); - - function errorHandle(condition, msg) { - if (!condition) { - throw new ArtPlayerError(msg); - } - } - function clamp(num, a, b) { - return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b)); - } - function getExt(url) { - if (url.includes('?')) { - return getExt(url.split('?')[0]); - } - - if (url.includes('#')) { - return getExt(url.split('#')[0]); - } - - return url.trim().toLowerCase().split('.').pop(); - } - function append(parent, child) { - if (child instanceof Element) { - parent.appendChild(child); - } else { - parent.insertAdjacentHTML('beforeend', child); - } - - return parent; - } - function setStyle(element, styles) { - Object.keys(styles).forEach(function (key) { - element.style[key] = styles[key]; - }); - return element; - } - function secondToTime(second) { - var add0 = function add0(num) { - return num < 10 ? "0".concat(num) : String(num); - }; - - var hour = Math.floor(second / 3600); - var min = Math.floor((second - hour * 3600) / 60); - var sec = Math.floor(second - hour * 3600 - min * 60); - return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':'); - } - - function validOption(option) { - errorHandle(option.container, '\'container\' option is required.'); - errorHandle(option.url, '\'url\' option is required.'); - errorHandle(typeof option.container === 'string' || option.container instanceof Element, "'container' option require 'string' or 'Element' type, but got '".concat(_typeof_1(option.container), "'.")); - errorHandle(typeof option.url === 'string', "'url' option require 'string' type, but got '".concat(_typeof_1(option.url), "'.")); - errorHandle(typeof option.poster === 'string', "'poster' option require 'string' type, but got '".concat(_typeof_1(option.poster), "'.")); - errorHandle(Object.prototype.toString.call(option.thumbnails) === '[object Object]', "'thumbnails' option require 'object' type, but got '".concat(_typeof_1(option.thumbnails), "'.")); - errorHandle(typeof option.volume === 'number', "'volume' option require 'number' type, but got '".concat(_typeof_1(option.volume), "'.")); - errorHandle(typeof option.autoplay === 'boolean', "'autoplay' option require 'boolean' type, but got '".concat(_typeof_1(option.autoplay), "'.")); - errorHandle(['none', 'metadata', 'auto'].indexOf(option.preload) > -1, "'preload' option require one of 'none\u3001metadata\u3001auto', but got '".concat(option.preload, ".")); - errorHandle(typeof option.lang === 'string', "'lang' option require 'string' type, but got '".concat(_typeof_1(option.lang), "'.")); - errorHandle(typeof option.type === 'string', "'type' option require 'string' type, but got '".concat(_typeof_1(option.type), "'.")); - errorHandle(typeof option.mimeCodec === 'string', "'mimeCodec' option require 'string' type, but got '".concat(_typeof_1(option.mimeCodec), "'.")); - errorHandle(Array.isArray(option.layers), "'layers' option require 'array' type, but got '".concat(_typeof_1(option.layers), "'.")); - errorHandle(Array.isArray(option.contextmenu), "'contextmenu' option require 'array' type, but got '".concat(_typeof_1(option.contextmenu), "'.")); - errorHandle(typeof option.loading === 'string' || option.loading instanceof Element, "'loading' option require 'string' type, but got '".concat(_typeof_1(option.loading), "'.")); - errorHandle(typeof option.theme === 'string', "'theme' option require 'string' type, but got '".concat(_typeof_1(option.theme), "'.")); - errorHandle(typeof option.hotkey === 'boolean', "'hotkey' option require 'boolean' type, but got '".concat(_typeof_1(option.hotkey), "'.")); - errorHandle(Object.prototype.toString.call(option.subtitle) === '[object Object]', "'subtitle' option require 'object' type, but got '".concat(_typeof_1(option.subtitle), "'.")); - errorHandle(Array.isArray(option.controls), "'controls' option require 'array' type, but got '".concat(_typeof_1(option.controls), "'.")); - errorHandle(Array.isArray(option.highlight), "'highlight' option require 'array' type, but got '".concat(_typeof_1(option.highlight), "'.")); - } - - var mimeCodec = { - mp4: 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"', - webm: 'video/webm; codecs="vorbis, vp8"', - ts: 'video/mp2t; codecs="avc1.42E01E, mp4a.40.2"' - }; - - var mse = { - mediaSource: { - propertys: ['activeSourceBuffers', 'duration', 'readyState', 'sourceBuffers'], - methods: ['addSourceBuffer', 'endOfStream', 'removeSourceBuffer', 'clearLiveSeekableRange', 'setLiveSeekableRange'], - events: ['sourceclose', 'sourceended', 'sourceopen'] - }, - sourceBuffer: { - propertys: ['mode', 'updating', 'buffered', 'timestampOffset', 'audioTracks', 'videoTracks', 'textTracks', 'appendWindowStart', 'appendWindowEnd', 'trackDefaults'], - methods: ['appendBuffer', 'appendStream', 'abort', 'remove'], - events: ['abort', 'error', 'update', 'updateend', 'updatestart'] - }, - sourceBufferList: { - propertys: ['length'], - events: ['addsourcebuffer', 'removesourcebuffer'] - } - }; - - var video = { - propertys: ['audioTracks', 'autoplay', 'buffered', 'controller', 'controls', 'crossOrigin', 'currentSrc', 'currentTime', 'defaultMuted', 'defaultPlaybackRate', 'duration', 'ended', 'error', 'loop', 'mediaGroup', 'muted', 'networkState', 'paused', 'playbackRate', 'played', 'preload', 'readyState', 'seekable', 'seeking', 'src', 'startDate', 'textTracks', 'videoTracks', 'volume'], - methods: ['addTextTrack', 'canPlayType', 'load', 'play', 'pause'], - events: ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting'] - }; - - var config = { - mimeCodec: mimeCodec, - mse: mse, - video: video - }; - - 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 (name, callback, ctx) { - var e = this.e || (this.e = {}); - - (e[name] || (e[name] = [])).push({ - fn: callback, - ctx: ctx - }); - - return this; - }, - - once: function (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 (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 (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; - - var Template = - /*#__PURE__*/ - function () { - function Template(art) { - classCallCheck(this, Template); - - this.art = art; - this.init(); - } - - createClass(Template, [{ - key: "init", - value: function init() { - var refs = this.art.refs; - refs.$container.innerHTML = "\n
".concat(item, "
"); - }).join(''); - } - - _this.art.emit('subtitle:update', $subtitle); - }); - } - } - }, { - key: "show", - value: function show() { - var $subtitle = this.art.refs.$subtitle; - $subtitle.style.display = 'block'; - this.art.emit('subtitle:show', $subtitle); - } - }, { - key: "hide", - value: function hide() { - var $subtitle = this.art.refs.$subtitle; - $subtitle.style.display = 'none'; - this.art.emit('subtitle:hide', $subtitle); - } - }, { - key: "switch", - value: function _switch(url) { - var $track = this.art.refs.$track; - errorHandle(getExt(url) === 'vtt', "'url' option require 'vtt' format, but got '".concat(getExt(url), "'.")); - errorHandle($track, 'You need to initialize the subtitle option first.'); - $track.src = url; - this.art.emit('subtitle:switch', url); - } - }]); - - return Subtitle; - }(); - - var Events = - /*#__PURE__*/ - function () { - function Events(art) { - classCallCheck(this, Events); - - this.art = art; - this.destroyEvents = []; - this.proxy = this.proxy.bind(this); - } - - createClass(Events, [{ - key: "proxy", - value: function proxy(target, name, callback) { - var _this = this; - - var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - if (Array.isArray(name)) { - name.forEach(function (item) { - return _this.proxy(target, item, callback, option); - }); - } - - target.addEventListener(name, callback, option); - - var destroy = function destroy() { - target.removeEventListener(name, callback, option); - }; - - this.destroyEvents.push(destroy); - return destroy; - } - }, { - key: "destroy", - value: function destroy() { - this.destroyEvents.forEach(function (event) { - return event(); - }); - } - }]); - - return Events; - }(); - - var Hotkey = - /*#__PURE__*/ - function () { - function Hotkey(art) { - classCallCheck(this, Hotkey); - - this.art = art; - - if (this.art.option.hotkey) { - this.init(); - } - } - - createClass(Hotkey, [{ - key: "init", - value: function init() { - var _this = this; - - var _this$art = this.art, - player = _this$art.player, - $player = _this$art.refs.$player, - proxy = _this$art.events.proxy; - proxy(document, 'click', function (event) { - _this.art.isFocus = event.path.indexOf($player) > -1; - }); - proxy(window, 'keydown', function (event) { - if (_this.art.isFocus) { - var tag = document.activeElement.tagName.toUpperCase(); - var editable = document.activeElement.getAttribute('contenteditable'); - - if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') { - switch (event.keyCode) { - case 39: - event.preventDefault(); - player.seek(player.currentTime() + 10); - break; - - case 37: - event.preventDefault(); - player.seek(player.currentTime() - 10); - break; - - case 38: - event.preventDefault(); - player.volume(player.volume() + 0.05); - break; - - case 40: - event.preventDefault(); - player.volume(player.volume() - 0.05); - break; - - case 32: - event.preventDefault(); - player.toggle(); - break; - - default: - break; - } - } - } - }); - } - }]); - - return Hotkey; - }(); - - var id$1 = 0; - - var Layers = - /*#__PURE__*/ - function () { - function Layers(art) { - classCallCheck(this, Layers); - - this.art = art; - this.add = this.add.bind(this); - this.art.option.layers.forEach(this.add); - this.init(); - } - - createClass(Layers, [{ - key: "init", - value: function init() { - var _this$art = this.art, - refs = _this$art.refs, - player = _this$art.player, - proxy = _this$art.events.proxy; - proxy(refs.$layers, 'click', function (event) { - if (event.path[0] === refs.$layers) { - player.pause(); - } - }); - } - }, { - key: "add", - value: function add(option, callback) { - var refs = this.art.refs; - id$1++; - var $layer = document.createElement('div'); - $layer.setAttribute('data-art-layer-id', id$1); - $layer.setAttribute('class', "art-layer art-layer-".concat(option.name || id$1)); - $layer.style.zIndex = option.index || id$1; - append($layer, option.html); - setStyle($layer, option.style || {}); - refs.$layers.appendChild($layer); - this.art.emit('layers:add', $layer); - callback && callback($layer); - } - }, { - key: "show", - value: function show() { - var $layers = this.art.refs.$layers; - $layers.style.display = 'block'; - this.art.emit('layers:show', $layers); - } - }, { - key: "hide", - value: function hide() { - var $layers = this.art.refs.$layers; - $layers.style.display = 'none'; - this.art.emit('layers:hide', $layers); - } - }]); - - return Layers; - }(); - - var loading = "\n"; - - var play = "\n"; - - var icons = { - loading: loading, - play: play - }; - - function creatDomFromSvg(map) { - var result = {}; - Object.keys(map).forEach(function (name) { - var tmp = document.createElement('div'); - tmp.innerHTML = "").concat(map[name], ""); - - var _tmp$childNodes = slicedToArray(tmp.childNodes, 1); - - result[name] = _tmp$childNodes[0]; - }); - return result; - } - - var icons$1 = creatDomFromSvg(icons); - - var Loading = - /*#__PURE__*/ - function () { - function Loading(art) { - classCallCheck(this, Loading); - - this.art = art; - this.init(); - } - - createClass(Loading, [{ - key: "init", - value: function init() { - var _this$art = this.art, - option = _this$art.option, - $loading = _this$art.refs.$loading; - append($loading, option.loading || icons$1.loading); - } - }, { - key: "hide", - value: function hide() { - var $loading = this.art.refs.$loading; - $loading.style.display = 'none'; - this.art.emit('loading:hide', $loading); - } - }, { - key: "show", - value: function show() { - var $loading = this.art.refs.$loading; - $loading.style.display = 'flex'; - this.art.emit('loading:show', $loading); - } - }]); - - return Loading; - }(); - - var Notice = - /*#__PURE__*/ - function () { - function Notice(art) { - classCallCheck(this, Notice); - - this.art = art; - this.timer = null; - } - - createClass(Notice, [{ - key: "show", - value: function show(msg) { - var _this = this; - - var autoHide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000; - var $notice = this.art.refs.$notice; - $notice.style.display = 'block'; - $notice.innerHTML = msg instanceof Error ? msg.message.trim() : msg; - - if (autoHide) { - clearTimeout(this.timer); - this.timer = setTimeout(function () { - _this.hide(); - }, time); - } - - this.art.emit('notice:show', $notice); - } - }, { - key: "hide", - value: function hide() { - var $notice = this.art.refs.$notice; - $notice.style.display = 'none'; - this.art.emit('notice:hide', $notice); - } - }]); - - return Notice; - }(); - - var Mask = - /*#__PURE__*/ - function () { - function Mask(art) { - classCallCheck(this, Mask); - - this.art = art; - this.init(); - } - - createClass(Mask, [{ - key: "init", - value: function init() { - var _this = this; - - var _this$art = this.art, - player = _this$art.player, - option = _this$art.option, - refs = _this$art.refs, - proxy = _this$art.events.proxy; - var playClone = icons$1.play.cloneNode(true); - playClone.style.backgroundColor = option.theme; - append(refs.$mask, playClone); - proxy(refs.$mask, 'click', function () { - player.play(); - - _this.hide(); - }); - } - }, { - key: "show", - value: function show() { - var $mask = this.art.refs.$mask; - $mask.style.display = 'flex'; - this.art.emit('mask:show', $mask); - } - }, { - key: "hide", - value: function hide() { - var $mask = this.art.refs.$mask; - $mask.style.display = 'none'; - this.art.emit('mask:show', $mask); - } - }]); - - return Mask; - }(); - - var id$2 = 0; - var instances = []; - - var Artplayer = - /*#__PURE__*/ - function (_Emitter) { - inherits(Artplayer, _Emitter); - - function Artplayer(option) { - var _this; - - classCallCheck(this, Artplayer); - - _this = possibleConstructorReturn(this, getPrototypeOf(Artplayer).call(this)); - - _this.emit('init:start'); - - _this.option = Object.assign({}, Artplayer.DEFAULTS, option); - validOption(_this.option); - - _this.init(); - - _this.emit('init:end'); - - return _this; - } - - createClass(Artplayer, [{ - key: "init", - value: function init() { - this.isFocus = false; - this.isPlaying = false; - this.refs = {}; - - if (this.option.container instanceof Element) { - this.refs.$container = this.option.container; - } else { - this.refs.$container = document.querySelector(this.option.container); - } - - this.template = new Template(this); - this.i18n = new I18n(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); - this.danmu = new Danmu$1(this); - this.subtitle = new Subtitle$1(this); - this.info = new Info(this); - this.loading = new Loading(this); - this.notice = new Notice(this); - this.hotkey = new Hotkey(this); - this.mask = new Mask(this); - this.id = id$2++; - instances.push(this); - return this; - } - }, { - key: "destroy", - value: function destroy() { - this.events.destroy(); - this.refs.$container.innerHTML = ''; - instances.splice(instances.indexOf(this), 1); - this.emit('destroy'); - } - }], [{ - key: "use", - value: function use(plugin) { - var installedPlugins = this.plugins || (this.plugins = []); - - if (installedPlugins.indexOf(plugin) > -1) { - return this; - } - - var args = Array.from(arguments).slice(1); - args.unshift(this); - - if (typeof plugin.install === 'function') { - plugin.install.apply(plugin, args); - } else if (typeof plugin === 'function') { - plugin.apply(null, args); - } - - installedPlugins.push(plugin); - return this; - } - }, { - key: "version", - get: function get() { - return '1.0.0'; - } - }, { - key: "config", - get: function get() { - return config; - } - }, { - key: "DEFAULTS", - get: function get() { - return { - container: '.artplayer', - url: '', - poster: '', - thumbnails: { - url: '', - number: 100, - width: 160, - height: 90 - }, - volume: 0.7, - autoplay: false, - preload: 'auto', - type: '', - mimeCodec: '', - layers: [], - contextmenu: [], - loading: '', - theme: '#f00', - hotkey: true, - subtitle: { - url: '', - style: {} - }, - controls: [], - highlight: [], - lang: navigator.language.toLowerCase() - }; - } - }]); - - return Artplayer; - }(tinyEmitter); - - window.Artplayer = Artplayer; - - exports.instances = instances; - exports.default = Artplayer; - - Object.defineProperty(exports, '__esModule', { value: true }); + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + 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; + }); + + 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; + }); + + function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { + arr2[i] = arr[i]; + } + + return arr2; + } + } + + var arrayWithoutHoles = _arrayWithoutHoles; + + function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); + } + + var iterableToArray = _iterableToArray; + + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); + } + + var nonIterableSpread = _nonIterableSpread; + + function _toConsumableArray(arr) { + return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); + } + + var toConsumableArray = _toConsumableArray; + + 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; + + 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; + }); + + 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 _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; + } + + var isNativeFunction = _isNativeFunction; + + 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 ArtPlayerError = + /*#__PURE__*/ + function (_Error) { + inherits(ArtPlayerError, _Error); + + function ArtPlayerError(message, context) { + var _this; + + classCallCheck(this, ArtPlayerError); + + _this = possibleConstructorReturn(this, getPrototypeOf(ArtPlayerError).call(this, message)); + + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(assertThisInitialized(assertThisInitialized(_this)), context || _this.constructor); + } + + _this.name = 'ArtPlayerError'; + return _this; + } + + return ArtPlayerError; + }(wrapNativeSuper(Error)); + + function errorHandle(condition, msg) { + if (!condition) { + throw new ArtPlayerError(msg); + } + } + function clamp(num, a, b) { + return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b)); + } + function getExt(url) { + if (url.includes('?')) { + return getExt(url.split('?')[0]); + } + + if (url.includes('#')) { + return getExt(url.split('#')[0]); + } + + return url.trim().toLowerCase().split('.').pop(); + } + function append(parent, child) { + if (child instanceof Element) { + parent.appendChild(child); + } else { + parent.insertAdjacentHTML('beforeend', child); + } + + return parent; + } + function setStyle(element, styles) { + Object.keys(styles).forEach(function (key) { + element.style[key] = styles[key]; + }); + return element; + } + function secondToTime(second) { + var add0 = function add0(num) { + return num < 10 ? "0".concat(num) : String(num); + }; + + var hour = Math.floor(second / 3600); + var min = Math.floor((second - hour * 3600) / 60); + var sec = Math.floor(second - hour * 3600 - min * 60); + return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':'); + } + + function validOption(option) { + errorHandle(option.container, '\'container\' option is required.'); + errorHandle(option.url, '\'url\' option is required.'); + errorHandle(typeof option.container === 'string' || option.container instanceof Element, "'container' option require 'string' or 'Element' type, but got '".concat(_typeof_1(option.container), "'.")); + errorHandle(typeof option.url === 'string', "'url' option require 'string' type, but got '".concat(_typeof_1(option.url), "'.")); + errorHandle(typeof option.poster === 'string', "'poster' option require 'string' type, but got '".concat(_typeof_1(option.poster), "'.")); + errorHandle(Object.prototype.toString.call(option.thumbnails) === '[object Object]', "'thumbnails' option require 'object' type, but got '".concat(_typeof_1(option.thumbnails), "'.")); + errorHandle(typeof option.volume === 'number', "'volume' option require 'number' type, but got '".concat(_typeof_1(option.volume), "'.")); + errorHandle(typeof option.autoplay === 'boolean', "'autoplay' option require 'boolean' type, but got '".concat(_typeof_1(option.autoplay), "'.")); + errorHandle(typeof option.loop === 'boolean', "'loop' option require 'boolean' type, but got '".concat(_typeof_1(option.loop), "'.")); + errorHandle(['none', 'metadata', 'auto'].indexOf(option.preload) > -1, "'preload' option require one of 'none\u3001metadata\u3001auto', but got '".concat(option.preload, ".")); + errorHandle(typeof option.lang === 'string', "'lang' option require 'string' type, but got '".concat(_typeof_1(option.lang), "'.")); + errorHandle(typeof option.type === 'string', "'type' option require 'string' type, but got '".concat(_typeof_1(option.type), "'.")); + errorHandle(typeof option.mimeCodec === 'string', "'mimeCodec' option require 'string' type, but got '".concat(_typeof_1(option.mimeCodec), "'.")); + errorHandle(Array.isArray(option.layers), "'layers' option require 'array' type, but got '".concat(_typeof_1(option.layers), "'.")); + errorHandle(Array.isArray(option.contextmenu), "'contextmenu' option require 'array' type, but got '".concat(_typeof_1(option.contextmenu), "'.")); + errorHandle(typeof option.loading === 'string' || option.loading instanceof Element, "'loading' option require 'string' type, but got '".concat(_typeof_1(option.loading), "'.")); + errorHandle(typeof option.theme === 'string', "'theme' option require 'string' type, but got '".concat(_typeof_1(option.theme), "'.")); + errorHandle(typeof option.hotkey === 'boolean', "'hotkey' option require 'boolean' type, but got '".concat(_typeof_1(option.hotkey), "'.")); + errorHandle(Object.prototype.toString.call(option.subtitle) === '[object Object]', "'subtitle' option require 'object' type, but got '".concat(_typeof_1(option.subtitle), "'.")); + errorHandle(Array.isArray(option.controls), "'controls' option require 'array' type, but got '".concat(_typeof_1(option.controls), "'.")); + errorHandle(Array.isArray(option.highlight), "'highlight' option require 'array' type, but got '".concat(_typeof_1(option.highlight), "'.")); + } + + var mimeCodec = { + mp4: 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"', + webm: 'video/webm; codecs="vorbis, vp8"', + ts: 'video/mp2t; codecs="avc1.42E01E, mp4a.40.2"' + }; + + var mse = { + mediaSource: { + propertys: ['activeSourceBuffers', 'duration', 'readyState', 'sourceBuffers'], + methods: ['addSourceBuffer', 'endOfStream', 'removeSourceBuffer', 'clearLiveSeekableRange', 'setLiveSeekableRange'], + events: ['sourceclose', 'sourceended', 'sourceopen'] + }, + sourceBuffer: { + propertys: ['mode', 'updating', 'buffered', 'timestampOffset', 'audioTracks', 'videoTracks', 'textTracks', 'appendWindowStart', 'appendWindowEnd', 'trackDefaults'], + methods: ['appendBuffer', 'appendStream', 'abort', 'remove'], + events: ['abort', 'error', 'update', 'updateend', 'updatestart'] + }, + sourceBufferList: { + propertys: ['length'], + events: ['addsourcebuffer', 'removesourcebuffer'] + } + }; + + var video = { + propertys: ['audioTracks', 'autoplay', 'buffered', 'controller', 'controls', 'crossOrigin', 'currentSrc', 'currentTime', 'defaultMuted', 'defaultPlaybackRate', 'duration', 'ended', 'error', 'loop', 'mediaGroup', 'muted', 'networkState', 'paused', 'playbackRate', 'played', 'preload', 'readyState', 'seekable', 'seeking', 'src', 'startDate', 'textTracks', 'videoTracks', 'volume'], + methods: ['addTextTrack', 'canPlayType', 'load', 'play', 'pause'], + events: ['abort', 'canplay', 'canplaythrough', 'durationchange', 'emptied', 'ended', 'error', 'loadeddata', 'loadedmetadata', 'loadstart', 'pause', 'play', 'playing', 'progress', 'ratechange', 'seeked', 'seeking', 'stalled', 'suspend', 'timeupdate', 'volumechange', 'waiting'] + }; + + var config = { + mimeCodec: mimeCodec, + mse: mse, + video: video + }; + + 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 (name, callback, ctx) { + var e = this.e || (this.e = {}); + + (e[name] || (e[name] = [])).push({ + fn: callback, + ctx: ctx + }); + + return this; + }, + + once: function (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 (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 (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; + + var Template = + /*#__PURE__*/ + function () { + function Template(art) { + classCallCheck(this, Template); + + this.art = art; + this.init(); + } + + createClass(Template, [{ + key: "init", + value: function init() { + var refs = this.art.refs; + refs.$container.innerHTML = "\n".concat(item, "
"); + }).join(''); + } + + _this.art.emit('subtitle:update', $subtitle); + }); + } + } + }, { + key: "show", + value: function show() { + var $subtitle = this.art.refs.$subtitle; + $subtitle.style.display = 'block'; + this.art.emit('subtitle:show', $subtitle); + } + }, { + key: "hide", + value: function hide() { + var $subtitle = this.art.refs.$subtitle; + $subtitle.style.display = 'none'; + this.art.emit('subtitle:hide', $subtitle); + } + }, { + key: "switch", + value: function _switch(url) { + var $track = this.art.refs.$track; + errorHandle(getExt(url) === 'vtt', "'url' option require 'vtt' format, but got '".concat(getExt(url), "'.")); + errorHandle($track, 'You need to initialize the subtitle option first.'); + $track.src = url; + this.art.emit('subtitle:switch', url); + } + }]); + + return Subtitle; + }(); + + var Events = + /*#__PURE__*/ + function () { + function Events(art) { + classCallCheck(this, Events); + + this.art = art; + this.destroyEvents = []; + this.proxy = this.proxy.bind(this); + } + + createClass(Events, [{ + key: "proxy", + value: function proxy(target, name, callback) { + var _this = this; + + var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + + if (Array.isArray(name)) { + name.forEach(function (item) { + return _this.proxy(target, item, callback, option); + }); + } + + target.addEventListener(name, callback, option); + + var destroy = function destroy() { + target.removeEventListener(name, callback, option); + }; + + this.destroyEvents.push(destroy); + return destroy; + } + }, { + key: "destroy", + value: function destroy() { + this.destroyEvents.forEach(function (event) { + return event(); + }); + } + }]); + + return Events; + }(); + + var Hotkey = + /*#__PURE__*/ + function () { + function Hotkey(art) { + classCallCheck(this, Hotkey); + + this.art = art; + + if (this.art.option.hotkey) { + this.init(); + } + } + + createClass(Hotkey, [{ + key: "init", + value: function init() { + var _this = this; + + var _this$art = this.art, + player = _this$art.player, + $player = _this$art.refs.$player, + proxy = _this$art.events.proxy; + proxy(document, 'click', function (event) { + _this.art.isFocus = event.path.indexOf($player) > -1; + }); + proxy(window, 'keydown', function (event) { + if (_this.art.isFocus) { + var tag = document.activeElement.tagName.toUpperCase(); + var editable = document.activeElement.getAttribute('contenteditable'); + + if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') { + switch (event.keyCode) { + case 39: + event.preventDefault(); + player.seek(player.currentTime() + 10); + break; + + case 37: + event.preventDefault(); + player.seek(player.currentTime() - 10); + break; + + case 38: + event.preventDefault(); + player.volume(player.volume() + 0.05); + break; + + case 40: + event.preventDefault(); + player.volume(player.volume() - 0.05); + break; + + case 32: + event.preventDefault(); + player.toggle(); + break; + + default: + break; + } + } + } + }); + } + }]); + + return Hotkey; + }(); + + var id$1 = 0; + + var Layers = + /*#__PURE__*/ + function () { + function Layers(art) { + classCallCheck(this, Layers); + + this.art = art; + this.add = this.add.bind(this); + this.art.option.layers.forEach(this.add); + this.init(); + } + + createClass(Layers, [{ + key: "init", + value: function init() { + var _this$art = this.art, + refs = _this$art.refs, + player = _this$art.player, + proxy = _this$art.events.proxy; + proxy(refs.$layers, 'click', function (event) { + if (event.path[0] === refs.$layers) { + player.pause(); + } + }); + } + }, { + key: "add", + value: function add(option, callback) { + var refs = this.art.refs; + id$1++; + var $layer = document.createElement('div'); + $layer.setAttribute('data-art-layer-id', id$1); + $layer.setAttribute('class', "art-layer art-layer-".concat(option.name || id$1)); + $layer.style.zIndex = option.index || id$1; + append($layer, option.html); + setStyle($layer, option.style || {}); + refs.$layers.appendChild($layer); + this.art.emit('layers:add', $layer); + callback && callback($layer); + } + }, { + key: "show", + value: function show() { + var $layers = this.art.refs.$layers; + $layers.style.display = 'block'; + this.art.emit('layers:show', $layers); + } + }, { + key: "hide", + value: function hide() { + var $layers = this.art.refs.$layers; + $layers.style.display = 'none'; + this.art.emit('layers:hide', $layers); + } + }]); + + return Layers; + }(); + + var loading = "\n"; + + var play = "\n"; + + var icons = { + loading: loading, + play: play + }; + + function creatDomFromSvg(map) { + var result = {}; + Object.keys(map).forEach(function (name) { + var tmp = document.createElement('div'); + tmp.innerHTML = "").concat(map[name], ""); + + var _tmp$childNodes = slicedToArray(tmp.childNodes, 1); + + result[name] = _tmp$childNodes[0]; + }); + return result; + } + + var icons$1 = creatDomFromSvg(icons); + + var Loading = + /*#__PURE__*/ + function () { + function Loading(art) { + classCallCheck(this, Loading); + + this.art = art; + this.init(); + } + + createClass(Loading, [{ + key: "init", + value: function init() { + var _this$art = this.art, + option = _this$art.option, + $loading = _this$art.refs.$loading; + append($loading, option.loading || icons$1.loading); + } + }, { + key: "hide", + value: function hide() { + var $loading = this.art.refs.$loading; + $loading.style.display = 'none'; + this.art.emit('loading:hide', $loading); + } + }, { + key: "show", + value: function show() { + var $loading = this.art.refs.$loading; + $loading.style.display = 'flex'; + this.art.emit('loading:show', $loading); + } + }]); + + return Loading; + }(); + + var Notice = + /*#__PURE__*/ + function () { + function Notice(art) { + classCallCheck(this, Notice); + + this.art = art; + this.timer = null; + } + + createClass(Notice, [{ + key: "show", + value: function show(msg) { + var _this = this; + + var autoHide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000; + var $notice = this.art.refs.$notice; + $notice.style.display = 'block'; + $notice.innerHTML = msg instanceof Error ? msg.message.trim() : msg; + + if (autoHide) { + clearTimeout(this.timer); + this.timer = setTimeout(function () { + _this.hide(); + }, time); + } + + this.art.emit('notice:show', $notice); + } + }, { + key: "hide", + value: function hide() { + var $notice = this.art.refs.$notice; + $notice.style.display = 'none'; + this.art.emit('notice:hide', $notice); + } + }]); + + return Notice; + }(); + + var Mask = + /*#__PURE__*/ + function () { + function Mask(art) { + classCallCheck(this, Mask); + + this.art = art; + this.init(); + } + + createClass(Mask, [{ + key: "init", + value: function init() { + var _this = this; + + var _this$art = this.art, + player = _this$art.player, + option = _this$art.option, + refs = _this$art.refs, + proxy = _this$art.events.proxy; + var playClone = icons$1.play.cloneNode(true); + playClone.style.backgroundColor = option.theme; + append(refs.$mask, playClone); + proxy(refs.$mask, 'click', function () { + player.play(); + + _this.hide(); + }); + } + }, { + key: "show", + value: function show() { + var $mask = this.art.refs.$mask; + $mask.style.display = 'flex'; + this.art.emit('mask:show', $mask); + } + }, { + key: "hide", + value: function hide() { + var $mask = this.art.refs.$mask; + $mask.style.display = 'none'; + this.art.emit('mask:show', $mask); + } + }]); + + return Mask; + }(); + + var Srt = function Srt(art) { + classCallCheck(this, Srt); + + this.art = art; + console.log(this); + }; + + var Mse$1 = function Mse(art) { + classCallCheck(this, Mse); + + this.art = art; + console.log(this); + }; + + var plugins = { + Srt: Srt, + Mse: Mse$1 + }; + + var id$2 = 0; + var instances = []; + + var Artplayer = + /*#__PURE__*/ + function (_Emitter) { + inherits(Artplayer, _Emitter); + + function Artplayer(option) { + var _this; + + classCallCheck(this, Artplayer); + + _this = possibleConstructorReturn(this, getPrototypeOf(Artplayer).call(this)); + + _this.emit('init:start'); + + _this.option = Object.assign({}, Artplayer.DEFAULTS, option); + validOption(_this.option); + + _this.init(); + + _this.usePlugins(); + + _this.emit('init:end'); + + return _this; + } + + createClass(Artplayer, [{ + key: "init", + value: function init() { + this.isError = false; + this.isFocus = false; + this.isPlaying = false; + this.refs = {}; + + if (this.option.container instanceof Element) { + this.refs.$container = this.option.container; + } else { + this.refs.$container = document.querySelector(this.option.container); + } + + this.template = new Template(this); + this.i18n = new I18n(this); + 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); + this.danmu = new Danmu$1(this); + this.subtitle = new Subtitle$1(this); + this.info = new Info(this); + this.loading = new Loading(this); + this.hotkey = new Hotkey(this); + this.mask = new Mask(this); + this.id = id$2++; + instances.push(this); + return this; + } + }, { + key: "usePlugins", + value: function usePlugins() { + Object.keys(plugins).forEach(function (name) { + Artplayer.use(plugins[name]); + }); + } + }, { + key: "destroy", + value: function destroy() { + var removeHtml = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.events.destroy(); + instances.splice(instances.indexOf(this), 1); + + if (removeHtml) { + this.refs.$container.innerHTML = ''; + } + + this.emit('destroy'); + } + }], [{ + key: "use", + value: function use(Plugin) { + var name = Plugin.name.toLowerCase(); + var installedPlugins = this.plugins || (this.plugins = {}); + + if (!installedPlugins[name]) { + var args = Array.from(arguments).slice(1); + args.unshift(this); + installedPlugins[name] = construct(Plugin, toConsumableArray(args)); + } + + return this; + } + }, { + key: "version", + get: function get() { + return '1.0.0'; + } + }, { + key: "config", + get: function get() { + return config; + } + }, { + key: "DEFAULTS", + get: function get() { + return { + container: '.artplayer', + url: '', + poster: '', + thumbnails: { + url: '', + number: 100, + width: 160, + height: 90 + }, + volume: 0.7, + autoplay: false, + loop: false, + preload: 'auto', + type: '', + mimeCodec: '', + layers: [], + contextmenu: [], + loading: '', + theme: '#f00', + hotkey: true, + subtitle: { + url: '', + style: {} + }, + controls: [], + highlight: [], + lang: navigator.language.toLowerCase() + }; + } + }]); + + return Artplayer; + }(tinyEmitter); + + window.Artplayer = Artplayer; + + exports.instances = instances; + exports.default = Artplayer; + + Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=artplayer.js.map diff --git a/docs/js/artplayer.js.map b/docs/js/artplayer.js.map index 7da867e58..af0a43af0 100644 --- a/docs/js/artplayer.js.map +++ b/docs/js/artplayer.js.map @@ -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","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../src/utils/ArtPlayerError.js","../../src/utils/index.js","../../src/verification/player.js","../../src/config/mimeCodec.js","../../src/config/mse.js","../../src/config/video.js","../../src/config/index.js","../../node_modules/tiny-emitter/index.js","../../src/template.js","../../src/i18n.js","../../src/player.js","../../src/mse.js","../../src/verification/control.js","../../src/controls/danmu.js","../../src/controls/fullscreen.js","../../src/controls/pip.js","../../src/controls/playAndPause.js","../../src/controls/progress.js","../../src/controls/subtitle.js","../../src/controls/time.js","../../src/controls/volume.js","../../src/controls/setting.js","../../src/controls/thumbnails.js","../../src/controls/index.js","../../src/contextmenu.js","../../src/danmu.js","../../src/info.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","../../src/subtitle.js","../../src/events.js","../../src/hotkey.js","../../src/layers.js","../../src/icons/index.js","../../src/loading.js","../../src/notice.js","../../src/mask.js","../../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 _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","export default class ArtPlayerError extends Error {\n constructor(message, context) {\n super(message);\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, context || this.constructor);\n }\n this.name = 'ArtPlayerError';\n }\n}\n","import ArtPlayerError from './ArtPlayerError';\n\nexport function errorHandle(condition, msg) {\n if (!condition) {\n throw new ArtPlayerError(msg);\n }\n}\n\nexport function clamp(num, a, b) {\n return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));\n}\n\nexport function getExt(url) {\n if (url.includes('?')) {\n return getExt(url.split('?')[0]);\n }\n\n if (url.includes('#')) {\n return getExt(url.split('#')[0]);\n }\n\n return url\n .trim()\n .toLowerCase()\n .split('.')\n .pop();\n}\n\nexport function append(parent, child) {\n if (child instanceof Element) {\n parent.appendChild(child);\n } else {\n parent.insertAdjacentHTML('beforeend', child);\n }\n return parent;\n}\n\nexport function setStyle(element, styles) {\n Object.keys(styles).forEach(key => {\n element.style[key] = styles[key];\n });\n return element;\n}\n\nexport function secondToTime(second) {\n const add0 = num => num < 10 ? `0${num}` : String(num);\n const hour = Math.floor(second / 3600);\n const min = Math.floor((second - hour * 3600) / 60);\n const sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':');\n}\n","import { errorHandle } from '../utils';\n\nexport default function validOption(option) {\n errorHandle(\n option.container,\n '\\'container\\' option is required.'\n );\n\n errorHandle(\n option.url,\n '\\'url\\' option is required.'\n );\n\n errorHandle(\n typeof option.container === 'string' || option.container instanceof Element,\n `'container' option require 'string' or 'Element' type, but got '${typeof option.container}'.`\n );\n\n errorHandle(\n typeof option.url === 'string',\n `'url' option require 'string' type, but got '${typeof option.url}'.`\n );\n\n errorHandle(\n typeof option.poster === 'string',\n `'poster' option require 'string' type, but got '${typeof option.poster}'.`\n );\n\n errorHandle(\n Object.prototype.toString.call(option.thumbnails) === '[object Object]',\n `'thumbnails' option require 'object' type, but got '${typeof option.thumbnails}'.`\n );\n\n errorHandle(\n typeof option.volume === 'number',\n `'volume' option require 'number' type, but got '${typeof option.volume}'.`\n );\n\n errorHandle(\n typeof option.autoplay === 'boolean',\n `'autoplay' option require 'boolean' type, but got '${typeof option.autoplay}'.`\n );\n\n errorHandle(\n ['none', 'metadata', 'auto'].indexOf(option.preload) > -1,\n `'preload' option require one of 'none、metadata、auto', but got '${option.preload}.`\n );\n\n errorHandle(\n typeof option.lang === 'string',\n `'lang' option require 'string' type, but got '${typeof option.lang}'.`\n );\n\n errorHandle(\n typeof option.type === 'string',\n `'type' option require 'string' type, but got '${typeof option.type}'.`\n );\n\n errorHandle(\n typeof option.mimeCodec === 'string',\n `'mimeCodec' option require 'string' type, but got '${typeof option.mimeCodec}'.`\n );\n\n errorHandle(\n Array.isArray(option.layers),\n `'layers' option require 'array' type, but got '${typeof option.layers}'.`\n );\n\n errorHandle(\n Array.isArray(option.contextmenu),\n `'contextmenu' option require 'array' type, but got '${typeof option.contextmenu}'.`\n );\n\n errorHandle(\n typeof option.loading === 'string' || option.loading instanceof Element,\n `'loading' option require 'string' type, but got '${typeof option.loading}'.`\n );\n\n errorHandle(\n typeof option.theme === 'string',\n `'theme' option require 'string' type, but got '${typeof option.theme}'.`\n );\n\n errorHandle(\n typeof option.hotkey === 'boolean',\n `'hotkey' option require 'boolean' type, but got '${typeof option.hotkey}'.`\n );\n\n errorHandle(\n Object.prototype.toString.call(option.subtitle) === '[object Object]',\n `'subtitle' option require 'object' type, but got '${typeof option.subtitle}'.`\n );\n\n errorHandle(\n Array.isArray(option.controls),\n `'controls' option require 'array' type, but got '${typeof option.controls}'.`\n );\n\n errorHandle(\n Array.isArray(option.highlight),\n `'highlight' option require 'array' type, but got '${typeof option.highlight}'.`\n );\n}\n","export default {\n mp4: 'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"',\n webm: 'video/webm; codecs=\"vorbis, vp8\"',\n ts: 'video/mp2t; codecs=\"avc1.42E01E, mp4a.40.2\"'\n};\n","export default {\n mediaSource: {\n propertys: [\n 'activeSourceBuffers',\n 'duration',\n 'readyState',\n 'sourceBuffers'\n ],\n methods: [\n 'addSourceBuffer',\n 'endOfStream',\n 'removeSourceBuffer',\n 'clearLiveSeekableRange',\n 'setLiveSeekableRange'\n ],\n events: [\n 'sourceclose',\n 'sourceended',\n 'sourceopen'\n ]\n },\n sourceBuffer: {\n propertys: [\n 'mode',\n 'updating',\n 'buffered',\n 'timestampOffset',\n 'audioTracks',\n 'videoTracks',\n 'textTracks',\n 'appendWindowStart',\n 'appendWindowEnd',\n 'trackDefaults'\n ],\n methods: [\n 'appendBuffer',\n 'appendStream',\n 'abort',\n 'remove'\n ],\n events: [\n 'abort',\n 'error',\n 'update',\n 'updateend',\n 'updatestart'\n ]\n },\n sourceBufferList: {\n propertys: [\n 'length'\n ],\n events: [\n 'addsourcebuffer',\n 'removesourcebuffer'\n ]\n }\n};\n","export default {\n propertys: [\n 'audioTracks',\n 'autoplay',\n 'buffered',\n 'controller',\n 'controls',\n 'crossOrigin',\n 'currentSrc',\n 'currentTime',\n 'defaultMuted',\n 'defaultPlaybackRate',\n 'duration',\n 'ended',\n 'error',\n 'loop',\n 'mediaGroup',\n 'muted',\n 'networkState',\n 'paused',\n 'playbackRate',\n 'played',\n 'preload',\n 'readyState',\n 'seekable',\n 'seeking',\n 'src',\n 'startDate',\n 'textTracks',\n 'videoTracks',\n 'volume'\n ],\n methods: [\n 'addTextTrack',\n 'canPlayType',\n 'load',\n 'play',\n 'pause'\n ],\n events: [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ]\n};\n","import mimeCodec from './mimeCodec';\nimport mse from './mse';\nimport video from './video';\n\nexport default {\n mimeCodec,\n mse,\n video\n};\n","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);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n","export default class Template {\n constructor(art) {\n this.art = art;\n this.init();\n }\n\n init() {\n const { refs } = this.art;\n refs.$container.innerHTML = `\n${item}
`)\n .join('');\n }\n this.art.emit('subtitle:update', $subtitle);\n });\n }\n }\n\n show() {\n const { $subtitle } = this.art.refs;\n $subtitle.style.display = 'block';\n this.art.emit('subtitle:show', $subtitle);\n }\n\n hide() {\n const { $subtitle } = this.art.refs;\n $subtitle.style.display = 'none';\n this.art.emit('subtitle:hide', $subtitle);\n }\n\n switch(url) {\n const { $track } = this.art.refs;\n errorHandle(\n getExt(url) === 'vtt',\n `'url' option require 'vtt' format, but got '${getExt(url)}'.`\n );\n errorHandle(\n $track,\n 'You need to initialize the subtitle option first.'\n );\n $track.src = url;\n this.art.emit('subtitle:switch', url);\n }\n}\n","export default class Events {\n constructor(art) {\n this.art = art;\n this.destroyEvents = [];\n this.proxy = this.proxy.bind(this);\n }\n\n proxy(target, name, callback, option = {}) {\n if (Array.isArray(name)) {\n name.forEach(item => this.proxy(target, item, callback, option));\n }\n\n target.addEventListener(name, callback, option);\n\n const destroy = () => {\n target.removeEventListener(name, callback, option);\n };\n\n this.destroyEvents.push(destroy);\n\n return destroy;\n }\n\n destroy() {\n this.destroyEvents.forEach(event => event());\n }\n}\n","export default class Hotkey {\n constructor(art) {\n this.art = art;\n if (this.art.option.hotkey) {\n this.init();\n }\n }\n\n init() {\n const {\n player,\n refs: { $player },\n events: { proxy }\n } = this.art;\n\n proxy(document, 'click', event => {\n this.art.isFocus = event.path.indexOf($player) > -1;\n });\n\n proxy(window, 'keydown', event => {\n if (this.art.isFocus) {\n const tag = document.activeElement.tagName.toUpperCase();\n const editable = document.activeElement.getAttribute('contenteditable');\n if (\n tag !== 'INPUT' &&\n tag !== 'TEXTAREA' &&\n editable !== '' &&\n editable !== 'true'\n ) {\n switch (event.keyCode) {\n case 39:\n event.preventDefault();\n player.seek(player.currentTime() + 10);\n break;\n case 37:\n event.preventDefault();\n player.seek(player.currentTime() - 10);\n break;\n case 38:\n event.preventDefault();\n player.volume(player.volume() + 0.05);\n break;\n case 40:\n event.preventDefault();\n player.volume(player.volume() - 0.05);\n break;\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n default:\n break;\n }\n }\n }\n });\n }\n}\n","import { append, setStyle } from './utils';\n\nlet id = 0;\nexport default class Layers {\n constructor(art) {\n this.art = art;\n this.add = this.add.bind(this);\n this.art.option.layers.forEach(this.add);\n this.init();\n }\n\n init() {\n const { refs, player, events: { proxy } } = this.art;\n proxy(refs.$layers, 'click', event => {\n if (event.path[0] === refs.$layers) {\n player.pause();\n }\n });\n }\n\n add(option, callback) {\n const { refs } = this.art;\n id++;\n\n const $layer = document.createElement('div');\n $layer.setAttribute('data-art-layer-id', id);\n $layer.setAttribute('class', `art-layer art-layer-${option.name || id}`);\n $layer.style.zIndex = option.index || id;\n append($layer, option.html);\n setStyle($layer, option.style || {});\n refs.$layers.appendChild($layer);\n this.art.emit('layers:add', $layer);\n callback && callback($layer);\n }\n\n show() {\n const { $layers } = this.art.refs;\n $layers.style.display = 'block';\n this.art.emit('layers:show', $layers);\n }\n\n hide() {\n const { $layers } = this.art.refs;\n $layers.style.display = 'none';\n this.art.emit('layers:hide', $layers);\n }\n}\n","import loading from './loading.svg';\nimport play from './play.svg';\n\nconst icons = {\n loading,\n play\n};\n\nfunction creatDomFromSvg(map) {\n const result = {};\n Object.keys(map).forEach(name => {\n const tmp = document.createElement('div');\n tmp.innerHTML = `${map[name]}`;\n [result[name]] = tmp.childNodes;\n });\n return result;\n}\n\nexport default creatDomFromSvg(icons);\n","import icons from './icons';\nimport { append } from './utils';\n\nexport default class Loading {\n constructor(art) {\n this.art = art;\n this.init();\n }\n\n init() {\n const { option, refs: { $loading } } = this.art;\n append($loading, option.loading || icons.loading);\n }\n\n hide() {\n const { $loading } = this.art.refs;\n $loading.style.display = 'none';\n this.art.emit('loading:hide', $loading);\n }\n\n show() {\n const { $loading } = this.art.refs;\n $loading.style.display = 'flex';\n this.art.emit('loading:show', $loading);\n }\n}\n","export default class Notice {\n constructor(art) {\n this.art = art;\n this.timer = null;\n }\n\n show(msg, autoHide = true, time = 1000) {\n const { $notice } = this.art.refs;\n $notice.style.display = 'block';\n $notice.innerHTML = msg instanceof Error ? msg.message.trim() : msg;\n if (autoHide) {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.hide();\n }, time);\n }\n this.art.emit('notice:show', $notice);\n }\n\n hide() {\n const { $notice } = this.art.refs;\n $notice.style.display = 'none';\n this.art.emit('notice:hide', $notice);\n }\n}\n","import icons from './icons';\nimport { append } from './utils';\n\nexport default class Mask {\n constructor(art) {\n this.art = art;\n this.init();\n }\n\n init() {\n const {\n player,\n option,\n refs,\n events: { proxy }\n } = this.art;\n\n const playClone = icons.play.cloneNode(true);\n playClone.style.backgroundColor = option.theme;\n append(refs.$mask, playClone);\n\n proxy(refs.$mask, 'click', () => {\n player.play();\n this.hide();\n });\n }\n\n show() {\n const { $mask } = this.art.refs;\n $mask.style.display = 'flex';\n this.art.emit('mask:show', $mask);\n }\n\n hide() {\n const { $mask } = this.art.refs;\n $mask.style.display = 'none';\n this.art.emit('mask:show', $mask);\n }\n}\n","import './style/index.scss';\nimport 'balloon-css/balloon.min.css';\nimport validOption from './verification/player';\nimport config from './config';\nimport Emitter from 'tiny-emitter';\nimport Template from './template';\nimport I18n from './i18n';\nimport Player from './player';\nimport Mse from './mse';\nimport Controls from './controls';\nimport Contextmenu from './contextmenu';\nimport Danmu from './danmu';\nimport Info from './info';\nimport Subtitle from './subtitle';\nimport Events from './events';\nimport Hotkey from './hotkey';\nimport Layers from './layers';\nimport Loading from './loading';\nimport Notice from './notice';\nimport Mask from './mask';\n\nlet id = 0;\nexport const instances = [];\n\nclass Artplayer extends Emitter {\n constructor(option) {\n super();\n this.emit('init:start');\n this.option = Object.assign({}, Artplayer.DEFAULTS, option);\n validOption(this.option);\n this.init();\n this.emit('init:end');\n }\n\n static get version() {\n return '__VERSION__';\n }\n\n static get config() {\n return config;\n }\n\n static get DEFAULTS() {\n return {\n container: '.artplayer',\n url: '',\n poster: '',\n thumbnails: {\n url: '',\n number: 100,\n width: 160,\n height: 90\n },\n volume: 0.7,\n autoplay: false,\n preload: 'auto',\n type: '',\n mimeCodec: '',\n layers: [],\n contextmenu: [],\n loading: '',\n theme: '#f00',\n hotkey: true,\n subtitle: {\n url: '',\n style: {}\n },\n controls: [],\n highlight: [],\n lang: navigator.language.toLowerCase()\n };\n }\n\n static use(plugin) {\n const installedPlugins = this.plugins || (this.plugins = []);\n if (installedPlugins.indexOf(plugin) > -1) {\n return this;\n }\n\n const args = Array.from(arguments).slice(1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this;\n }\n\n init() {\n this.isFocus = false;\n this.isPlaying = false;\n this.refs = {};\n\n if (this.option.container instanceof Element) {\n this.refs.$container = this.option.container;\n } else {\n this.refs.$container = document.querySelector(this.option.container);\n }\n\n this.template = new Template(this);\n this.i18n = new I18n(this);\n this.events = new Events(this);\n this.player = new Player(this);\n // this.mse = new Mse(this);\n this.layers = new Layers(this);\n this.controls = new Controls(this);\n this.contextmenu = new Contextmenu(this);\n this.danmu = new Danmu(this);\n this.subtitle = new Subtitle(this);\n this.info = new Info(this);\n this.loading = new Loading(this);\n this.notice = new Notice(this);\n this.hotkey = new Hotkey(this);\n this.mask = new Mask(this);\n\n this.id = id++;\n instances.push(this);\n return this;\n }\n\n destroy() {\n this.events.destroy();\n this.refs.$container.innerHTML = '';\n instances.splice(instances.indexOf(this), 1);\n this.emit('destroy');\n }\n}\n\nwindow.Artplayer = Artplayer;\nexport default Artplayer;\n"],"names":["_typeof","ArtPlayerError","message","context","Error","captureStackTrace","constructor","name","errorHandle","condition","msg","clamp","num","a","b","Math","max","min","getExt","url","includes","split","trim","toLowerCase","pop","append","parent","child","Element","appendChild","insertAdjacentHTML","setStyle","element","styles","Object","keys","forEach","key","style","secondToTime","second","add0","String","hour","floor","sec","map","join","validOption","option","container","poster","prototype","toString","call","thumbnails","volume","autoplay","indexOf","preload","lang","type","mimeCodec","Array","isArray","layers","contextmenu","loading","theme","hotkey","subtitle","controls","highlight","mp4","webm","ts","mediaSource","propertys","methods","events","sourceBuffer","sourceBufferList","mse","video","Template","art","init","refs","$container","innerHTML","$player","querySelector","$video","$subtitle","$bottom","$progress","$controls","$controlsLeft","$controlsRight","$layers","$loading","$notice","$mask","i18nMap","I18n","language","callback","Player","eventBind","src","proxy","config","eventName","event","emit","on","show","hide","mask","promise","play","undefined","then","catch","err","console","warn","isPlaying","i18n","notice","get","pause","time","newTime","duration","currentTime","percentage","parseInt","rate","newRate","playbackRate","Mse","setMimeCodec","eventStart","repeat","maxRepeat","MediaSource","isTypeSupported","URL","createObjectURL","destroyEvents","push","revokeObjectURL","sourceBuffers","activeSourceBuffers","addSourceBuffer","endOfStream","fetchUrl","request","response","appendBuffer","fetch","arrayBuffer","validControl","control","disable","position","index","Danmu","Fullscreen","Pip","PlayAndPause","Progress","isDroging","getLoaded","bind","getPlayed","set","player","ref","$loaded","$played","$highlight","$indicator","$tip","item","left","Number","text","display","path","showHighlight","showTime","target","getPosFromEvent","seek","document","classList","add","remove","dataset","clientWidth","width","tipWidth","buffered","length","end","Subtitle","Time","Volume","Setting","Thumbnails","showThumbnails","posWidth","height","number","perWidth","ceil","backgroundImage","backgroundPosition","id","Controls","$map","top","right","mount","tooltip","$control","createElement","setAttribute","commonMethod","sort","controlIndex","defineProperty","value","getBoundingClientRect","x","Contextmenu","click","info","link","preventDefault","isFocus","$contextmenu","creatMenu","setPos","$menu","href","mouseX","clientX","mouseY","clientY","cHeight","cWidth","cLeft","cTop","mHeight","mWidth","menuLeft","menuTop","Info","log","$track","default","kind","textTracks","track","activeCues","cue","template","getCueAsHTML","Events","addEventListener","destroy","removeEventListener","Hotkey","window","tag","activeElement","tagName","toUpperCase","editable","getAttribute","keyCode","toggle","Layers","$layer","zIndex","html","icons","creatDomFromSvg","result","tmp","childNodes","Loading","Notice","timer","autoHide","clearTimeout","setTimeout","Mask","playClone","cloneNode","backgroundColor","instances","Artplayer","assign","DEFAULTS","danmu","splice","plugin","installedPlugins","plugins","args","from","arguments","slice","unshift","install","apply","navigator","Emitter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"artplayer.js","sources":["../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArray.js","../../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../../node_modules/@babel/runtime/helpers/toConsumableArray.js","../../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/inherits.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../src/utils/ArtPlayerError.js","../../src/utils/index.js","../../src/verification/player.js","../../src/config/mimeCodec.js","../../src/config/mse.js","../../src/config/video.js","../../src/config/index.js","../../node_modules/tiny-emitter/index.js","../../src/template.js","../../src/i18n.js","../../src/player.js","../../src/mse.js","../../src/verification/control.js","../../src/controls/danmu.js","../../src/controls/fullscreen.js","../../src/controls/pip.js","../../src/controls/playAndPause.js","../../src/controls/progress.js","../../src/controls/subtitle.js","../../src/controls/time.js","../../src/controls/volume.js","../../src/controls/setting.js","../../src/controls/thumbnails.js","../../src/controls/index.js","../../src/contextmenu.js","../../src/danmu.js","../../src/info.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","../../src/subtitle.js","../../src/events.js","../../src/hotkey.js","../../src/layers.js","../../src/icons/index.js","../../src/loading.js","../../src/notice.js","../../src/mask.js","../../src/plugins/srt.js","../../src/plugins/mse.js","../../src/plugins/index.js","../../src/index.js"],"sourcesContent":["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 isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","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;","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 _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","export default class ArtPlayerError extends Error {\n constructor(message, context) {\n super(message);\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, context || this.constructor);\n }\n this.name = 'ArtPlayerError';\n }\n}\n","import ArtPlayerError from './ArtPlayerError';\n\nexport function errorHandle(condition, msg) {\n if (!condition) {\n throw new ArtPlayerError(msg);\n }\n}\n\nexport function clamp(num, a, b) {\n return Math.max(Math.min(num, Math.max(a, b)), Math.min(a, b));\n}\n\nexport function getExt(url) {\n if (url.includes('?')) {\n return getExt(url.split('?')[0]);\n }\n\n if (url.includes('#')) {\n return getExt(url.split('#')[0]);\n }\n\n return url\n .trim()\n .toLowerCase()\n .split('.')\n .pop();\n}\n\nexport function append(parent, child) {\n if (child instanceof Element) {\n parent.appendChild(child);\n } else {\n parent.insertAdjacentHTML('beforeend', child);\n }\n return parent;\n}\n\nexport function setStyle(element, styles) {\n Object.keys(styles).forEach(key => {\n element.style[key] = styles[key];\n });\n return element;\n}\n\nexport function secondToTime(second) {\n const add0 = num => num < 10 ? `0${num}` : String(num);\n const hour = Math.floor(second / 3600);\n const min = Math.floor((second - hour * 3600) / 60);\n const sec = Math.floor(second - hour * 3600 - min * 60);\n return (hour > 0 ? [hour, min, sec] : [min, sec]).map(add0).join(':');\n}\n","import { errorHandle } from '../utils';\n\nexport default function validOption(option) {\n errorHandle(\n option.container,\n '\\'container\\' option is required.'\n );\n\n errorHandle(\n option.url,\n '\\'url\\' option is required.'\n );\n\n errorHandle(\n typeof option.container === 'string' || option.container instanceof Element,\n `'container' option require 'string' or 'Element' type, but got '${typeof option.container}'.`\n );\n\n errorHandle(\n typeof option.url === 'string',\n `'url' option require 'string' type, but got '${typeof option.url}'.`\n );\n\n errorHandle(\n typeof option.poster === 'string',\n `'poster' option require 'string' type, but got '${typeof option.poster}'.`\n );\n\n errorHandle(\n Object.prototype.toString.call(option.thumbnails) === '[object Object]',\n `'thumbnails' option require 'object' type, but got '${typeof option.thumbnails}'.`\n );\n\n errorHandle(\n typeof option.volume === 'number',\n `'volume' option require 'number' type, but got '${typeof option.volume}'.`\n );\n\n errorHandle(\n typeof option.autoplay === 'boolean',\n `'autoplay' option require 'boolean' type, but got '${typeof option.autoplay}'.`\n );\n\n errorHandle(\n typeof option.loop === 'boolean',\n `'loop' option require 'boolean' type, but got '${typeof option.loop}'.`\n );\n\n errorHandle(\n ['none', 'metadata', 'auto'].indexOf(option.preload) > -1,\n `'preload' option require one of 'none、metadata、auto', but got '${option.preload}.`\n );\n\n errorHandle(\n typeof option.lang === 'string',\n `'lang' option require 'string' type, but got '${typeof option.lang}'.`\n );\n\n errorHandle(\n typeof option.type === 'string',\n `'type' option require 'string' type, but got '${typeof option.type}'.`\n );\n\n errorHandle(\n typeof option.mimeCodec === 'string',\n `'mimeCodec' option require 'string' type, but got '${typeof option.mimeCodec}'.`\n );\n\n errorHandle(\n Array.isArray(option.layers),\n `'layers' option require 'array' type, but got '${typeof option.layers}'.`\n );\n\n errorHandle(\n Array.isArray(option.contextmenu),\n `'contextmenu' option require 'array' type, but got '${typeof option.contextmenu}'.`\n );\n\n errorHandle(\n typeof option.loading === 'string' || option.loading instanceof Element,\n `'loading' option require 'string' type, but got '${typeof option.loading}'.`\n );\n\n errorHandle(\n typeof option.theme === 'string',\n `'theme' option require 'string' type, but got '${typeof option.theme}'.`\n );\n\n errorHandle(\n typeof option.hotkey === 'boolean',\n `'hotkey' option require 'boolean' type, but got '${typeof option.hotkey}'.`\n );\n\n errorHandle(\n Object.prototype.toString.call(option.subtitle) === '[object Object]',\n `'subtitle' option require 'object' type, but got '${typeof option.subtitle}'.`\n );\n\n errorHandle(\n Array.isArray(option.controls),\n `'controls' option require 'array' type, but got '${typeof option.controls}'.`\n );\n\n errorHandle(\n Array.isArray(option.highlight),\n `'highlight' option require 'array' type, but got '${typeof option.highlight}'.`\n );\n}\n","export default {\n mp4: 'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"',\n webm: 'video/webm; codecs=\"vorbis, vp8\"',\n ts: 'video/mp2t; codecs=\"avc1.42E01E, mp4a.40.2\"'\n};\n","export default {\n mediaSource: {\n propertys: [\n 'activeSourceBuffers',\n 'duration',\n 'readyState',\n 'sourceBuffers'\n ],\n methods: [\n 'addSourceBuffer',\n 'endOfStream',\n 'removeSourceBuffer',\n 'clearLiveSeekableRange',\n 'setLiveSeekableRange'\n ],\n events: [\n 'sourceclose',\n 'sourceended',\n 'sourceopen'\n ]\n },\n sourceBuffer: {\n propertys: [\n 'mode',\n 'updating',\n 'buffered',\n 'timestampOffset',\n 'audioTracks',\n 'videoTracks',\n 'textTracks',\n 'appendWindowStart',\n 'appendWindowEnd',\n 'trackDefaults'\n ],\n methods: [\n 'appendBuffer',\n 'appendStream',\n 'abort',\n 'remove'\n ],\n events: [\n 'abort',\n 'error',\n 'update',\n 'updateend',\n 'updatestart'\n ]\n },\n sourceBufferList: {\n propertys: [\n 'length'\n ],\n events: [\n 'addsourcebuffer',\n 'removesourcebuffer'\n ]\n }\n};\n","export default {\n propertys: [\n 'audioTracks',\n 'autoplay',\n 'buffered',\n 'controller',\n 'controls',\n 'crossOrigin',\n 'currentSrc',\n 'currentTime',\n 'defaultMuted',\n 'defaultPlaybackRate',\n 'duration',\n 'ended',\n 'error',\n 'loop',\n 'mediaGroup',\n 'muted',\n 'networkState',\n 'paused',\n 'playbackRate',\n 'played',\n 'preload',\n 'readyState',\n 'seekable',\n 'seeking',\n 'src',\n 'startDate',\n 'textTracks',\n 'videoTracks',\n 'volume'\n ],\n methods: [\n 'addTextTrack',\n 'canPlayType',\n 'load',\n 'play',\n 'pause'\n ],\n events: [\n 'abort',\n 'canplay',\n 'canplaythrough',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'loadeddata',\n 'loadedmetadata',\n 'loadstart',\n 'pause',\n 'play',\n 'playing',\n 'progress',\n 'ratechange',\n 'seeked',\n 'seeking',\n 'stalled',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'waiting'\n ]\n};\n","import mimeCodec from './mimeCodec';\nimport mse from './mse';\nimport video from './video';\n\nexport default {\n mimeCodec,\n mse,\n video\n};\n","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);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n","export default class Template {\n constructor(art) {\n this.art = art;\n this.init();\n }\n\n init() {\n const { refs } = this.art;\n refs.$container.innerHTML = `\n${item}
`)\n .join('');\n }\n this.art.emit('subtitle:update', $subtitle);\n });\n }\n }\n\n show() {\n const { $subtitle } = this.art.refs;\n $subtitle.style.display = 'block';\n this.art.emit('subtitle:show', $subtitle);\n }\n\n hide() {\n const { $subtitle } = this.art.refs;\n $subtitle.style.display = 'none';\n this.art.emit('subtitle:hide', $subtitle);\n }\n\n switch(url) {\n const { $track } = this.art.refs;\n errorHandle(\n getExt(url) === 'vtt',\n `'url' option require 'vtt' format, but got '${getExt(url)}'.`\n );\n errorHandle(\n $track,\n 'You need to initialize the subtitle option first.'\n );\n $track.src = url;\n this.art.emit('subtitle:switch', url);\n }\n}\n","export default class Events {\n constructor(art) {\n this.art = art;\n this.destroyEvents = [];\n this.proxy = this.proxy.bind(this);\n }\n\n proxy(target, name, callback, option = {}) {\n if (Array.isArray(name)) {\n name.forEach(item => this.proxy(target, item, callback, option));\n }\n\n target.addEventListener(name, callback, option);\n\n const destroy = () => {\n target.removeEventListener(name, callback, option);\n };\n\n this.destroyEvents.push(destroy);\n\n return destroy;\n }\n\n destroy() {\n this.destroyEvents.forEach(event => event());\n }\n}\n","export default class Hotkey {\n constructor(art) {\n this.art = art;\n if (this.art.option.hotkey) {\n this.init();\n }\n }\n\n init() {\n const {\n player,\n refs: { $player },\n events: { proxy }\n } = this.art;\n\n proxy(document, 'click', event => {\n this.art.isFocus = event.path.indexOf($player) > -1;\n });\n\n proxy(window, 'keydown', event => {\n if (this.art.isFocus) {\n const tag = document.activeElement.tagName.toUpperCase();\n const editable = document.activeElement.getAttribute('contenteditable');\n if (\n tag !== 'INPUT' &&\n tag !== 'TEXTAREA' &&\n editable !== '' &&\n editable !== 'true'\n ) {\n switch (event.keyCode) {\n case 39:\n event.preventDefault();\n player.seek(player.currentTime() + 10);\n break;\n case 37:\n event.preventDefault();\n player.seek(player.currentTime() - 10);\n break;\n case 38:\n event.preventDefault();\n player.volume(player.volume() + 0.05);\n break;\n case 40:\n event.preventDefault();\n player.volume(player.volume() - 0.05);\n break;\n case 32:\n event.preventDefault();\n player.toggle();\n break;\n default:\n break;\n }\n }\n }\n });\n }\n}\n","import { append, setStyle } from './utils';\n\nlet id = 0;\nexport default class Layers {\n constructor(art) {\n this.art = art;\n this.add = this.add.bind(this);\n this.art.option.layers.forEach(this.add);\n this.init();\n }\n\n init() {\n const { refs, player, events: { proxy } } = this.art;\n proxy(refs.$layers, 'click', event => {\n if (event.path[0] === refs.$layers) {\n player.pause();\n }\n });\n }\n\n add(option, callback) {\n const { refs } = this.art;\n id++;\n\n const $layer = document.createElement('div');\n $layer.setAttribute('data-art-layer-id', id);\n $layer.setAttribute('class', `art-layer art-layer-${option.name || id}`);\n $layer.style.zIndex = option.index || id;\n append($layer, option.html);\n setStyle($layer, option.style || {});\n refs.$layers.appendChild($layer);\n this.art.emit('layers:add', $layer);\n callback && callback($layer);\n }\n\n show() {\n const { $layers } = this.art.refs;\n $layers.style.display = 'block';\n this.art.emit('layers:show', $layers);\n }\n\n hide() {\n const { $layers } = this.art.refs;\n $layers.style.display = 'none';\n this.art.emit('layers:hide', $layers);\n }\n}\n","import loading from './loading.svg';\nimport play from './play.svg';\n\nconst icons = {\n loading,\n play\n};\n\nfunction creatDomFromSvg(map) {\n const result = {};\n Object.keys(map).forEach(name => {\n const tmp = document.createElement('div');\n tmp.innerHTML = `${map[name]}`;\n [result[name]] = tmp.childNodes;\n });\n return result;\n}\n\nexport default creatDomFromSvg(icons);\n","import icons from './icons';\nimport { append } from './utils';\n\nexport default class Loading {\n constructor(art) {\n this.art = art;\n this.init();\n }\n\n init() {\n const { option, refs: { $loading } } = this.art;\n append($loading, option.loading || icons.loading);\n }\n\n hide() {\n const { $loading } = this.art.refs;\n $loading.style.display = 'none';\n this.art.emit('loading:hide', $loading);\n }\n\n show() {\n const { $loading } = this.art.refs;\n $loading.style.display = 'flex';\n this.art.emit('loading:show', $loading);\n }\n}\n","export default class Notice {\n constructor(art) {\n this.art = art;\n this.timer = null;\n }\n\n show(msg, autoHide = true, time = 1000) {\n const { $notice } = this.art.refs;\n $notice.style.display = 'block';\n $notice.innerHTML = msg instanceof Error ? msg.message.trim() : msg;\n if (autoHide) {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.hide();\n }, time);\n }\n this.art.emit('notice:show', $notice);\n }\n\n hide() {\n const { $notice } = this.art.refs;\n $notice.style.display = 'none';\n this.art.emit('notice:hide', $notice);\n }\n}\n","import icons from './icons';\nimport { append } from './utils';\n\nexport default class Mask {\n constructor(art) {\n this.art = art;\n this.init();\n }\n\n init() {\n const {\n player,\n option,\n refs,\n events: { proxy }\n } = this.art;\n\n const playClone = icons.play.cloneNode(true);\n playClone.style.backgroundColor = option.theme;\n append(refs.$mask, playClone);\n\n proxy(refs.$mask, 'click', () => {\n player.play();\n this.hide();\n });\n }\n\n show() {\n const { $mask } = this.art.refs;\n $mask.style.display = 'flex';\n this.art.emit('mask:show', $mask);\n }\n\n hide() {\n const { $mask } = this.art.refs;\n $mask.style.display = 'none';\n this.art.emit('mask:show', $mask);\n }\n}\n","export default class Srt {\n constructor(art) {\n this.art = art;\n console.log(this);\n }\n}\n","export default class Mse {\n constructor(art) {\n this.art = art;\n console.log(this);\n }\n}\n","import Srt from './srt';\nimport Mse from './mse';\n\nconst plugins = {\n Srt,\n Mse\n};\n\nexport default plugins;\n","import './style/index.scss';\nimport 'balloon-css/balloon.min.css';\nimport validOption from './verification/player';\nimport config from './config';\nimport Emitter from 'tiny-emitter';\nimport Template from './template';\nimport I18n from './i18n';\nimport Player from './player';\nimport Mse from './mse';\nimport Controls from './controls';\nimport Contextmenu from './contextmenu';\nimport Danmu from './danmu';\nimport Info from './info';\nimport Subtitle from './subtitle';\nimport Events from './events';\nimport Hotkey from './hotkey';\nimport Layers from './layers';\nimport Loading from './loading';\nimport Notice from './notice';\nimport Mask from './mask';\nimport plugins from './plugins';\n\nlet id = 0;\nexport const instances = [];\n\nclass Artplayer extends Emitter {\n constructor(option) {\n super();\n this.emit('init:start');\n this.option = Object.assign({}, Artplayer.DEFAULTS, option);\n validOption(this.option);\n this.init();\n this.usePlugins();\n this.emit('init:end');\n }\n\n static get version() {\n return '__VERSION__';\n }\n\n static get config() {\n return config;\n }\n\n static get DEFAULTS() {\n return {\n container: '.artplayer',\n url: '',\n poster: '',\n thumbnails: {\n url: '',\n number: 100,\n width: 160,\n height: 90\n },\n volume: 0.7,\n autoplay: false,\n loop: false,\n preload: 'auto',\n type: '',\n mimeCodec: '',\n layers: [],\n contextmenu: [],\n loading: '',\n theme: '#f00',\n hotkey: true,\n subtitle: {\n url: '',\n style: {}\n },\n controls: [],\n highlight: [],\n lang: navigator.language.toLowerCase()\n };\n }\n\n static use(Plugin) {\n const name = Plugin.name.toLowerCase();\n const installedPlugins = this.plugins || (this.plugins = {});\n if (!installedPlugins[name]) {\n const args = Array.from(arguments).slice(1);\n args.unshift(this);\n installedPlugins[name] = new Plugin(...args);\n }\n return this;\n }\n\n init() {\n this.isError = false;\n this.isFocus = false;\n this.isPlaying = false;\n this.refs = {};\n\n if (this.option.container instanceof Element) {\n this.refs.$container = this.option.container;\n } else {\n this.refs.$container = document.querySelector(this.option.container);\n }\n\n this.template = new Template(this);\n this.i18n = new I18n(this);\n this.notice = new Notice(this);\n this.events = new Events(this);\n this.player = new Player(this);\n // this.mse = new Mse(this);\n this.layers = new Layers(this);\n this.controls = new Controls(this);\n this.contextmenu = new Contextmenu(this);\n this.danmu = new Danmu(this);\n this.subtitle = new Subtitle(this);\n this.info = new Info(this);\n this.loading = new Loading(this);\n this.hotkey = new Hotkey(this);\n this.mask = new Mask(this);\n\n this.id = id++;\n instances.push(this);\n return this;\n }\n\n usePlugins() {\n Object.keys(plugins).forEach(name => {\n Artplayer.use(plugins[name]);\n });\n }\n\n destroy(removeHtml = false) {\n this.events.destroy();\n instances.splice(instances.indexOf(this), 1);\n if (removeHtml) {\n this.refs.$container.innerHTML = '';\n }\n this.emit('destroy');\n }\n}\n\nwindow.Artplayer = Artplayer;\nexport default Artplayer;\n"],"names":["_typeof","ArtPlayerError","message","context","Error","captureStackTrace","constructor","name","errorHandle","condition","msg","clamp","num","a","b","Math","max","min","getExt","url","includes","split","trim","toLowerCase","pop","append","parent","child","Element","appendChild","insertAdjacentHTML","setStyle","element","styles","Object","keys","forEach","key","style","secondToTime","second","add0","String","hour","floor","sec","map","join","validOption","option","container","poster","prototype","toString","call","thumbnails","volume","autoplay","loop","indexOf","preload","lang","type","mimeCodec","Array","isArray","layers","contextmenu","loading","theme","hotkey","subtitle","controls","highlight","mp4","webm","ts","mediaSource","propertys","methods","events","sourceBuffer","sourceBufferList","mse","video","Template","art","init","refs","$container","innerHTML","$player","querySelector","$video","$subtitle","$bottom","$progress","$controls","$controlsLeft","$controlsRight","$layers","$loading","$notice","$mask","i18nMap","I18n","language","callback","Player","eventBind","src","proxy","i18n","notice","config","eventName","event","emit","on","show","hide","mask","promise","play","undefined","then","catch","err","console","warn","isPlaying","seek","isError","classList","add","get","destroy","pause","time","newTime","duration","currentTime","percentage","parseInt","rate","newRate","playbackRate","Mse","setMimeCodec","eventStart","repeat","maxRepeat","MediaSource","isTypeSupported","URL","createObjectURL","destroyEvents","push","revokeObjectURL","sourceBuffers","activeSourceBuffers","addSourceBuffer","endOfStream","fetchUrl","request","response","appendBuffer","fetch","arrayBuffer","validControl","control","disable","position","index","Danmu","Fullscreen","Pip","PlayAndPause","Progress","isDroging","getLoaded","bind","getPlayed","set","player","ref","$loaded","$played","$highlight","$indicator","$tip","item","left","Number","text","display","path","showHighlight","showTime","target","getPosFromEvent","document","remove","dataset","clientWidth","width","tipWidth","buffered","length","end","Subtitle","Time","Volume","Setting","Thumbnails","showThumbnails","posWidth","height","number","perWidth","ceil","backgroundImage","backgroundPosition","id","Controls","$map","top","right","mount","tooltip","$control","createElement","setAttribute","commonMethod","sort","controlIndex","defineProperty","value","getBoundingClientRect","x","Contextmenu","click","info","link","preventDefault","isFocus","$contextmenu","creatMenu","setPos","$menu","href","mouseX","clientX","mouseY","clientY","cHeight","cWidth","cLeft","cTop","mHeight","mWidth","menuLeft","menuTop","Info","log","$track","default","kind","textTracks","track","activeCues","cue","template","getCueAsHTML","Events","addEventListener","removeEventListener","Hotkey","window","tag","activeElement","tagName","toUpperCase","editable","getAttribute","keyCode","toggle","Layers","$layer","zIndex","html","icons","creatDomFromSvg","result","tmp","childNodes","Loading","Notice","timer","autoHide","clearTimeout","setTimeout","Mask","playClone","cloneNode","backgroundColor","Srt","plugins","instances","Artplayer","assign","DEFAULTS","usePlugins","danmu","use","removeHtml","splice","Plugin","installedPlugins","args","from","arguments","slice","unshift","navigator","Emitter"],"mappings":"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"} \ No newline at end of file diff --git a/src/index.js b/src/index.js index f38fa7980..76e121104 100644 --- a/src/index.js +++ b/src/index.js @@ -18,6 +18,7 @@ import Layers from './layers'; import Loading from './loading'; import Notice from './notice'; import Mask from './mask'; +import plugins from './plugins'; let id = 0; export const instances = []; @@ -29,6 +30,7 @@ class Artplayer extends Emitter { this.option = Object.assign({}, Artplayer.DEFAULTS, option); validOption(this.option); this.init(); + this.usePlugins(); this.emit('init:end'); } @@ -53,6 +55,7 @@ class Artplayer extends Emitter { }, volume: 0.7, autoplay: false, + loop: false, preload: 'auto', type: '', mimeCodec: '', @@ -71,24 +74,19 @@ class Artplayer extends Emitter { }; } - static use(plugin) { - const installedPlugins = this.plugins || (this.plugins = []); - if (installedPlugins.indexOf(plugin) > -1) { - return this; + static use(Plugin) { + const name = Plugin.name.toLowerCase(); + const installedPlugins = this.plugins || (this.plugins = {}); + if (!installedPlugins[name]) { + const args = Array.from(arguments).slice(1); + args.unshift(this); + installedPlugins[name] = new Plugin(...args); } - - const args = Array.from(arguments).slice(1); - args.unshift(this); - if (typeof plugin.install === 'function') { - plugin.install.apply(plugin, args); - } else if (typeof plugin === 'function') { - plugin.apply(null, args); - } - installedPlugins.push(plugin); return this; } init() { + this.isError = false; this.isFocus = false; this.isPlaying = false; this.refs = {}; @@ -101,6 +99,7 @@ class Artplayer extends Emitter { this.template = new Template(this); this.i18n = new I18n(this); + this.notice = new Notice(this); this.events = new Events(this); this.player = new Player(this); // this.mse = new Mse(this); @@ -111,7 +110,6 @@ class Artplayer extends Emitter { this.subtitle = new Subtitle(this); this.info = new Info(this); this.loading = new Loading(this); - this.notice = new Notice(this); this.hotkey = new Hotkey(this); this.mask = new Mask(this); @@ -120,10 +118,18 @@ class Artplayer extends Emitter { return this; } - destroy() { + usePlugins() { + Object.keys(plugins).forEach(name => { + Artplayer.use(plugins[name]); + }); + } + + destroy(removeHtml = false) { this.events.destroy(); - this.refs.$container.innerHTML = ''; instances.splice(instances.indexOf(this), 1); + if (removeHtml) { + this.refs.$container.innerHTML = ''; + } this.emit('destroy'); } } diff --git a/src/player.js b/src/player.js index 566e6d87f..b588d7604 100644 --- a/src/player.js +++ b/src/player.js @@ -20,7 +20,7 @@ export default class Player { } eventBind() { - const { events: { proxy }, refs: { $video } } = this.art; + const { events: { proxy }, refs: { $player, $video }, i18n, notice } = this.art; config.video.events.forEach(eventName => { proxy($video, eventName, event => { @@ -74,11 +74,20 @@ export default class Player { this.art.isPlaying = false; this.art.controls.show(); this.art.mask.show(); + if (this.art.option.loop) { + this.seek(0); + this.play(); + } }); this.art.on('video:error', () => { + this.art.isError = true; this.art.isPlaying = false; this.art.loading.hide(); + this.art.controls.hide(); + $player.classList.add('artplayer-error'); + notice.show(i18n.get('Video load failed'), false); + this.art.destroy(); }); } diff --git a/src/plugins/index.js b/src/plugins/index.js new file mode 100644 index 000000000..0868c6eff --- /dev/null +++ b/src/plugins/index.js @@ -0,0 +1,9 @@ +import Srt from './srt'; +import Mse from './mse'; + +const plugins = { + Srt, + Mse +}; + +export default plugins; diff --git a/src/plugins/mse.js b/src/plugins/mse.js new file mode 100644 index 000000000..fb7c65816 --- /dev/null +++ b/src/plugins/mse.js @@ -0,0 +1,6 @@ +export default class Mse { + constructor(art) { + this.art = art; + console.log(this); + } +} diff --git a/src/plugins/srt.js b/src/plugins/srt.js new file mode 100644 index 000000000..5e9c79c09 --- /dev/null +++ b/src/plugins/srt.js @@ -0,0 +1,6 @@ +export default class Srt { + constructor(art) { + this.art = art; + console.log(this); + } +} diff --git a/src/style/index.scss b/src/style/index.scss index ea6db8c99..7591771b1 100644 --- a/src/style/index.scss +++ b/src/style/index.scss @@ -13,7 +13,6 @@ font-size: 14px; line-height: 1.3; user-select: none; - -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0,0,0,0); touch-action: manipulation; -ms-high-contrast-adjust: none; @@ -51,7 +50,6 @@ color: #fff; text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); font-size: 20px; - box-sizing: border-box; } .artplayer-layers { @@ -115,7 +113,6 @@ opacity: 0; visibility: hidden; transition: all .2s ease-in-out; - box-sizing: border-box; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom; .artplayer-progress { @@ -271,4 +268,10 @@ } } } + + &.artplayer-error { + .art-progress-indicator, .art-progress-tip { + display: none !important; + } + } } \ No newline at end of file diff --git a/src/verification/player.js b/src/verification/player.js index 8d8dd59e9..560bf2e0b 100644 --- a/src/verification/player.js +++ b/src/verification/player.js @@ -41,6 +41,11 @@ export default function validOption(option) { `'autoplay' option require 'boolean' type, but got '${typeof option.autoplay}'.` ); + errorHandle( + typeof option.loop === 'boolean', + `'loop' option require 'boolean' type, but got '${typeof option.loop}'.` + ); + errorHandle( ['none', 'metadata', 'auto'].indexOf(option.preload) > -1, `'preload' option require one of 'none、metadata、auto', but got '${option.preload}.`