From e359cceefb755415274fbc08862140f959be5a15 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Mon, 6 Feb 2017 12:04:58 +0800 Subject: [PATCH] use yarn, upgrade to webpack2 --- dist/DPlayer.min.js | 6 +- dist/DPlayer.min.js.map | 2 +- package.json | 26 +- postcss.config.js | 5 + webpack.config.js | 28 +- yarn.lock | 3736 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 3770 insertions(+), 33 deletions(-) create mode 100644 postcss.config.js create mode 100644 yarn.lock diff --git a/dist/DPlayer.min.js b/dist/DPlayer.min.js index 06602da..8129d36 100644 --- a/dist/DPlayer.min.js +++ b/dist/DPlayer.min.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DPlayer",[],t):"object"==typeof exports?exports.DPlayer=t():e.DPlayer=t()}(this,function(){return function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="",t(0)}([function(e,t,a){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},l=function(){function e(e,t){for(var a=0;a\n \n \n \n '},this.option=t;var s=/mobile/i.test(window.navigator.userAgent);s&&(this.option.autoplay=!1);var d={element:document.getElementsByClassName("dplayer")[0],autoplay:!1,theme:"#b7daff",loop:!1,lang:navigator.language.indexOf("zh")!==-1?"zh":"en",screenshot:!1,hotkey:!0,preload:"auto",apiBackend:o};for(var p in d)d.hasOwnProperty(p)&&!this.option.hasOwnProperty(p)&&(this.option[p]=d[p]);var m={"Danmaku is loading":"弹幕加载中",Top:"顶部",Bottom:"底部",Rolling:"滚动","Input danmaku, hit Enter":"输入弹幕,回车发送","About author":"关于作者","DPlayer feedback":"播放器意见反馈","About DPlayer":"关于 DPlay 播放器",Loop:"洗脑循环",Speed:"速度","Opacity for danmaku":"弹幕透明度",Normal:"正常","Please input danmaku!":"要输入弹幕内容啊喂!","Set danmaku color":"设置弹幕颜色","Set danmaku type":"设置弹幕类型",Danmaku:"弹幕"},c=function(e){return"en"===a.option.lang?e:"zh"===a.option.lang?m[e]:void 0};this.updateBar=function(e,t,a){t=t>0?t:0,t=t<1?t:1,Y[e+"Bar"].style[a]=100*t+"%"};var y=["play","pause","canplay","playing","ended","error"];this.event={};for(var u=0;u\n
\n \n
\n
\n
\n
\n \n '+(this.option.danmaku?''+c("Danmaku is loading")+"":"")+'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n 0:00 / 0:00\n
\n
\n '+(this.option.screenshot?'\n "+this.getSVG("camera")+" \n ":"")+'\n
\n \n
\n \n
\n
\n
'+c("Set danmaku color")+'
\n \n \n \n \n \n \n
\n
\n
'+c("Set danmaku type")+'
\n \n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n ");var g=this.element.offsetWidth<=500;if(g){var f=document.createElement("style");f.innerHTML=".dplayer .dplayer-danmaku{font-size:18px}",document.head.appendChild(f)}if(this.video=this.element.getElementsByClassName("dplayer-video")[0],/(m3u8\?|m3u8$)/i.exec(this.option.video.url)&&Hls.isSupported()&&!function(){a.element.getElementsByClassName("dplayer-time")[0].style.display="none";var e=new Hls;e.attachMedia(a.video),e.on(Hls.Events.MEDIA_ATTACHED,function(){e.loadSource(a.option.video.url),e.on(Hls.Events.MANIFEST_PARSED,function(e,t){console.log("manifest loaded, found "+t.levels.length+" quality level")})})}(),/(flv\?|flv$)/i.exec(this.option.video.url)&&flvjs.isSupported()){var b=flvjs.createPlayer({type:"flv",url:this.option.video.url});b.attachMediaElement(this.video),b.load()}this.bezel=this.element.getElementsByClassName("dplayer-bezel-icon")[0],this.bezel.addEventListener("animationend",function(){a.bezel.classList.remove("dplayer-bezel-transition")}),this.playButton=this.element.getElementsByClassName("dplayer-play-icon")[0],this.shouldpause=!0,this.playButton.addEventListener("click",function(){a.toggle()});var h=this.element.getElementsByClassName("dplayer-video-wrap")[0],v=this.element.getElementsByClassName("dplayer-controller-mask")[0];if(s){var x=function(){a.element.classList.contains("dplayer-hide-controller")?a.element.classList.remove("dplayer-hide-controller"):a.element.classList.add("dplayer-hide-controller")};h.addEventListener("click",x),v.addEventListener("click",x)}else h.addEventListener("click",function(){a.toggle()}),v.addEventListener("click",function(){a.toggle()});var k=function(e){var t=function(e){return e<10?"0"+e:""+e},a=parseInt(e/60),n=parseInt(e-60*a);return t(a)+":"+t(n)},w=function(e){var t=e.offsetLeft,n=e.offsetParent,r=void 0;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==n&&n!==a.element;)t+=n.offsetLeft,n=n.offsetParent;else for(;null!==n;)t+=n.offsetLeft,n=n.offsetParent;return r=document.body.scrollLeft+document.documentElement.scrollLeft,t-r},Y={};Y.playedBar=this.element.getElementsByClassName("dplayer-played")[0],Y.loadedBar=this.element.getElementsByClassName("dplayer-loaded")[0];var E=this.element.getElementsByClassName("dplayer-bar-wrap")[0],L=void 0;this.option.danmaku&&this.video.addEventListener("seeking",function(){for(var e=0;e=a.video.currentTime)return void(a.danIndex=e);a.danIndex=a.dan.length}});var z=0,B=0,C=!1,T=void 0;this.setTime=function(){a.playedTime=setInterval(function(){B=a.video.currentTime,!C&&Bz+.01&&!a.video.paused&&(a.element.classList.remove("dplayer-loading"),C=!1),z=B,a.updateBar("played",a.video.currentTime/a.video.duration,"width"),a.element.getElementsByClassName("dplayer-ptime")[0].innerHTML=k(a.video.currentTime),a.trigger("playing")},100),a.option.danmaku&&Q&&(T=setInterval(function(){for(var e=a.dan[a.danIndex];e&&a.video.currentTime>=parseFloat(e.time);)le(e.text,e.color,e.type),e=a.dan[++a.danIndex]},0))},this.clearTime=function(){clearInterval(a.playedTime),a.option.danmaku&&clearInterval(T)},E.addEventListener("click",function(e){var t=e||window.event;L=E.clientWidth;var n=(t.clientX-w(E))/L;n=n>0?n:0,n=n<1?n:1,a.updateBar("played",n,"width"),a.video.currentTime=parseFloat(Y.playedBar.style.width)/100*a.video.duration});var M=function(e){var t=e||window.event,n=(t.clientX-w(E))/L;n=n>0?n:0,n=n<1?n:1,a.updateBar("played",n,"width"),a.element.getElementsByClassName("dplayer-ptime")[0].innerHTML=k(n*a.video.duration)},N=function we(){document.removeEventListener("mouseup",we),document.removeEventListener("mousemove",M),a.video.currentTime=parseFloat(Y.playedBar.style.width)/100*a.video.duration,a.setTime()};E.addEventListener("mousedown",function(){L=E.clientWidth,a.clearTime(),document.addEventListener("mousemove",M),document.addEventListener("mouseup",N)}),Y.volumeBar=this.element.getElementsByClassName("dplayer-volume-bar-inner")[0];var q=this.element.getElementsByClassName("dplayer-volume")[0],S=this.element.getElementsByClassName("dplayer-volume-bar-wrap")[0],A=this.element.getElementsByClassName("dplayer-volume-bar")[0],D=this.element.getElementsByClassName("dplayer-volume-icon")[0],I=35;this.switchVolumeIcon=function(){var e=a.element.getElementsByClassName("dplayer-volume-icon")[0];a.video.volume>=.8?e.innerHTML=a.getSVG("volume-up"):a.video.volume>0?e.innerHTML=a.getSVG("volume-down"):e.innerHTML=a.getSVG("volume-off")};var R=function(e){var t=e||window.event,n=(t.clientX-w(A)-5.5)/I;a.volume(n)},H=function Ye(){document.removeEventListener("mouseup",Ye),document.removeEventListener("mousemove",R),q.classList.remove("dplayer-volume-active")};S.addEventListener("click",function(e){var t=e||window.event,n=(t.clientX-w(A)-5.5)/I;a.volume(n)}),S.addEventListener("mousedown",function(){document.addEventListener("mousemove",R),document.addEventListener("mouseup",H),q.classList.add("dplayer-volume-active")}),D.addEventListener("click",function(){a.video.muted?(a.video.muted=!1,a.switchVolumeIcon(),a.updateBar("volume",a.video.volume,"width")):(a.video.muted=!0,D.innerHTML=a.getSVG("volume-off"),a.updateBar("volume",0,"width"))});var F=0;if(!s){var X=function(){a.element.classList.remove("dplayer-hide-controller"),clearTimeout(F),F=setTimeout(function(){a.video.played.length&&(a.element.classList.add("dplayer-hide-controller"),G(),be())},2e3)};this.element.addEventListener("mousemove",X),this.element.addEventListener("click",X)}var P=localStorage.getItem("DPlayer-opacity")||.7,V={original:'\n
\n '+c("Speed")+'\n
'+this.getSVG("right")+('
\n
\n
\n '+c("Loop")+'\n
\n \n \n
\n
\n
\n '+c("Danmaku")+'\n
\n \n \n
\n
\n
\n '+c("Opacity for danmaku")+'\n
\n
\n
\n \n
\n
\n
\n
'),speed:'\n
\n 0.5\n
\n
\n 0.75\n
\n
\n '+c("Normal")+'\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
'},O=this.element.getElementsByClassName("dplayer-setting-icon")[0],U=this.element.getElementsByClassName("dplayer-setting-box")[0],j=this.element.getElementsByClassName("dplayer-mask")[0];U.innerHTML=V.original;var G=function(){U.classList.contains("dplayer-setting-box-open")&&(U.classList.remove("dplayer-setting-box-open"),j.classList.remove("dplayer-mask-show"),setTimeout(function(){U.classList.remove("dplayer-setting-box-narrow"),U.innerHTML=V.original,$()},300))},W=function(){U.classList.add("dplayer-setting-box-open"),j.classList.add("dplayer-mask-show")};j.addEventListener("click",function(){G()}),O.addEventListener("click",function(){W()});var _=this.option.loop,J=this.element.getElementsByClassName("dplayer-danmaku")[0],Q=!0,$=function(){var e=a.element.getElementsByClassName("dplayer-setting-loop")[0],t=e.getElementsByClassName("dplayer-toggle-setting-input")[0];t.checked=_,e.addEventListener("click",function(){t.checked=!t.checked,t.checked?(_=!0,a.video.loop=_):(_=!1,a.video.loop=_),G()});var n=a.element.getElementsByClassName("dplayer-setting-showdan")[0],r=n.getElementsByClassName("dplayer-showdan-setting-input")[0];r.checked=Q,n.addEventListener("click",function(){if(r.checked=!r.checked,r.checked){if(Q=!0,a.option.danmaku){for(var e=0;e=a.video.currentTime){a.danIndex=e;break}a.danIndex=a.dan.length}T=setInterval(function(){for(var e=a.dan[a.danIndex];e&&a.video.currentTime>=parseFloat(e.time);)le(e.text,e.color,e.type),e=a.dan[++a.danIndex]},0)}}else Q=!1,a.option.danmaku&&(clearInterval(T),J.innerHTML='
',a.danTunnel={right:{},top:{},bottom:{}},a.itemDemo=a.element.getElementsByClassName("dplayer-danmaku-item")[0]);G()});var l=a.element.getElementsByClassName("dplayer-setting-speed")[0]; -l.addEventListener("click",function(){U.classList.add("dplayer-setting-box-narrow"),U.innerHTML=V.speed;for(var e=U.getElementsByClassName("dplayer-setting-speed-item"),t=function(t){e[t].addEventListener("click",function(){a.video.playbackRate=e[t].dataset.speed,G()})},n=0;n0?l:0,l=l<1?l:1,a.updateBar("danmaku",l,"width");for(var o=a.element.getElementsByClassName("dplayer-danmaku-item"),i=0;i0?l:0,l=l<1?l:1,a.updateBar("danmaku",l,"width");for(var o=a.element.getElementsByClassName("dplayer-danmaku-item"),i=0;i/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},ye=function(){if(oe.blur(),!oe.value.replace(/^\s+|\s+$/g,""))return void alert(c("Please input danmaku!"));var e={token:a.option.danmaku.token,player:a.option.danmaku.id,author:"DIYgod",time:a.video.currentTime,text:oe.value,color:a.element.querySelector(".dplayer-comment-setting-color input:checked").value,type:a.element.querySelector(".dplayer-comment-setting-type input:checked").value};a.option.apiBackend.send(a.option.danmaku.api,e),oe.value="",be(),a.dan.splice(a.danIndex,0,e),a.danIndex++;var t=le(ce(e.text),e.color,e.type);t.style.border="2px solid "+a.option.theme},ue=function(){pe.classList.contains("dplayer-comment-setting-open")&&pe.classList.remove("dplayer-comment-setting-open")},ge=function(){pe.classList.contains("dplayer-comment-setting-open")?pe.classList.remove("dplayer-comment-setting-open"):pe.classList.add("dplayer-comment-setting-open")},fe=0,be=function(){se.classList.contains("dplayer-comment-box-open")&&(se.classList.remove("dplayer-comment-box-open"),j.classList.remove("dplayer-mask-show"),clearInterval(fe),a.element.classList.remove("dplayer-show-controller"),ue())},he=function(){se.classList.add("dplayer-comment-box-open"),j.classList.add("dplayer-mask-show"),fe=setInterval(function(){clearTimeout(F)},1e3),a.element.classList.add("dplayer-show-controller")};j.addEventListener("click",function(){be()}),ie.addEventListener("click",function(){he(),setTimeout(function(){oe.focus()},300)}),de.addEventListener("click",function(){ge()}),this.element.getElementsByClassName("dplayer-comment-setting-color")[0].addEventListener("click",function(){var e=a.element.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked+span');e&&(de.getElementsByClassName("dplayer-fill")[0].style.fill=a.element.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked').value)}),oe.addEventListener("click",function(){ue()}),oe.addEventListener("keydown",function(e){var t=e||window.event;13===t.keyCode&&ye()}),me.addEventListener("click",ye);var ve=function(){K=J.offsetWidth;for(var e=a.element.getElementsByClassName("dplayer-danmaku-item"),t=0;t=n.width?(ke.style.right=n.width-r+"px",ke.style.left="initial"):(ke.style.left=t.clientX-a.element.getBoundingClientRect().left+"px",ke.style.right="initial"),l+ke.offsetHeight>=n.height?(ke.style.bottom=n.height-l+"px",ke.style.top="initial"):(ke.style.top=t.clientY-a.element.getBoundingClientRect().top+"px",ke.style.bottom="initial"),j.classList.add("dplayer-mask-show"),j.addEventListener("click",function(){j.classList.remove("dplayer-mask-show"),ke.classList.remove("dplayer-menu-show")})}),this.option.screenshot&&!function(){var e=a.element.getElementsByClassName("dplayer-camera-icon")[0];e.addEventListener("click",function(){var t=document.createElement("canvas");t.width=a.video.videoWidth,t.height=a.video.videoHeight,t.getContext("2d").drawImage(a.video,0,0,t.width,t.height),e.href=t.toDataURL(),e.download="DPlayer.png"})}(),i++}return l(e,[{key:"play",value:function(e){"[object Number]"===Object.prototype.toString.call(e)&&(this.video.currentTime=e),this.video.paused&&(this.shouldpause=!1,this.bezel.innerHTML=this.getSVG("play"),this.bezel.classList.add("dplayer-bezel-transition"),this.playButton.innerHTML=this.getSVG("pause"),this.video.play(),this.playedTime&&this.clearTime(),this.setTime(),this.element.classList.add("dplayer-playing"),this.trigger("play"))}},{key:"pause",value:function(){this.shouldpause&&!this.ended||(this.shouldpause=!0,this.element.classList.remove("dplayer-loading"),this.bezel.innerHTML=this.getSVG("pause"),this.bezel.classList.add("dplayer-bezel-transition"),this.ended=!1,this.playButton.innerHTML=this.getSVG("play"),this.video.pause(),this.clearTime(),this.element.classList.remove("dplayer-playing"),this.trigger("pause"))}},{key:"volume",value:function(e){e=e>0?e:0,e=e<1?e:1,this.updateBar("volume",e,"width"),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,t){"function"==typeof t&&this.event[e].push(t)}},{key:"_readAllEndpoints",value:function(e,t){for(var a=[],n=0,r=function(r){return function(l,o){if(++n,l?(l.response?alert(l.response.msg):console.log("Request was unsuccessful: "+l.status),a[r]=[]):a[r]=o,n==e.length)return t(a)}},l=0;l',this.danTunnel={right:{},top:{},bottom:{}},this.itemDemo=this.element.getElementsByClassName("dplayer-danmaku-item")[0],this.option.danmaku=t,this.readDanmaku())}}]),e}();e.exports=s},function(e,t,a){var n=a(2);"string"==typeof n&&(n=[[e.id,n,""]]);a(4)(n,{});n.locals&&(e.exports=n.locals)},function(e,t,a){t=e.exports=a(3)(),t.push([e.id,'.dplayer{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:1}.dplayer:-webkit-full-screen{width:100%;height:100%;background:#000}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{-webkit-animation:danmaku-center 6s linear;animation:danmaku-center 6s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{-webkit-animation:danmaku 8s linear;animation:danmaku 8s linear;-webkit-animation-play-state:paused;animation-play-state:paused}.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{height:60px}.dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment,.dplayer.dplayer-no-danmaku .dplayer-danmaku{display:none}.dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:running!important;animation-play-state:running!important}@media (min-width:900px){.dplayer.dplayer-playing .dplayer-controller,.dplayer.dplayer-playing .dplayer-controller-mask{opacity:0}.dplayer.dplayer-playing:hover .dplayer-controller,.dplayer.dplayer-playing:hover .dplayer-controller-mask{opacity:1}}.dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon{display:block}.dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move{-webkit-animation-play-state:paused!important;animation-play-state:paused!important}.dplayer.dplayer-hide-controller .dplayer-controller,.dplayer.dplayer-hide-controller .dplayer-controller-mask{opacity:0;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.dplayer.dplayer-show-controller .dplayer-controller,.dplayer.dplayer-show-controller .dplayer-controller-mask{opacity:1}.dplayer .dplayer-mask{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;display:none}.dplayer .dplayer-mask.dplayer-mask-show{display:block}.dplayer .dplayer-video-wrap{position:relative;background:#000;font-size:0;width:100%;height:100%}.dplayer .dplayer-video-wrap .dplayer-video{width:100%;height:100%}.dplayer .dplayer-danmaku{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff}.dplayer .dplayer-danmaku .dplayer-danmaku-item{display:inline-block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;white-space:nowrap;font-weight:bolder;text-shadow:.5px .5px .5px rgba(0,0,0,.5)}.dplayer .dplayer-danmaku .dplayer-danmaku-item--demo{position:absolute;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-right{position:absolute;right:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move{will-change:transform;-webkit-animation:danmaku 5s linear;animation:danmaku 5s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes danmaku{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom,.dplayer .dplayer-danmaku .dplayer-danmaku-top{position:absolute;width:100%;text-align:center;visibility:hidden}.dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move,.dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move{will-change:visibility;-webkit-animation:danmaku-center 4s linear;animation:danmaku-center 4s linear;-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}@keyframes danmaku-center{0%{visibility:visible}to{visibility:visible}}.dplayer .dplayer-bezel{position:absolute;left:0;right:0;top:0;bottom:0;font-size:22px;color:#fff;pointer-events:none}.dplayer .dplayer-bezel .dplayer-fill{fill:hsla(0,0%,100%,.8)}.dplayer .dplayer-bezel .dplayer-bezel-icon{position:absolute;top:50%;left:50%;margin:-26px 0 0 -26px;height:52px;width:52px;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box;background:rgba(0,0,0,.5);-webkit-border-radius:50%;border-radius:50%;opacity:0;pointer-events:none}.dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition{-webkit-animation:bezel-hide .5s linear;animation:bezel-hide .5s linear}@-webkit-keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}@keyframes bezel-hide{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(2);transform:scale(2)}}.dplayer .dplayer-bezel .dplayer-danloading{position:absolute;top:50%;margin-top:-7px;width:100%;text-align:center;font-size:14px;line-height:14px;-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out}.dplayer .dplayer-bezel .diplayer-loading-icon{display:none;position:absolute;top:50%;left:50%;margin:-18px 0 0 -18px;height:36px;width:36px;pointer-events:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide{display:none}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot{-webkit-animation:diplayer-loading-dot-fade .8s ease infinite;animation:diplayer-loading-dot-fade .8s ease infinite;opacity:0;fill:#fff;-webkit-transform-origin:4px 4px;-ms-transform-origin:4px 4px;transform-origin:4px 4px}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7{-webkit-animation-delay:.7s;animation-delay:.7s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6{-webkit-animation-delay:.6s;animation-delay:.6s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5{-webkit-animation-delay:.5s;animation-delay:.5s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4{-webkit-animation-delay:.4s;animation-delay:.4s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3{-webkit-animation-delay:.3s;animation-delay:.3s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2{-webkit-animation-delay:.2s;animation-delay:.2s}.dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1{-webkit-animation-delay:.1s;animation-delay:.1s}@-webkit-keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}@keyframes diplayer-loading-dot-fade{0%{opacity:.7;-webkit-transform:scale(1.2);transform:scale(1.2)}50%{opacity:.25;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:.25;-webkit-transform:scale(.85);transform:scale(.85)}}.dplayer .dplayer-controller-mask{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;height:98px;width:100%}.dplayer .dplayer-controller,.dplayer .dplayer-controller-mask{position:absolute;bottom:0;-webkit-transition:all .3s ease;transition:all .3s ease}.dplayer .dplayer-controller{left:0;right:0;height:41px;padding:0 20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dplayer .dplayer-controller .dplayer-bar-wrap{padding:5px 0;cursor:pointer;position:absolute;bottom:33px;width:-webkit-calc(100% - 40px);width:calc(100% - 40px);height:3px}.dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar{position:relative;height:3px;width:100%;background:hsla(0,0%,100%,.2);cursor:pointer!important}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded{position:absolute;left:0;top:0;bottom:0;background:hsla(0,0%,100%,.4);height:3px;-webkit-transition:all .5s ease;transition:all .5s ease;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played{position:absolute;left:0;top:0;bottom:0;height:3px;will-change:width}.dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;-webkit-border-radius:50%;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons{height:38px;position:absolute;bottom:0}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon{padding:7px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right{right:20px}.dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon{padding:8px}.dplayer .dplayer-controller .dplayer-icons #dplayer-menu{stroke:#ddd;stroke-width:1px}.dplayer .dplayer-controller .dplayer-icons .dplayer-time{line-height:38px;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);vertical-align:middle;font-size:13px;cursor:default}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon{width:46px;height:100%;border:none;background-color:transparent;outline:none;cursor:pointer;opacity:.8;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;vertical-align:middle;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover{opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon{padding:10px 9px 9px}.dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon{padding-top:8.5px}.dplayer .dplayer-controller .dplayer-icons .dplayer-fill{fill:#fff}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume{position:relative;display:inline-block;cursor:pointer!important;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar{width:45px!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap{display:inline-block;margin:0 5px 0 -5px;vertical-align:middle;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar{position:relative;top:17px;width:0;height:3px;background:#aaa;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;-webkit-border-radius:50%;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box{position:absolute;right:0;bottom:50px;-webkit-transform:translateX(170px);-ms-transform:translateX(170px);transform:translateX(170px);width:150px;height:120px;-webkit-border-radius:2px;border-radius:2px;background:rgba(28,28,28,.9);padding:7px 0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;overflow:hidden;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow{width:70px;height:180px;text-align:center}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item{height:30px;padding:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku{padding:5px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label{padding:0 10px;display:inline}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap{display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;vertical-align:middle;height:100%;width:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar{position:relative;top:8.5px;width:100%;height:3px;background:#fff;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner{position:absolute;bottom:0;left:0;height:100%;-webkit-transition:all .1s ease;transition:all .1s ease;background:#aaa;will-change:width}.dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb{position:absolute;top:0;right:5px;margin-top:-4px;margin-right:-10px;height:11px;width:11px;-webkit-border-radius:50%;border-radius:50%;cursor:pointer!important;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;background:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment{display:inline-block;height:100%}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box{position:absolute;right:0;bottom:50px;-webkit-transform:translateX(382px);-ms-transform:translateX(382px);transform:translateX(382px);-webkit-border-radius:2px;border-radius:2px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;z-index:2}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box.dplayer-comment-box-open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon{height:24px;width:24px;position:absolute;top:5px;left:7px;padding:0;opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon:hover .dplayer-fill{fill:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon .dplayer-fill{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;fill:#ddd}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box{position:absolute;background:#fff;bottom:40px;left:-93px;-webkit-box-shadow:0 0 25px rgba(0,0,0,.3);box-shadow:0 0 25px rgba(0,0,0,.3);-webkit-border-radius:4px;border-radius:4px;padding:10px 10px 16px;font-size:14px;width:204px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box:after{content:\'\';position:absolute;top:100%;left:50%;margin-left:-12px;background:url(\'data:image/svg+xml;utf8,\');width:24px;height:12px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box input[type=radio]{display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box label{cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title{font-size:14px;color:#555;padding:6px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type{font-size:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span{width:33%;padding:4px 6px;line-height:16px;display:inline-block;font-size:12px;color:#555;border:1px solid #e4e4e6;margin-right:-1px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked+span{background:#e4e4e6}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color{font-size:0}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label{font-size:0;padding:6px;display:inline-block}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span{width:22px;height:22px;display:inline-block;-webkit-border-radius:50%;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover{-webkit-animation:my-face 5s infinite ease-in-out;animation:my-face 5s infinite ease-in-out;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked+span{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);border:none!important}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input{outline:none;border:none;padding:8px 31px;font-size:14px;line-height:18px;text-align:center;-webkit-border-radius:4px;border-radius:4px;width:300px;background:#fff;margin:0;height:auto}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon{height:22px;width:22px;position:absolute;top:6px;right:7px;padding:0;opacity:1}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon:hover .dplayer-fill{fill:#aaa}.dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon .dplayer-fill{-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;fill:#ddd}.dplayer .dplayer-controller .dplayer-icons .dplayer-label{color:#eee;font-size:13px;display:inline-block;vertical-align:middle}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle{width:32px;height:100%;text-align:center;display:inline-block;font-size:0;vertical-align:middle;float:right}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input{max-height:0;max-width:0;display:none}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label{display:inline-block;position:relative;-webkit-box-shadow:#dfdfdf 0 0 0 0 inset;box-shadow:inset 0 0 0 0 #dfdfdf;border:1px solid #dfdfdf;height:20px;width:32px;-webkit-border-radius:10px;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after,.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:before{content:"";position:absolute;display:block;height:18px;width:18px;top:0;left:0;-webkit-border-radius:15px;border-radius:15px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input+label:after{background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label{border-color:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:before{width:30px;background:hsla(0,0%,100%,.5)}.dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked+label:after{left:12px}.dplayer .dplayer-menu{position:absolute;width:150px;-webkit-border-radius:2px;border-radius:2px;background:rgba(28,28,28,.9);padding:5px 0;overflow:hidden;z-index:3;display:none}.dplayer .dplayer-menu.dplayer-menu-show{display:block}.dplayer .dplayer-menu .dplayer-menu-item{height:30px;padding:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.dplayer .dplayer-menu .dplayer-menu-item:hover{background-color:hsla(0,0%,100%,.1)}.dplayer .dplayer-menu .dplayer-menu-item .dplayer-menu-label a{color:#eee;font-size:13px;display:inline-block;vertical-align:middle}@-webkit-keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}@keyframes my-face{2%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}4%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}6%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}8%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}10%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}12%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}14%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}16%{-webkit-transform:translateY(-.5px) rotate(-1.5deg);transform:translateY(-.5px) rotate(-1.5deg)}18%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}20%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}22%{-webkit-transform:translateY(.5px) rotate(-1.5deg);transform:translateY(.5px) rotate(-1.5deg)}24%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}26%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}28%{-webkit-transform:translateY(.5px) rotate(1.5deg);transform:translateY(.5px) rotate(1.5deg)}30%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}32%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}34%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}36%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}38%{-webkit-transform:translateY(1.5px) rotate(-1.5deg);transform:translateY(1.5px) rotate(-1.5deg)}40%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}42%{-webkit-transform:translateY(2.5px) rotate(-1.5deg);transform:translateY(2.5px) rotate(-1.5deg)}44%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}46%{-webkit-transform:translateY(-1.5px) rotate(2.5deg);transform:translateY(-1.5px) rotate(2.5deg)}48%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}50%{-webkit-transform:translateY(.5px) rotate(.5deg);transform:translateY(.5px) rotate(.5deg)}52%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}54%{-webkit-transform:translateY(-1.5px) rotate(1.5deg);transform:translateY(-1.5px) rotate(1.5deg)}56%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}58%{-webkit-transform:translateY(.5px) rotate(2.5deg);transform:translateY(.5px) rotate(2.5deg)}60%{-webkit-transform:translateY(2.5px) rotate(2.5deg);transform:translateY(2.5px) rotate(2.5deg)}62%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}64%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}66%{-webkit-transform:translateY(1.5px) rotate(-.5deg);transform:translateY(1.5px) rotate(-.5deg)}68%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}70%{-webkit-transform:translateY(1.5px) rotate(.5deg);transform:translateY(1.5px) rotate(.5deg)}72%{-webkit-transform:translateY(2.5px) rotate(1.5deg);transform:translateY(2.5px) rotate(1.5deg)}74%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}76%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}78%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}80%{-webkit-transform:translateY(1.5px) rotate(1.5deg);transform:translateY(1.5px) rotate(1.5deg)}82%{-webkit-transform:translateY(-.5px) rotate(.5deg);transform:translateY(-.5px) rotate(.5deg)}84%{-webkit-transform:translateY(1.5px) rotate(2.5deg);transform:translateY(1.5px) rotate(2.5deg)}86%{-webkit-transform:translateY(-1.5px) rotate(-1.5deg);transform:translateY(-1.5px) rotate(-1.5deg)}88%{-webkit-transform:translateY(-.5px) rotate(2.5deg);transform:translateY(-.5px) rotate(2.5deg)}90%{-webkit-transform:translateY(2.5px) rotate(-.5deg);transform:translateY(2.5px) rotate(-.5deg)}92%{-webkit-transform:translateY(.5px) rotate(-.5deg);transform:translateY(.5px) rotate(-.5deg)}94%{-webkit-transform:translateY(2.5px) rotate(.5deg);transform:translateY(2.5px) rotate(.5deg)}96%{-webkit-transform:translateY(-.5px) rotate(1.5deg);transform:translateY(-.5px) rotate(1.5deg)}98%{-webkit-transform:translateY(-1.5px) rotate(-.5deg);transform:translateY(-1.5px) rotate(-.5deg)}0%,to{-webkit-transform:translate(0) rotate(0deg);transform:translate(0) rotate(0deg)}}',""]); -},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t=0&&v.splice(t,1)}function i(e){var t=document.createElement("style");return t.type="text/css",l(e,t),t}function s(e){var t=document.createElement("link");return t.rel="stylesheet",l(e,t),t}function d(e,t){var a,n,r;if(t.singleton){var l=h++;a=b||(b=i(t)),n=p.bind(null,a,l,!1),r=p.bind(null,a,l,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(a=s(t),n=c.bind(null,a),r=function(){o(a),a.href&&URL.revokeObjectURL(a.href)}):(a=i(t),n=m.bind(null,a),r=function(){o(a)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}function p(e,t,a,n){var r=a?"":n.css;if(e.styleSheet)e.styleSheet.cssText=x(t,r);else{var l=document.createTextNode(r),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(l,o[t]):e.appendChild(l)}}function m(e,t){var a=t.css,n=t.media;if(n&&e.setAttribute("media",n),e.styleSheet)e.styleSheet.cssText=a;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(a))}}function c(e,t){var a=t.css,n=t.sourceMap;n&&(a+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */");var r=new Blob([a],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(r),l&&URL.revokeObjectURL(l)}var y={},u=function(e){var t;return function(){return"undefined"==typeof t&&(t=e.apply(this,arguments)),t}},g=u(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),f=u(function(){return document.head||document.getElementsByTagName("head")[0]}),b=null,h=0,v=[];e.exports=function(e,t){t=t||{},"undefined"==typeof t.singleton&&(t.singleton=g()),"undefined"==typeof t.insertAt&&(t.insertAt="bottom");var a=r(e);return n(a,t),function(e){for(var l=[],o=0;o=200&&l.status<300||304===l.status){var e=JSON.parse(l.responseText);return 1!==e.code?n(l,e):a(l,e)}r(l)}},l.open(null!==t?"POST":"GET",e,!0),l.send(null!==t?JSON.stringify(t):null)};t.send=function(e,t){a(e,t,function(e,t){console.log("Post danmaku: ",t)},function(e,t){alert(t.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},t.read=function(e,t){a(e,null,function(e,a){t(null,a.danmaku)},function(e,a){t({status:e.status,response:a})},function(e){t({status:e.status,response:null})})}}])}); +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("DPlayer",[],n):"object"==typeof exports?exports.DPlayer=n():e.DPlayer=n()}(this,function(){return function(e){function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}var t={};return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:a})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n(n.s=5)}([function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=function(e,n,t,a,r){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState){if(l.status>=200&&l.status<300||304===l.status){var e=JSON.parse(l.responseText);return 1!==e.code?a(l,e):t(l,e)}r(l)}},l.open(null!==n?"POST":"GET",e,!0),l.send(null!==n?JSON.stringify(n):null)};n.send=function(e,n){a(e,n,function(e,n){console.log("Post danmaku: ",n)},function(e,n){alert(n.msg)},function(e){console.log("Request was unsuccessful: "+e.status)})},n.read=function(e,n){a(e,null,function(e,t){n(null,t.danmaku)},function(e,t){n({status:e.status,response:t})},function(e){n({status:e.status,response:null})})}},function(e,n,t){var a=t(2);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){n=e.exports=t(3)(),n.push([e.i,'.dplayer {\n position: relative;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: 1; }\n .dplayer:-webkit-full-screen {\n width: 100%;\n height: 100%;\n background: #000; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n -webkit-animation: danmaku-center 6s linear;\n animation: danmaku-center 6s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer:-webkit-full-screen .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n -webkit-animation: danmaku 8s linear;\n animation: danmaku 8s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n height: 60px; }\n .dplayer.dplayer-no-danmaku .dplayer-controller .dplayer-icons .dplayer-comment {\n display: none; }\n .dplayer.dplayer-no-danmaku .dplayer-danmaku {\n display: none; }\n .dplayer.dplayer-playing .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: running !important;\n animation-play-state: running !important; }\n @media (min-width: 900px) {\n .dplayer.dplayer-playing .dplayer-controller-mask {\n opacity: 0; }\n .dplayer.dplayer-playing .dplayer-controller {\n opacity: 0; }\n .dplayer.dplayer-playing:hover .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-playing:hover .dplayer-controller {\n opacity: 1; } }\n .dplayer.dplayer-loading .dplayer-bezel .diplayer-loading-icon {\n display: block; }\n .dplayer.dplayer-loading .dplayer-danmaku .dplayer-danmaku-move {\n -webkit-animation-play-state: paused !important;\n animation-play-state: paused !important; }\n .dplayer.dplayer-hide-controller .dplayer-controller-mask {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-hide-controller .dplayer-controller {\n opacity: 0;\n -webkit-transform: translateY(100%);\n transform: translateY(100%); }\n .dplayer.dplayer-show-controller .dplayer-controller-mask {\n opacity: 1; }\n .dplayer.dplayer-show-controller .dplayer-controller {\n opacity: 1; }\n .dplayer .dplayer-mask {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n display: none; }\n .dplayer .dplayer-mask.dplayer-mask-show {\n display: block; }\n .dplayer .dplayer-video-wrap {\n position: relative;\n background: #000;\n font-size: 0;\n width: 100%;\n height: 100%; }\n .dplayer .dplayer-video-wrap .dplayer-video {\n width: 100%;\n height: 100%; }\n .dplayer .dplayer-danmaku {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item {\n display: inline-block;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n white-space: nowrap;\n font-weight: bolder;\n text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-item--demo {\n position: absolute;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right {\n position: absolute;\n right: 0;\n -webkit-transform: translateX(100%);\n transform: translateX(100%); }\n .dplayer .dplayer-danmaku .dplayer-danmaku-right.dplayer-danmaku-move {\n will-change: transform;\n -webkit-animation: danmaku 5s linear;\n animation: danmaku 5s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n\n@keyframes danmaku {\n from {\n -webkit-transform: translateX(100%);\n transform: translateX(100%); } }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom {\n position: absolute;\n width: 100%;\n text-align: center;\n visibility: hidden; }\n .dplayer .dplayer-danmaku .dplayer-danmaku-top.dplayer-danmaku-move,\n .dplayer .dplayer-danmaku .dplayer-danmaku-bottom.dplayer-danmaku-move {\n will-change: visibility;\n -webkit-animation: danmaku-center 4s linear;\n animation: danmaku-center 4s linear;\n -webkit-animation-play-state: paused;\n animation-play-state: paused; }\n\n@-webkit-keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n\n@keyframes danmaku-center {\n from {\n visibility: visible; }\n to {\n visibility: visible; } }\n .dplayer .dplayer-bezel {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-size: 22px;\n color: #fff;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-fill {\n fill: rgba(255, 255, 255, 0.8); }\n .dplayer .dplayer-bezel .dplayer-bezel-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -26px 0 0 -26px;\n height: 52px;\n width: 52px;\n padding: 12px;\n box-sizing: border-box;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none; }\n .dplayer .dplayer-bezel .dplayer-bezel-icon.dplayer-bezel-transition {\n -webkit-animation: bezel-hide .5s linear;\n animation: bezel-hide .5s linear; }\n\n@-webkit-keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n\n@keyframes bezel-hide {\n from {\n opacity: 1;\n -webkit-transform: scale(1);\n transform: scale(1); }\n to {\n opacity: 0;\n -webkit-transform: scale(2);\n transform: scale(2); } }\n .dplayer .dplayer-bezel .dplayer-danloading {\n position: absolute;\n top: 50%;\n margin-top: -7px;\n width: 100%;\n text-align: center;\n font-size: 14px;\n line-height: 14px;\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out; }\n .dplayer .dplayer-bezel .diplayer-loading-icon {\n display: none;\n position: absolute;\n top: 50%;\n left: 50%;\n margin: -18px 0 0 -18px;\n height: 36px;\n width: 36px;\n pointer-events: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-hide {\n display: none; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot {\n -webkit-animation: diplayer-loading-dot-fade .8s ease infinite;\n animation: diplayer-loading-dot-fade .8s ease infinite;\n opacity: 0;\n fill: #fff;\n -webkit-transform-origin: 4px 4px;\n transform-origin: 4px 4px; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-7 {\n -webkit-animation-delay: 0.7s;\n animation-delay: 0.7s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-6 {\n -webkit-animation-delay: 0.6s;\n animation-delay: 0.6s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-5 {\n -webkit-animation-delay: 0.5s;\n animation-delay: 0.5s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-4 {\n -webkit-animation-delay: 0.4s;\n animation-delay: 0.4s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-3 {\n -webkit-animation-delay: 0.3s;\n animation-delay: 0.3s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-2 {\n -webkit-animation-delay: 0.2s;\n animation-delay: 0.2s; }\n .dplayer .dplayer-bezel .diplayer-loading-icon .diplayer-loading-dot.diplayer-loading-dot-1 {\n -webkit-animation-delay: 0.1s;\n animation-delay: 0.1s; }\n\n@-webkit-keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n\n@keyframes diplayer-loading-dot-fade {\n 0% {\n opacity: .7;\n -webkit-transform: scale(1.2, 1.2);\n transform: scale(1.2, 1.2); }\n 50% {\n opacity: .25;\n -webkit-transform: scale(0.9, 0.9);\n transform: scale(0.9, 0.9); }\n to {\n opacity: .25;\n -webkit-transform: scale(0.85, 0.85);\n transform: scale(0.85, 0.85); } }\n .dplayer .dplayer-controller-mask {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==) repeat-x bottom;\n height: 98px;\n width: 100%;\n position: absolute;\n bottom: 0;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 41px;\n padding: 0 20px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .dplayer .dplayer-controller .dplayer-bar-wrap {\n padding: 5px 0;\n cursor: pointer;\n position: absolute;\n bottom: 33px;\n width: calc(100% - 40px);\n height: 3px; }\n .dplayer .dplayer-controller .dplayer-bar-wrap:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar {\n position: relative;\n height: 3px;\n width: 100%;\n background: rgba(255, 255, 255, 0.2);\n cursor: pointer !important; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, 0.4);\n height: 3px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 3px;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-bar-wrap .dplayer-bar .dplayer-played .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons {\n height: 38px;\n position: absolute;\n bottom: 0; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-left .dplayer-icon {\n padding: 7px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right {\n right: 20px; }\n .dplayer .dplayer-controller .dplayer-icons.dplayer-icons-right .dplayer-icon {\n padding: 8px; }\n .dplayer .dplayer-controller .dplayer-icons #dplayer-menu {\n stroke: #ddd;\n stroke-width: 1px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-time {\n line-height: 38px;\n color: #eee;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n vertical-align: middle;\n font-size: 13px;\n cursor: default; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon {\n width: 46px;\n height: 100%;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n opacity: .8;\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n vertical-align: middle;\n box-sizing: border-box;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon:hover {\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-comment-icon {\n padding: 10px 9px 9px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-icon.dplayer-setting-icon {\n padding-top: 8.5px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-fill {\n fill: #fff; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume {\n position: relative;\n display: inline-block;\n cursor: pointer !important;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume:hover .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-volume-bar {\n width: 45px !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume.dplayer-volume-active .dplayer-thumb {\n -webkit-transform: scale(1) !important;\n transform: scale(1) !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap {\n display: inline-block;\n margin: 0 5px 0 -5px;\n vertical-align: middle;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar {\n position: relative;\n top: 17px;\n width: 0;\n height: 3px;\n background: #aaa;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-volume .dplayer-volume-bar-wrap .dplayer-volume-bar .dplayer-volume-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: translateX(170px);\n transform: translateX(170px);\n width: 150px;\n height: 120px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 7px 0;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n overflow: hidden;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-open {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-box.dplayer-setting-box-narrow {\n width: 70px;\n height: 180px;\n text-align: center; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-item:hover,\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-speed-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku {\n padding: 5px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-label {\n padding: 0 10px;\n display: inline; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku:hover .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-label {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku.dplayer-setting-danmaku-active .dplayer-danmaku-bar-wrap {\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap {\n padding: 0 10px;\n box-sizing: border-box;\n display: none;\n vertical-align: middle;\n height: 100%;\n width: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar {\n position: relative;\n top: 8.5px;\n width: 100%;\n height: 3px;\n background: #fff;\n -webkit-transition: all 0.3s ease-in-out;\n transition: all 0.3s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 100%;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease;\n background: #aaa;\n will-change: width; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-setting .dplayer-setting-danmaku .dplayer-danmaku-bar-wrap .dplayer-danmaku-bar .dplayer-danmaku-bar-inner .dplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 11px;\n width: 11px;\n border-radius: 50%;\n cursor: pointer !important;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n background: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment {\n display: inline-block;\n height: 100%; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box {\n position: absolute;\n right: 0;\n bottom: 50px;\n -webkit-transform: translateX(382px);\n transform: translateX(382px);\n border-radius: 2px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n z-index: 2; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box.dplayer-comment-box-open {\n -webkit-transform: translateX(0);\n transform: translateX(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon {\n height: 24px;\n width: 24px;\n position: absolute;\n top: 5px;\n left: 7px;\n padding: 0;\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon:hover .dplayer-fill {\n fill: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-icon .dplayer-fill {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n fill: #ddd; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box {\n position: absolute;\n background: #fff;\n bottom: 40px;\n left: -93px;\n box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);\n border-radius: 4px;\n padding: 10px 10px 16px;\n font-size: 14px;\n width: 204px;\n -webkit-transition: all .3s ease-in-out;\n transition: all .3s ease-in-out;\n -webkit-transform: scale(0);\n transform: scale(0); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box.dplayer-comment-setting-open {\n -webkit-transform: scale(1);\n transform: scale(1); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box::after {\n content: \'\';\n position: absolute;\n top: 100%;\n left: 50%;\n margin-left: -12px;\n background: url(\'data:image/svg+xml;utf8,\');\n width: 24px;\n height: 12px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box input[type=radio] {\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box label {\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-title {\n font-size: 14px;\n color: #555;\n padding: 6px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(2) span {\n border-radius: 4px 0 0 4px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type label:nth-child(4) span {\n border-radius: 0 4px 4px 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type span {\n width: 33%;\n padding: 4px 6px;\n line-height: 16px;\n display: inline-block;\n font-size: 12px;\n color: #555;\n border: 1px solid #E4E4E6;\n margin-right: -1px;\n box-sizing: border-box;\n text-align: center;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-type input:checked + span {\n background: #E4E4E6; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color {\n font-size: 0; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color label {\n font-size: 0;\n padding: 6px;\n display: inline-block; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span {\n width: 22px;\n height: 22px;\n display: inline-block;\n border-radius: 50%;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color span:hover {\n -webkit-animation: my-face 5s infinite ease-in-out;\n animation: my-face 5s infinite ease-in-out;\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-setting-box .dplayer-comment-setting-color input:checked + span {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border: none !important; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-comment-input {\n outline: none;\n border: none;\n padding: 8px 31px;\n font-size: 14px;\n line-height: 18px;\n text-align: center;\n border-radius: 4px;\n width: 300px;\n background: #fff;\n margin: 0;\n height: auto; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon {\n height: 22px;\n width: 22px;\n position: absolute;\n top: 6px;\n right: 7px;\n padding: 0;\n opacity: 1; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon:hover .dplayer-fill {\n fill: #aaa; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-comment .dplayer-comment-box .dplayer-send-icon .dplayer-fill {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n fill: #ddd; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-label {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle {\n width: 32px;\n height: 100%;\n text-align: center;\n display: inline-block;\n font-size: 0;\n vertical-align: middle;\n float: right; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input {\n max-height: 0;\n max-width: 0;\n display: none; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label {\n display: inline-block;\n position: relative;\n box-shadow: #dfdfdf 0 0 0 0 inset;\n border: 1px solid #dfdfdf;\n height: 20px;\n width: 32px;\n border-radius: 10px;\n box-sizing: border-box;\n cursor: pointer;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:before {\n content: "";\n position: absolute;\n display: block;\n height: 18px;\n width: 18px;\n top: 0;\n left: 0;\n border-radius: 15px;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input + label:after {\n content: "";\n position: absolute;\n display: block;\n left: 0;\n top: 0;\n border-radius: 15px;\n background: #fff;\n -webkit-transition: .2s ease-in-out;\n transition: .2s ease-in-out;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\n height: 18px;\n width: 18px; }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label {\n border-color: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:before {\n width: 30px;\n background: rgba(255, 255, 255, 0.5); }\n .dplayer .dplayer-controller .dplayer-icons .dplayer-toggle input:checked + label:after {\n left: 12px; }\n .dplayer .dplayer-menu {\n position: absolute;\n width: 150px;\n border-radius: 2px;\n background: rgba(28, 28, 28, 0.9);\n padding: 5px 0;\n overflow: hidden;\n z-index: 3;\n display: none; }\n .dplayer .dplayer-menu.dplayer-menu-show {\n display: block; }\n .dplayer .dplayer-menu .dplayer-menu-item {\n height: 30px;\n padding: 5px 10px;\n box-sizing: border-box;\n cursor: pointer; }\n .dplayer .dplayer-menu .dplayer-menu-item:hover {\n background-color: rgba(255, 255, 255, 0.1); }\n .dplayer .dplayer-menu .dplayer-menu-item .dplayer-menu-label a {\n color: #eee;\n font-size: 13px;\n display: inline-block;\n vertical-align: middle; }\n\n@-webkit-keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n\n@keyframes my-face {\n 2% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 4% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 6% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 8% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 10% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 12% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 14% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 16% {\n -webkit-transform: translate(0, -0.5px) rotate(-1.5deg);\n transform: translate(0, -0.5px) rotate(-1.5deg); }\n 18% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 20% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 22% {\n -webkit-transform: translate(0, 0.5px) rotate(-1.5deg);\n transform: translate(0, 0.5px) rotate(-1.5deg); }\n 24% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 26% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 28% {\n -webkit-transform: translate(0, 0.5px) rotate(1.5deg);\n transform: translate(0, 0.5px) rotate(1.5deg); }\n 30% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 32% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 34% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 36% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 38% {\n -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);\n transform: translate(0, 1.5px) rotate(-1.5deg); }\n 40% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 42% {\n -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);\n transform: translate(0, 2.5px) rotate(-1.5deg); }\n 44% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 46% {\n -webkit-transform: translate(0, -1.5px) rotate(2.5deg);\n transform: translate(0, -1.5px) rotate(2.5deg); }\n 48% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 50% {\n -webkit-transform: translate(0, 0.5px) rotate(0.5deg);\n transform: translate(0, 0.5px) rotate(0.5deg); }\n 52% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 54% {\n -webkit-transform: translate(0, -1.5px) rotate(1.5deg);\n transform: translate(0, -1.5px) rotate(1.5deg); }\n 56% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 58% {\n -webkit-transform: translate(0, 0.5px) rotate(2.5deg);\n transform: translate(0, 0.5px) rotate(2.5deg); }\n 60% {\n -webkit-transform: translate(0, 2.5px) rotate(2.5deg);\n transform: translate(0, 2.5px) rotate(2.5deg); }\n 62% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 64% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 66% {\n -webkit-transform: translate(0, 1.5px) rotate(-0.5deg);\n transform: translate(0, 1.5px) rotate(-0.5deg); }\n 68% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 70% {\n -webkit-transform: translate(0, 1.5px) rotate(0.5deg);\n transform: translate(0, 1.5px) rotate(0.5deg); }\n 72% {\n -webkit-transform: translate(0, 2.5px) rotate(1.5deg);\n transform: translate(0, 2.5px) rotate(1.5deg); }\n 74% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 76% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 78% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 80% {\n -webkit-transform: translate(0, 1.5px) rotate(1.5deg);\n transform: translate(0, 1.5px) rotate(1.5deg); }\n 82% {\n -webkit-transform: translate(0, -0.5px) rotate(0.5deg);\n transform: translate(0, -0.5px) rotate(0.5deg); }\n 84% {\n -webkit-transform: translate(0, 1.5px) rotate(2.5deg);\n transform: translate(0, 1.5px) rotate(2.5deg); }\n 86% {\n -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);\n transform: translate(0, -1.5px) rotate(-1.5deg); }\n 88% {\n -webkit-transform: translate(0, -0.5px) rotate(2.5deg);\n transform: translate(0, -0.5px) rotate(2.5deg); }\n 90% {\n -webkit-transform: translate(0, 2.5px) rotate(-0.5deg);\n transform: translate(0, 2.5px) rotate(-0.5deg); }\n 92% {\n -webkit-transform: translate(0, 0.5px) rotate(-0.5deg);\n transform: translate(0, 0.5px) rotate(-0.5deg); }\n 94% {\n -webkit-transform: translate(0, 2.5px) rotate(0.5deg);\n transform: translate(0, 2.5px) rotate(0.5deg); }\n 96% {\n -webkit-transform: translate(0, -0.5px) rotate(1.5deg);\n transform: translate(0, -0.5px) rotate(1.5deg); }\n 98% {\n -webkit-transform: translate(0, -1.5px) rotate(-0.5deg);\n transform: translate(0, -1.5px) rotate(-0.5deg); }\n 0%, 100% {\n -webkit-transform: translate(0, 0) rotate(0deg);\n transform: translate(0, 0) rotate(0deg); } }\n',""]); +},function(e,n){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],n=0;n=0&&h.splice(n,1)}function o(e){var n=document.createElement("style");return n.type="text/css",r(e,n),n}function i(e){var n=document.createElement("link");return n.rel="stylesheet",r(e,n),n}function s(e,n){var t,a,r;if(n.singleton){var s=b++;t=f||(f=o(n)),a=d.bind(null,t,s,!1),r=d.bind(null,t,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(t=i(n),a=c.bind(null,t),r=function(){l(t),t.href&&URL.revokeObjectURL(t.href)}):(t=o(n),a=p.bind(null,t),r=function(){l(t)});return a(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;a(e=n)}else r()}}function d(e,n,t,a){var r=t?"":a.css;if(e.styleSheet)e.styleSheet.cssText=v(n,r);else{var l=document.createTextNode(r),o=e.childNodes;o[n]&&e.removeChild(o[n]),o.length?e.insertBefore(l,o[n]):e.appendChild(l)}}function p(e,n){var t=n.css,a=n.media;if(a&&e.setAttribute("media",a),e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}function c(e,n){var t=n.css,a=n.sourceMap;a&&(t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var r=new Blob([t],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(r),l&&URL.revokeObjectURL(l)}var m={},y=function(e){var n;return function(){return"undefined"==typeof n&&(n=e.apply(this,arguments)),n}},u=y(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),g=y(function(){return document.head||document.getElementsByTagName("head")[0]}),f=null,b=0,h=[];e.exports=function(e,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");n=n||{},"undefined"==typeof n.singleton&&(n.singleton=u()),"undefined"==typeof n.insertAt&&(n.insertAt="bottom");var r=a(e);return t(r,n),function(e){for(var l=[],o=0;o\n \n \n \n '},this.option=n;var s=/mobile/i.test(window.navigator.userAgent);s&&(this.option.autoplay=!1);var d={element:document.getElementsByClassName("dplayer")[0],autoplay:!1,theme:"#b7daff",loop:!1,lang:navigator.language.indexOf("zh")!==-1?"zh":"en",screenshot:!1,hotkey:!0,preload:"auto",apiBackend:o};for(var p in d)d.hasOwnProperty(p)&&!this.option.hasOwnProperty(p)&&(this.option[p]=d[p]);var c={"Danmaku is loading":"弹幕加载中",Top:"顶部",Bottom:"底部",Rolling:"滚动","Input danmaku, hit Enter":"输入弹幕,回车发送","About author":"关于作者","DPlayer feedback":"播放器意见反馈","About DPlayer":"关于 DPlay 播放器",Loop:"洗脑循环",Speed:"速度","Opacity for danmaku":"弹幕透明度",Normal:"正常","Please input danmaku!":"要输入弹幕内容啊喂!","Set danmaku color":"设置弹幕颜色","Set danmaku type":"设置弹幕类型",Danmaku:"弹幕"},m=function(e){return"en"===t.option.lang?e:"zh"===t.option.lang?c[e]:void 0};this.updateBar=function(e,n,t){n=n>0?n:0,n=n<1?n:1,E[e+"Bar"].style[t]=100*n+"%"};var y=["play","pause","canplay","playing","ended","error"];this.event={};for(var u=0;u\n
\n \n
\n
\n
\n
\n \n '+(this.option.danmaku?''+m("Danmaku is loading")+"":"")+'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n 0:00 / 0:00\n
\n
\n '+(this.option.screenshot?'\n "+this.getSVG("camera")+" \n ":"")+'\n
\n \n
\n \n
\n
\n
'+m("Set danmaku color")+'
\n \n \n \n \n \n \n
\n
\n
'+m("Set danmaku type")+'
\n \n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n ");var g=this.element.offsetWidth<=500;if(g){var f=document.createElement("style");f.innerHTML=".dplayer .dplayer-danmaku{font-size:18px}",document.head.appendChild(f)}if(this.video=this.element.getElementsByClassName("dplayer-video")[0],/(m3u8\?|m3u8$)/i.exec(this.option.video.url)&&Hls.isSupported()&&!function(){t.element.getElementsByClassName("dplayer-time")[0].style.display="none";var e=new Hls;e.attachMedia(t.video),e.on(Hls.Events.MEDIA_ATTACHED,function(){e.loadSource(t.option.video.url),e.on(Hls.Events.MANIFEST_PARSED,function(e,n){console.log("manifest loaded, found "+n.levels.length+" quality level")})})}(),/(flv\?|flv$)/i.exec(this.option.video.url)&&flvjs.isSupported()){var b=flvjs.createPlayer({type:"flv",url:this.option.video.url});b.attachMediaElement(this.video),b.load()}this.bezel=this.element.getElementsByClassName("dplayer-bezel-icon")[0],this.bezel.addEventListener("animationend",function(){t.bezel.classList.remove("dplayer-bezel-transition")}),this.playButton=this.element.getElementsByClassName("dplayer-play-icon")[0],this.shouldpause=!0,this.playButton.addEventListener("click",function(){t.toggle()});var h=this.element.getElementsByClassName("dplayer-video-wrap")[0],v=this.element.getElementsByClassName("dplayer-controller-mask")[0];if(s){var x=function(){t.element.classList.contains("dplayer-hide-controller")?t.element.classList.remove("dplayer-hide-controller"):t.element.classList.add("dplayer-hide-controller")};h.addEventListener("click",x),v.addEventListener("click",x)}else h.addEventListener("click",function(){t.toggle()}),v.addEventListener("click",function(){t.toggle()});var k=function(e){var n=function(e){return e<10?"0"+e:""+e},t=parseInt(e/60),a=parseInt(e-60*t);return n(t)+":"+n(a)},w=function(e){var n=e.offsetLeft,a=e.offsetParent,r=void 0;if(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement)for(;null!==a&&a!==t.element;)n+=a.offsetLeft,a=a.offsetParent;else for(;null!==a;)n+=a.offsetLeft,a=a.offsetParent;return r=document.body.scrollLeft+document.documentElement.scrollLeft,n-r},E={};E.playedBar=this.element.getElementsByClassName("dplayer-played")[0],E.loadedBar=this.element.getElementsByClassName("dplayer-loaded")[0];var L=this.element.getElementsByClassName("dplayer-bar-wrap")[0],z=void 0;this.option.danmaku&&this.video.addEventListener("seeking",function(){for(var e=0;e=t.video.currentTime)return void(t.danIndex=e);t.danIndex=t.dan.length}});var B=0,C=0,T=!1,M=void 0;this.setTime=function(){t.playedTime=setInterval(function(){C=t.video.currentTime,!T&&CB+.01&&!t.video.paused&&(t.element.classList.remove("dplayer-loading"),T=!1),B=C,t.updateBar("played",t.video.currentTime/t.video.duration,"width"),t.element.getElementsByClassName("dplayer-ptime")[0].innerHTML=k(t.video.currentTime),t.trigger("playing")},100),t.option.danmaku&&Q&&(M=setInterval(function(){for(var e=t.dan[t.danIndex];e&&t.video.currentTime>=parseFloat(e.time);)le(e.text,e.color,e.type),e=t.dan[++t.danIndex]},0))},this.clearTime=function(){clearInterval(t.playedTime),t.option.danmaku&&clearInterval(M)},L.addEventListener("click",function(e){var n=e||window.event;z=L.clientWidth;var a=(n.clientX-w(L))/z;a=a>0?a:0,a=a<1?a:1,t.updateBar("played",a,"width"),t.video.currentTime=parseFloat(E.playedBar.style.width)/100*t.video.duration});var N=function(e){var n=e||window.event,a=(n.clientX-w(L))/z;a=a>0?a:0,a=a<1?a:1,t.updateBar("played",a,"width"),t.element.getElementsByClassName("dplayer-ptime")[0].innerHTML=k(a*t.video.duration)},q=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",N),t.video.currentTime=parseFloat(E.playedBar.style.width)/100*t.video.duration,t.setTime()};L.addEventListener("mousedown",function(){z=L.clientWidth,t.clearTime(),document.addEventListener("mousemove",N),document.addEventListener("mouseup",q)}),E.volumeBar=this.element.getElementsByClassName("dplayer-volume-bar-inner")[0];var S=this.element.getElementsByClassName("dplayer-volume")[0],A=this.element.getElementsByClassName("dplayer-volume-bar-wrap")[0],D=this.element.getElementsByClassName("dplayer-volume-bar")[0],I=this.element.getElementsByClassName("dplayer-volume-icon")[0],R=35;this.switchVolumeIcon=function(){var e=t.element.getElementsByClassName("dplayer-volume-icon")[0];t.video.volume>=.8?e.innerHTML=t.getSVG("volume-up"):t.video.volume>0?e.innerHTML=t.getSVG("volume-down"):e.innerHTML=t.getSVG("volume-off")};var H=function(e){var n=e||window.event,a=(n.clientX-w(D)-5.5)/R;t.volume(a)},F=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",H),S.classList.remove("dplayer-volume-active")};A.addEventListener("click",function(e){var n=e||window.event,a=(n.clientX-w(D)-5.5)/R;t.volume(a)}),A.addEventListener("mousedown",function(){document.addEventListener("mousemove",H),document.addEventListener("mouseup",F),S.classList.add("dplayer-volume-active")}),I.addEventListener("click",function(){t.video.muted?(t.video.muted=!1,t.switchVolumeIcon(),t.updateBar("volume",t.video.volume,"width")):(t.video.muted=!0,I.innerHTML=t.getSVG("volume-off"),t.updateBar("volume",0,"width"))});var P=0;if(!s){var X=function(){t.element.classList.remove("dplayer-hide-controller"),clearTimeout(P),P=setTimeout(function(){t.video.played.length&&(t.element.classList.add("dplayer-hide-controller"),Y(),be())},2e3)};this.element.addEventListener("mousemove",X),this.element.addEventListener("click",X)}var O=localStorage.getItem("DPlayer-opacity")||.7,V={original:'\n
\n '+m("Speed")+'\n
'+this.getSVG("right")+('
\n
\n
\n '+m("Loop")+'\n
\n \n \n
\n
\n
\n '+m("Danmaku")+'\n
\n \n \n
\n
\n
\n '+m("Opacity for danmaku")+'\n
\n
\n
\n \n
\n
\n
\n
'), +speed:'\n
\n 0.5\n
\n
\n 0.75\n
\n
\n '+m("Normal")+'\n
\n
\n 1.25\n
\n
\n 1.5\n
\n
\n 2\n
'},j=this.element.getElementsByClassName("dplayer-setting-icon")[0],U=this.element.getElementsByClassName("dplayer-setting-box")[0],G=this.element.getElementsByClassName("dplayer-mask")[0];U.innerHTML=V.original;var Y=function(){U.classList.contains("dplayer-setting-box-open")&&(U.classList.remove("dplayer-setting-box-open"),G.classList.remove("dplayer-mask-show"),setTimeout(function(){U.classList.remove("dplayer-setting-box-narrow"),U.innerHTML=V.original,$()},300))},W=function(){U.classList.add("dplayer-setting-box-open"),G.classList.add("dplayer-mask-show")};G.addEventListener("click",function(){Y()}),j.addEventListener("click",function(){W()});var _=this.option.loop,J=this.element.getElementsByClassName("dplayer-danmaku")[0],Q=!0,$=function(){var e=t.element.getElementsByClassName("dplayer-setting-loop")[0],n=e.getElementsByClassName("dplayer-toggle-setting-input")[0];n.checked=_,e.addEventListener("click",function(){n.checked=!n.checked,n.checked?(_=!0,t.video.loop=_):(_=!1,t.video.loop=_),Y()});var a=t.element.getElementsByClassName("dplayer-setting-showdan")[0],r=a.getElementsByClassName("dplayer-showdan-setting-input")[0];r.checked=Q,a.addEventListener("click",function(){if(r.checked=!r.checked,r.checked){if(Q=!0,t.option.danmaku){for(var e=0;e=t.video.currentTime){t.danIndex=e;break}t.danIndex=t.dan.length}M=setInterval(function(){for(var e=t.dan[t.danIndex];e&&t.video.currentTime>=parseFloat(e.time);)le(e.text,e.color,e.type),e=t.dan[++t.danIndex]},0)}}else Q=!1,t.option.danmaku&&(clearInterval(M),J.innerHTML='
',t.danTunnel={right:{},top:{},bottom:{}},t.itemDemo=t.element.getElementsByClassName("dplayer-danmaku-item")[0]);Y()});var l=t.element.getElementsByClassName("dplayer-setting-speed")[0];l.addEventListener("click",function(){U.classList.add("dplayer-setting-box-narrow"),U.innerHTML=V.speed;for(var e=U.getElementsByClassName("dplayer-setting-speed-item"),n=function(n){e[n].addEventListener("click",function(){t.video.playbackRate=e[n].dataset.speed,Y()})},a=0;a0?l:0,l=l<1?l:1,t.updateBar("danmaku",l,"width");for(var o=t.element.getElementsByClassName("dplayer-danmaku-item"),i=0;i0?l:0,l=l<1?l:1,t.updateBar("danmaku",l,"width");for(var o=t.element.getElementsByClassName("dplayer-danmaku-item"),i=0;i/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},ye=function(){if(oe.blur(),!oe.value.replace(/^\s+|\s+$/g,""))return void alert(m("Please input danmaku!"));var e={token:t.option.danmaku.token,player:t.option.danmaku.id,author:"DIYgod",time:t.video.currentTime,text:oe.value,color:t.element.querySelector(".dplayer-comment-setting-color input:checked").value,type:t.element.querySelector(".dplayer-comment-setting-type input:checked").value};t.option.apiBackend.send(t.option.danmaku.api,e),oe.value="",be(),t.dan.splice(t.danIndex,0,e),t.danIndex++;var n=le(me(e.text),e.color,e.type);n.style.border="2px solid "+t.option.theme},ue=function(){pe.classList.contains("dplayer-comment-setting-open")&&pe.classList.remove("dplayer-comment-setting-open")},ge=function(){pe.classList.contains("dplayer-comment-setting-open")?pe.classList.remove("dplayer-comment-setting-open"):pe.classList.add("dplayer-comment-setting-open")},fe=0,be=function(){se.classList.contains("dplayer-comment-box-open")&&(se.classList.remove("dplayer-comment-box-open"),G.classList.remove("dplayer-mask-show"),clearInterval(fe),t.element.classList.remove("dplayer-show-controller"),ue())},he=function(){se.classList.add("dplayer-comment-box-open"),G.classList.add("dplayer-mask-show"),fe=setInterval(function(){clearTimeout(P)},1e3),t.element.classList.add("dplayer-show-controller")};G.addEventListener("click",function(){be()}),ie.addEventListener("click",function(){he(),setTimeout(function(){oe.focus()},300)}),de.addEventListener("click",function(){ge()}),this.element.getElementsByClassName("dplayer-comment-setting-color")[0].addEventListener("click",function(){var e=t.element.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked+span');e&&(de.getElementsByClassName("dplayer-fill")[0].style.fill=t.element.querySelector('input[name="dplayer-danmaku-color-${index}"]:checked').value)}),oe.addEventListener("click",function(){ue()}),oe.addEventListener("keydown",function(e){var n=e||window.event;13===n.keyCode&&ye()}),ce.addEventListener("click",ye);var ve=function(){K=J.offsetWidth;for(var e=t.element.getElementsByClassName("dplayer-danmaku-item"),n=0;n=a.width?(ke.style.right=a.width-r+"px",ke.style.left="initial"):(ke.style.left=n.clientX-t.element.getBoundingClientRect().left+"px",ke.style.right="initial"),l+ke.offsetHeight>=a.height?(ke.style.bottom=a.height-l+"px",ke.style.top="initial"):(ke.style.top=n.clientY-t.element.getBoundingClientRect().top+"px",ke.style.bottom="initial"),G.classList.add("dplayer-mask-show"),G.addEventListener("click",function(){G.classList.remove("dplayer-mask-show"),ke.classList.remove("dplayer-menu-show")})}),this.option.screenshot&&!function(){var e=t.element.getElementsByClassName("dplayer-camera-icon")[0];e.addEventListener("click",function(){var n=document.createElement("canvas");n.width=t.video.videoWidth,n.height=t.video.videoHeight,n.getContext("2d").drawImage(t.video,0,0,n.width,n.height),e.href=n.toDataURL(),e.download="DPlayer.png"})}(),i++}return l(e,[{key:"play",value:function(e){"[object Number]"===Object.prototype.toString.call(e)&&(this.video.currentTime=e),this.video.paused&&(this.shouldpause=!1,this.bezel.innerHTML=this.getSVG("play"),this.bezel.classList.add("dplayer-bezel-transition"),this.playButton.innerHTML=this.getSVG("pause"),this.video.play(),this.playedTime&&this.clearTime(),this.setTime(),this.element.classList.add("dplayer-playing"),this.trigger("play"))}},{key:"pause",value:function(){this.shouldpause&&!this.ended||(this.shouldpause=!0,this.element.classList.remove("dplayer-loading"),this.bezel.innerHTML=this.getSVG("pause"),this.bezel.classList.add("dplayer-bezel-transition"),this.ended=!1,this.playButton.innerHTML=this.getSVG("play"),this.video.pause(),this.clearTime(),this.element.classList.remove("dplayer-playing"),this.trigger("pause"))}},{key:"volume",value:function(e){e=e>0?e:0,e=e<1?e:1,this.updateBar("volume",e,"width"),this.video.volume=e,this.video.muted&&(this.video.muted=!1),this.switchVolumeIcon()}},{key:"toggle",value:function(){this.video.paused?this.play():this.pause()}},{key:"on",value:function(e,n){"function"==typeof n&&this.event[e].push(n)}},{key:"_readAllEndpoints",value:function(e,n){for(var t=[],a=0,r=function(r){return function(l,o){if(++a,l?(l.response?alert(l.response.msg):console.log("Request was unsuccessful: "+l.status),t[r]=[]):t[r]=o,a==e.length)return n(t)}},l=0;l',this.danTunnel={right:{},top:{},bottom:{}},this.itemDemo=this.element.getElementsByClassName("dplayer-danmaku-item")[0],this.option.danmaku=n,this.readDanmaku())}}]),e}();e.exports=s}])}); //# sourceMappingURL=DPlayer.min.js.map \ No newline at end of file diff --git a/dist/DPlayer.min.js.map b/dist/DPlayer.min.js.map index 098a1ce..a35feb6 100644 --- a/dist/DPlayer.min.js.map +++ b/dist/DPlayer.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///DPlayer.min.js","webpack:///webpack/bootstrap f5cad947e2d5ca0eeead","webpack:///./src/DPlayer.js","webpack:///./src/DPlayer.scss?8fa9","webpack:///./src/DPlayer.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/style-loader/addStyles.js","webpack:///./src/api.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","_classCallCheck","instance","Constructor","TypeError","_typeof","Symbol","iterator","obj","constructor","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","console","log","defaultApiBackend","index","DPlayer","option","_this","svg","play","pause","volume-up","volume-down","volume-off","loop","full","setting","right","comment","comment-off","send","menu","camera","getSVG","type","isMobile","test","window","navigator","userAgent","autoplay","defaultOption","element","document","getElementsByClassName","theme","lang","language","indexOf","screenshot","hotkey","preload","apiBackend","defaultKey","hasOwnProperty","tranZH","Danmaku is loading","Top","Bottom","Rolling","Input danmaku, hit Enter","About author","DPlayer feedback","About DPlayer","Loop","Speed","Opacity for danmaku","Normal","Please input danmaku!","Set danmaku color","Set danmaku type","Danmaku","getTran","text","updateBar","percentage","direction","bar","style","eventTypes","event","trigger","_i","danmaku","classList","add","innerHTML","video","pic","url","arrow","offsetWidth","arrowStyle","createElement","head","appendChild","exec","Hls","isSupported","display","hls","attachMedia","on","Events","MEDIA_ATTACHED","loadSource","MANIFEST_PARSED","data","levels","flvjs","flvPlayer","createPlayer","attachMediaElement","load","bezel","addEventListener","remove","playButton","shouldpause","toggle","videoWrap","conMask","toggleController","contains","secondToTime","second","add0","num","min","parseInt","sec","getElementViewLeft","actualLeft","offsetLeft","current","offsetParent","elementScrollLeft","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","body","scrollLeft","documentElement","playedBar","loadedBar","pbar","barWidth","_i2","dan","time","currentTime","danIndex","lastPlayPos","currentPlayPos","bufferingDetected","danmakuTime","setTime","playedTime","setInterval","paused","duration","showdan","item","parseFloat","danmakuIn","color","clearTime","clearInterval","e","clientWidth","clientX","width","thumbMove","thumbUp","removeEventListener","volumeBar","volumeEle","volumeBarWrapWrap","volumeBarWrap","volumeicon","vWidth","switchVolumeIcon","volume","volumeMove","volumeUp","muted","hideTime","hideController","clearTimeout","setTimeout","played","closeSetting","closeComment","danOpacity","localStorage","getItem","settingHTML","original","speed","settingIcon","settingBox","mask","settingEvent","openSetting","danContainer","loopEle","loopToggle","checked","showDanEle","showDanToggle","_i3","danTunnel","top","bottom","itemDemo","speedEle","speedItem","_loop","_i4","playbackRate","dataset","danmakuBar","danmakuBarWrapWrap","danmakuBarWrap","danmakuSettingBox","dWidth","danmakuMove","items","_i5","opacity","setItem","danmakuUp","_i6","buffered","end","ended","itemHeight","danWidth","danHeight","itemY","danItemRight","ele","getBoundingClientRect","danSpeed","getTunnel","tmp","_loop2","_i7","splice","v","j","danRight","push","_ret4","offsetHeight","removeChild","itemWidth","transform","error","readDanmaku","commentInput","commentIcon","commentBox","commentSettingIcon","commentSettingBox","commentSendIcon","htmlEncode","str","replace","sendComment","blur","value","alert","danmakuData","token","player","author","querySelector","api","border","closeCommentSetting","toggleCommentSetting","disableHide","openComment","focus","sele","fill","keyCode","resetAnimation","_i8","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","handleKeyDown","tag","activeElement","tagName","toUpperCase","editable","getAttribute","preventDefault","clientRect","menuLeft","left","menuTop","clientY","height","camareIcon","canvas","videoWidth","videoHeight","getContext","drawImage","href","toDataURL","download","toString","name","func","endpoints","finish","results","readCount","cbk","err","response","msg","status","read","_this2","apiurl","maximum","addition","slice","_readAllEndpoints","concat","apply","sort","a","b","src","poster","content","locals","list","result","join","mediaQuery","alreadyImportedModules","addStylesToDom","styles","options","domStyle","stylesInDom","refs","parts","addStyle","listToStyles","newStyles","css","media","sourceMap","part","insertStyleElement","styleElement","getHeadElement","lastStyleElementInsertedAtTop","styleElementsInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","Error","removeStyleElement","parentNode","idx","createStyleElement","createLinkElement","linkElement","rel","update","singleton","styleIndex","singletonCounter","singletonElement","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","btoa","updateLink","applyToTag","newObj","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","setAttribute","unescape","encodeURIComponent","JSON","stringify","blob","oldSrc","memoize","fn","memo","arguments","isOldIE","toLowerCase","getElementsByTagName","newList","mayRemove","textStore","replacement","filter","Boolean","SendXMLHttpRequest","success","fail","xhr","XMLHttpRequest","onreadystatechange","readyState","parse","responseText","code","open","endpoint"],"mappings":"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","file":"DPlayer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"DPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"DPlayer\"] = factory();\n\telse\n\t\troot[\"DPlayer\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\t\n\tvar _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tconsole.log(\"\\n %c DPlayer 1.1.2 %c http://dplayer.js.org \\n\\n\", \"color: #fadfa3; background: #030307; padding:5px 0;\", \"background: #fadfa3; padding:5px 0;\");\n\t\n\t__webpack_require__(1);\n\tvar defaultApiBackend = __webpack_require__(5);\n\t\n\tvar index = 0;\n\t\n\tvar DPlayer = function () {\n\t /**\n\t * DPlayer constructor function\n\t *\n\t * @param {Object} option - See README\n\t * @constructor\n\t */\n\t\n\t function DPlayer(option) {\n\t var _this = this;\n\t\n\t _classCallCheck(this, DPlayer);\n\t\n\t var svg = {\n\t 'play': ['0 0 16 32', 'M15.552 15.168q0.448 0.32 0.448 0.832 0 0.448-0.448 0.768l-13.696 8.512q-0.768 0.512-1.312 0.192t-0.544-1.28v-16.448q0-0.96 0.544-1.28t1.312 0.192z'],\n\t 'pause': ['0 0 17 32', 'M14.080 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048zM2.88 4.8q2.88 0 2.88 2.048v18.24q0 2.112-2.88 2.112t-2.88-2.112v-18.24q0-2.048 2.88-2.048z'],\n\t 'volume-up': ['0 0 21 32', 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528zM25.152 16q0 2.72-1.536 5.056t-4 3.36q-0.256 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.704 0.672-1.056 1.024-0.512 1.376-0.8 1.312-0.96 2.048-2.4t0.736-3.104-0.736-3.104-2.048-2.4q-0.352-0.288-1.376-0.8-0.672-0.352-0.672-1.056 0-0.448 0.32-0.8t0.8-0.352q0.224 0 0.48 0.096 2.496 1.056 4 3.36t1.536 5.056zM29.728 16q0 4.096-2.272 7.552t-6.048 5.056q-0.224 0.096-0.448 0.096-0.48 0-0.832-0.352t-0.32-0.8q0-0.64 0.704-1.056 0.128-0.064 0.384-0.192t0.416-0.192q0.8-0.448 1.44-0.896 2.208-1.632 3.456-4.064t1.216-5.152-1.216-5.152-3.456-4.064q-0.64-0.448-1.44-0.896-0.128-0.096-0.416-0.192t-0.384-0.192q-0.704-0.416-0.704-1.056 0-0.448 0.32-0.8t0.832-0.352q0.224 0 0.448 0.096 3.776 1.632 6.048 5.056t2.272 7.552z'],\n\t 'volume-down': ['0 0 21 32', 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8zM20.576 16q0 1.344-0.768 2.528t-2.016 1.664q-0.16 0.096-0.448 0.096-0.448 0-0.8-0.32t-0.32-0.832q0-0.384 0.192-0.64t0.544-0.448 0.608-0.384 0.512-0.64 0.192-1.024-0.192-1.024-0.512-0.64-0.608-0.384-0.544-0.448-0.192-0.64q0-0.48 0.32-0.832t0.8-0.32q0.288 0 0.448 0.096 1.248 0.48 2.016 1.664t0.768 2.528z'],\n\t 'volume-off': ['0 0 21 32', 'M13.728 6.272v19.456q0 0.448-0.352 0.8t-0.8 0.32-0.8-0.32l-5.952-5.952h-4.672q-0.48 0-0.8-0.352t-0.352-0.8v-6.848q0-0.48 0.352-0.8t0.8-0.352h4.672l5.952-5.952q0.32-0.32 0.8-0.32t0.8 0.32 0.352 0.8z'],\n\t 'loop': ['0 0 32 32', 'M1.882 16.941c0 4.152 3.221 7.529 7.177 7.529v1.882c-4.996 0-9.060-4.222-9.060-9.412s4.064-9.412 9.060-9.412h7.96l-3.098-3.098 1.331-1.331 5.372 5.37-5.37 5.372-1.333-1.333 3.1-3.098h-7.962c-3.957 0-7.177 3.377-7.177 7.529zM22.94 7.529v1.882c3.957 0 7.177 3.377 7.177 7.529s-3.221 7.529-7.177 7.529h-7.962l3.098-3.098-1.331-1.331-5.37 5.37 5.372 5.372 1.331-1.331-3.1-3.1h7.96c4.998 0 9.062-4.222 9.062-9.412s-4.064-9.412-9.060-9.412z'],\n\t 'full': ['0 0 32 33', 'M6.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v4h4c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333zM30.667 28h-5.333c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h4v-4c0-0.8 0.533-1.333 1.333-1.333s1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM30.667 12c-0.8 0-1.333-0.533-1.333-1.333v-4h-4c-0.8 0-1.333-0.533-1.333-1.333s0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333v5.333c0 0.8-0.533 1.333-1.333 1.333zM1.333 12c-0.8 0-1.333-0.533-1.333-1.333v-5.333c0-0.8 0.533-1.333 1.333-1.333h5.333c0.8 0 1.333 0.533 1.333 1.333s-0.533 1.333-1.333 1.333h-4v4c0 0.8-0.533 1.333-1.333 1.333z'],\n\t 'setting': ['0 0 32 28', 'M28.633 17.104c0.035 0.21 0.026 0.463-0.026 0.76s-0.14 0.598-0.262 0.904c-0.122 0.306-0.271 0.581-0.445 0.825s-0.367 0.419-0.576 0.524c-0.209 0.105-0.393 0.157-0.55 0.157s-0.332-0.035-0.524-0.105c-0.175-0.052-0.393-0.1-0.655-0.144s-0.528-0.052-0.799-0.026c-0.271 0.026-0.541 0.083-0.812 0.17s-0.502 0.236-0.694 0.445c-0.419 0.437-0.664 0.934-0.734 1.493s0.009 1.092 0.236 1.598c0.175 0.349 0.148 0.699-0.079 1.048-0.105 0.14-0.271 0.284-0.498 0.432s-0.476 0.284-0.747 0.406-0.555 0.218-0.851 0.288c-0.297 0.070-0.559 0.105-0.786 0.105-0.157 0-0.306-0.061-0.445-0.183s-0.236-0.253-0.288-0.393h-0.026c-0.192-0.541-0.52-1.009-0.982-1.402s-1-0.589-1.611-0.589c-0.594 0-1.131 0.197-1.611 0.589s-0.816 0.851-1.009 1.375c-0.087 0.21-0.218 0.362-0.393 0.458s-0.367 0.144-0.576 0.144c-0.244 0-0.52-0.044-0.825-0.131s-0.611-0.197-0.917-0.327c-0.306-0.131-0.581-0.284-0.825-0.458s-0.428-0.349-0.55-0.524c-0.087-0.122-0.135-0.266-0.144-0.432s0.057-0.397 0.197-0.694c0.192-0.402 0.266-0.86 0.223-1.375s-0.266-0.991-0.668-1.428c-0.244-0.262-0.541-0.432-0.891-0.511s-0.681-0.109-0.995-0.092c-0.367 0.017-0.742 0.087-1.127 0.21-0.244 0.070-0.489 0.052-0.734-0.052-0.192-0.070-0.371-0.231-0.537-0.485s-0.314-0.533-0.445-0.838c-0.131-0.306-0.231-0.62-0.301-0.943s-0.087-0.59-0.052-0.799c0.052-0.384 0.227-0.629 0.524-0.734 0.524-0.21 0.995-0.555 1.415-1.035s0.629-1.017 0.629-1.611c0-0.611-0.21-1.144-0.629-1.598s-0.891-0.786-1.415-0.996c-0.157-0.052-0.288-0.179-0.393-0.38s-0.157-0.406-0.157-0.616c0-0.227 0.035-0.48 0.105-0.76s0.162-0.55 0.275-0.812 0.244-0.502 0.393-0.72c0.148-0.218 0.31-0.38 0.485-0.485 0.14-0.087 0.275-0.122 0.406-0.105s0.275 0.052 0.432 0.105c0.524 0.21 1.070 0.275 1.637 0.197s1.070-0.327 1.506-0.747c0.21-0.209 0.362-0.467 0.458-0.773s0.157-0.607 0.183-0.904c0.026-0.297 0.026-0.568 0-0.812s-0.048-0.419-0.065-0.524c-0.035-0.105-0.066-0.227-0.092-0.367s-0.013-0.262 0.039-0.367c0.105-0.244 0.293-0.458 0.563-0.642s0.563-0.336 0.878-0.458c0.314-0.122 0.62-0.214 0.917-0.275s0.533-0.092 0.707-0.092c0.227 0 0.406 0.074 0.537 0.223s0.223 0.301 0.275 0.458c0.192 0.471 0.507 0.886 0.943 1.244s0.952 0.537 1.546 0.537c0.611 0 1.153-0.17 1.624-0.511s0.803-0.773 0.996-1.297c0.070-0.14 0.179-0.284 0.327-0.432s0.301-0.223 0.458-0.223c0.244 0 0.511 0.035 0.799 0.105s0.572 0.166 0.851 0.288c0.279 0.122 0.537 0.279 0.773 0.472s0.423 0.402 0.563 0.629c0.087 0.14 0.113 0.293 0.079 0.458s-0.070 0.284-0.105 0.354c-0.227 0.506-0.297 1.039-0.21 1.598s0.341 1.048 0.76 1.467c0.419 0.419 0.934 0.651 1.546 0.694s1.179-0.057 1.703-0.301c0.14-0.087 0.31-0.122 0.511-0.105s0.371 0.096 0.511 0.236c0.262 0.244 0.493 0.616 0.694 1.113s0.336 1 0.406 1.506c0.035 0.297-0.013 0.528-0.144 0.694s-0.266 0.275-0.406 0.327c-0.542 0.192-1.004 0.528-1.388 1.009s-0.576 1.026-0.576 1.637c0 0.594 0.162 1.113 0.485 1.559s0.747 0.764 1.27 0.956c0.122 0.070 0.227 0.14 0.314 0.21 0.192 0.157 0.323 0.358 0.393 0.602v0zM16.451 19.462c0.786 0 1.528-0.149 2.227-0.445s1.305-0.707 1.821-1.231c0.515-0.524 0.921-1.131 1.218-1.821s0.445-1.428 0.445-2.214c0-0.786-0.148-1.524-0.445-2.214s-0.703-1.292-1.218-1.808c-0.515-0.515-1.122-0.921-1.821-1.218s-1.441-0.445-2.227-0.445c-0.786 0-1.524 0.148-2.214 0.445s-1.292 0.703-1.808 1.218c-0.515 0.515-0.921 1.118-1.218 1.808s-0.445 1.428-0.445 2.214c0 0.786 0.149 1.524 0.445 2.214s0.703 1.297 1.218 1.821c0.515 0.524 1.118 0.934 1.808 1.231s1.428 0.445 2.214 0.445v0z'],\n\t 'right': ['0 0 32 32', 'M22 16l-10.105-10.6-1.895 1.987 8.211 8.613-8.211 8.612 1.895 1.988 8.211-8.613z'],\n\t 'comment': ['0 0 32 32', 'M27.128 0.38h-22.553c-2.336 0-4.229 1.825-4.229 4.076v16.273c0 2.251 1.893 4.076 4.229 4.076h4.229v-2.685h8.403l-8.784 8.072 1.566 1.44 7.429-6.827h9.71c2.335 0 4.229-1.825 4.229-4.076v-16.273c0-2.252-1.894-4.076-4.229-4.076zM28.538 19.403c0 1.5-1.262 2.717-2.819 2.717h-8.36l-0.076-0.070-0.076 0.070h-11.223c-1.557 0-2.819-1.217-2.819-2.717v-13.589c0-1.501 1.262-2.718 2.819-2.718h19.734c1.557 0 2.819-0.141 2.819 1.359v14.947zM9.206 10.557c-1.222 0-2.215 0.911-2.215 2.036s0.992 2.035 2.215 2.035c1.224 0 2.216-0.911 2.216-2.035s-0.992-2.036-2.216-2.036zM22.496 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.224 0 2.215-0.911 2.215-2.035s-0.991-2.036-2.215-2.036zM15.852 10.557c-1.224 0-2.215 0.911-2.215 2.036s0.991 2.035 2.215 2.035c1.222 0 2.215-0.911 2.215-2.035s-0.992-2.036-2.215-2.036z'],\n\t 'comment-off': ['0 0 32 32', 'M27.090 0.131h-22.731c-2.354 0-4.262 1.839-4.262 4.109v16.401c0 2.269 1.908 4.109 4.262 4.109h4.262v-2.706h8.469l-8.853 8.135 1.579 1.451 7.487-6.88h9.787c2.353 0 4.262-1.84 4.262-4.109v-16.401c0-2.27-1.909-4.109-4.262-4.109v0zM28.511 19.304c0 1.512-1.272 2.738-2.841 2.738h-8.425l-0.076-0.070-0.076 0.070h-11.311c-1.569 0-2.841-1.226-2.841-2.738v-13.696c0-1.513 1.272-2.739 2.841-2.739h19.889c1.569 0 2.841-0.142 2.841 1.37v15.064z'],\n\t 'send': ['0 0 32 32', 'M13.725 30l3.9-5.325-3.9-1.125v6.45zM0 17.5l11.050 3.35 13.6-11.55-10.55 12.425 11.8 3.65 6.1-23.375-32 15.5z'],\n\t 'menu': ['0 0 22 32', 'M20.8 14.4q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2zM1.6 11.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2zM20.8 20.8q0.704 0 1.152 0.48t0.448 1.12-0.48 1.12-1.12 0.48h-19.2q-0.64 0-1.12-0.48t-0.48-1.12 0.448-1.12 1.152-0.48h19.2z'],\n\t 'camera': ['0 0 32 32', 'M16 23c-3.309 0-6-2.691-6-6s2.691-6 6-6 6 2.691 6 6-2.691 6-6 6zM16 13c-2.206 0-4 1.794-4 4s1.794 4 4 4c2.206 0 4-1.794 4-4s-1.794-4-4-4zM27 28h-22c-1.654 0-3-1.346-3-3v-16c0-1.654 1.346-3 3-3h3c0.552 0 1 0.448 1 1s-0.448 1-1 1h-3c-0.551 0-1 0.449-1 1v16c0 0.552 0.449 1 1 1h22c0.552 0 1-0.448 1-1v-16c0-0.551-0.448-1-1-1h-11c-0.552 0-1-0.448-1-1s0.448-1 1-1h11c1.654 0 3 1.346 3 3v16c0 1.654-1.346 3-3 3zM24 10.5c0 0.828 0.672 1.5 1.5 1.5s1.5-0.672 1.5-1.5c0-0.828-0.672-1.5-1.5-1.5s-1.5 0.672-1.5 1.5zM15 4c0 0.552-0.448 1-1 1h-4c-0.552 0-1-0.448-1-1v0c0-0.552 0.448-1 1-1h4c0.552 0 1 0.448 1 1v0z']\n\t };\n\t this.getSVG = function (type) {\n\t return \"\\n \\n \\n \\n \\n \";\n\t };\n\t\n\t this.option = option;\n\t\n\t var isMobile = /mobile/i.test(window.navigator.userAgent);\n\t // compatibility: some mobile browsers don't suppose autoplay\n\t if (isMobile) {\n\t this.option.autoplay = false;\n\t }\n\t\n\t // default options\n\t var defaultOption = {\n\t element: document.getElementsByClassName('dplayer')[0],\n\t autoplay: false,\n\t theme: '#b7daff',\n\t loop: false,\n\t lang: navigator.language.indexOf('zh') !== -1 ? 'zh' : 'en',\n\t screenshot: false,\n\t hotkey: true,\n\t preload: 'auto',\n\t apiBackend: defaultApiBackend\n\t };\n\t for (var defaultKey in defaultOption) {\n\t if (defaultOption.hasOwnProperty(defaultKey) && !this.option.hasOwnProperty(defaultKey)) {\n\t this.option[defaultKey] = defaultOption[defaultKey];\n\t }\n\t }\n\t\n\t var tranZH = {\n\t 'Danmaku is loading': '弹幕加载中',\n\t 'Top': '顶部',\n\t 'Bottom': '底部',\n\t 'Rolling': '滚动',\n\t 'Input danmaku, hit Enter': '输入弹幕,回车发送',\n\t 'About author': '关于作者',\n\t 'DPlayer feedback': '播放器意见反馈',\n\t 'About DPlayer': '关于 DPlay 播放器',\n\t 'Loop': '洗脑循环',\n\t 'Speed': '速度',\n\t 'Opacity for danmaku': '弹幕透明度',\n\t 'Normal': '正常',\n\t 'Please input danmaku!': '要输入弹幕内容啊喂!',\n\t 'Set danmaku color': '设置弹幕颜色',\n\t 'Set danmaku type': '设置弹幕类型',\n\t 'Danmaku': '弹幕'\n\t };\n\t var getTran = function getTran(text) {\n\t if (_this.option.lang === 'en') {\n\t return text;\n\t } else if (_this.option.lang === 'zh') {\n\t return tranZH[text];\n\t }\n\t };\n\t\n\t /**\n\t * Update progress bar, including loading progress bar and play progress bar\n\t *\n\t * @param {String} type - Point out which bar it is, should be played loaded or volume\n\t * @param {Number} percentage\n\t * @param {String} direction - Point out the direction of this bar, Should be height or width\n\t */\n\t this.updateBar = function (type, percentage, direction) {\n\t percentage = percentage > 0 ? percentage : 0;\n\t percentage = percentage < 1 ? percentage : 1;\n\t bar[type + 'Bar'].style[direction] = percentage * 100 + '%';\n\t };\n\t\n\t // define DPlayer events\n\t var eventTypes = ['play', 'pause', 'canplay', 'playing', 'ended', 'error'];\n\t this.event = {};\n\t for (var i = 0; i < eventTypes.length; i++) {\n\t this.event[eventTypes[i]] = [];\n\t }\n\t this.trigger = function (type) {\n\t for (var _i = 0; _i < _this.event[type].length; _i++) {\n\t _this.event[type][_i]();\n\t }\n\t };\n\t\n\t this.element = this.option.element;\n\t if (!this.option.danmaku) {\n\t this.element.classList.add('dplayer-no-danmaku');\n\t }\n\t\n\t this.element.innerHTML = \"\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \" + (this.option.danmaku ? \"\" + getTran('Danmaku is loading') + \"\" : \"\") + \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n 0:00 / 0:00\\n
\\n
\\n \" + (this.option.screenshot ? \"\\n \" + this.getSVG('camera') + \" \\n \" : \"\") + \"\\n
\\n \\n
\\n \\n
\\n
\\n
\" + getTran('Set danmaku color') + \"
\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\" + getTran('Set danmaku type') + \"
\\n \\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \");\n\t\n\t // arrow style\n\t var arrow = this.element.offsetWidth <= 500;\n\t if (arrow) {\n\t var arrowStyle = document.createElement('style');\n\t arrowStyle.innerHTML = \".dplayer .dplayer-danmaku{font-size:18px}\";\n\t document.head.appendChild(arrowStyle);\n\t }\n\t\n\t // get this video object\n\t this.video = this.element.getElementsByClassName('dplayer-video')[0];\n\t\n\t // Support HTTP Live Streaming\n\t if (/(m3u8\\?|m3u8$)/i.exec(this.option.video.url) && Hls.isSupported()) {\n\t (function () {\n\t _this.element.getElementsByClassName('dplayer-time')[0].style.display = 'none';\n\t var hls = new Hls();\n\t hls.attachMedia(_this.video);\n\t hls.on(Hls.Events.MEDIA_ATTACHED, function () {\n\t hls.loadSource(_this.option.video.url);\n\t hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {\n\t console.log(\"manifest loaded, found \" + data.levels.length + \" quality level\");\n\t });\n\t });\n\t })();\n\t }\n\t\n\t // Support FLV\n\t if (/(flv\\?|flv$)/i.exec(this.option.video.url) && flvjs.isSupported()) {\n\t var flvPlayer = flvjs.createPlayer({\n\t type: 'flv',\n\t url: this.option.video.url\n\t });\n\t flvPlayer.attachMediaElement(this.video);\n\t flvPlayer.load();\n\t }\n\t\n\t this.bezel = this.element.getElementsByClassName('dplayer-bezel-icon')[0];\n\t this.bezel.addEventListener('animationend', function () {\n\t _this.bezel.classList.remove('dplayer-bezel-transition');\n\t });\n\t\n\t // play and pause button\n\t this.playButton = this.element.getElementsByClassName('dplayer-play-icon')[0];\n\t this.shouldpause = true;\n\t this.playButton.addEventListener('click', function () {\n\t _this.toggle();\n\t });\n\t\n\t var videoWrap = this.element.getElementsByClassName('dplayer-video-wrap')[0];\n\t var conMask = this.element.getElementsByClassName('dplayer-controller-mask')[0];\n\t if (!isMobile) {\n\t videoWrap.addEventListener('click', function () {\n\t _this.toggle();\n\t });\n\t conMask.addEventListener('click', function () {\n\t _this.toggle();\n\t });\n\t } else {\n\t var toggleController = function toggleController() {\n\t if (_this.element.classList.contains('dplayer-hide-controller')) {\n\t _this.element.classList.remove('dplayer-hide-controller');\n\t } else {\n\t _this.element.classList.add('dplayer-hide-controller');\n\t }\n\t };\n\t videoWrap.addEventListener('click', toggleController);\n\t conMask.addEventListener('click', toggleController);\n\t }\n\t\n\t /**\n\t * Parse second to 00:00 format\n\t *\n\t * @param {Number} second\n\t * @return {String} 00:00 format\n\t */\n\t var secondToTime = function secondToTime(second) {\n\t var add0 = function add0(num) {\n\t return num < 10 ? '0' + num : '' + num;\n\t };\n\t var min = parseInt(second / 60);\n\t var sec = parseInt(second - min * 60);\n\t return add0(min) + ':' + add0(sec);\n\t };\n\t\n\t /**\n\t * control play progress\n\t */\n\t // get element's view position\n\t var getElementViewLeft = function getElementViewLeft(element) {\n\t var actualLeft = element.offsetLeft;\n\t var current = element.offsetParent;\n\t var elementScrollLeft = void 0;\n\t if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n\t while (current !== null) {\n\t actualLeft += current.offsetLeft;\n\t current = current.offsetParent;\n\t }\n\t } else {\n\t while (current !== null && current !== _this.element) {\n\t actualLeft += current.offsetLeft;\n\t current = current.offsetParent;\n\t }\n\t }\n\t elementScrollLeft = document.body.scrollLeft + document.documentElement.scrollLeft;\n\t return actualLeft - elementScrollLeft;\n\t };\n\t\n\t var getElementViewTop = function getElementViewTop(element) {\n\t var actualTop = element.offsetTop;\n\t var current = element.offsetParent;\n\t var elementScrollTop = void 0;\n\t if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n\t while (current !== null) {\n\t actualTop += current.offsetTop;\n\t current = current.offsetParent;\n\t }\n\t } else {\n\t while (current !== null && current !== _this.element) {\n\t actualTop += current.offsetTop;\n\t current = current.offsetParent;\n\t }\n\t }\n\t elementScrollTop = document.body.scrollTop + document.documentElement.scrollTop;\n\t return actualTop - elementScrollTop;\n\t };\n\t\n\t var bar = {};\n\t bar.playedBar = this.element.getElementsByClassName('dplayer-played')[0];\n\t bar.loadedBar = this.element.getElementsByClassName('dplayer-loaded')[0];\n\t var pbar = this.element.getElementsByClassName('dplayer-bar-wrap')[0];\n\t var barWidth = void 0;\n\t\n\t if (this.option.danmaku) {\n\t this.video.addEventListener('seeking', function () {\n\t for (var _i2 = 0; _i2 < _this.dan.length; _i2++) {\n\t if (_this.dan[_i2].time >= _this.video.currentTime) {\n\t _this.danIndex = _i2;\n\t return;\n\t }\n\t _this.danIndex = _this.dan.length;\n\t }\n\t });\n\t }\n\t\n\t var lastPlayPos = 0;\n\t var currentPlayPos = 0;\n\t var bufferingDetected = false;\n\t var danmakuTime = void 0;\n\t this.setTime = function () {\n\t _this.playedTime = setInterval(function () {\n\t // whether the video is buffering\n\t currentPlayPos = _this.video.currentTime;\n\t if (!bufferingDetected && currentPlayPos < lastPlayPos + 0.01 && !_this.video.paused) {\n\t _this.element.classList.add('dplayer-loading');\n\t bufferingDetected = true;\n\t }\n\t if (bufferingDetected && currentPlayPos > lastPlayPos + 0.01 && !_this.video.paused) {\n\t _this.element.classList.remove('dplayer-loading');\n\t bufferingDetected = false;\n\t }\n\t lastPlayPos = currentPlayPos;\n\t\n\t _this.updateBar('played', _this.video.currentTime / _this.video.duration, 'width');\n\t _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = secondToTime(_this.video.currentTime);\n\t _this.trigger('playing');\n\t }, 100);\n\t if (_this.option.danmaku && showdan) {\n\t danmakuTime = setInterval(function () {\n\t var item = _this.dan[_this.danIndex];\n\t while (item && _this.video.currentTime >= parseFloat(item.time)) {\n\t danmakuIn(item.text, item.color, item.type);\n\t item = _this.dan[++_this.danIndex];\n\t }\n\t }, 0);\n\t }\n\t };\n\t this.clearTime = function () {\n\t clearInterval(_this.playedTime);\n\t if (_this.option.danmaku) {\n\t clearInterval(danmakuTime);\n\t }\n\t };\n\t\n\t pbar.addEventListener('click', function (event) {\n\t var e = event || window.event;\n\t barWidth = pbar.clientWidth;\n\t var percentage = (e.clientX - getElementViewLeft(pbar)) / barWidth;\n\t percentage = percentage > 0 ? percentage : 0;\n\t percentage = percentage < 1 ? percentage : 1;\n\t _this.updateBar('played', percentage, 'width');\n\t _this.video.currentTime = parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration;\n\t });\n\t\n\t var thumbMove = function thumbMove(event) {\n\t var e = event || window.event;\n\t var percentage = (e.clientX - getElementViewLeft(pbar)) / barWidth;\n\t percentage = percentage > 0 ? percentage : 0;\n\t percentage = percentage < 1 ? percentage : 1;\n\t _this.updateBar('played', percentage, 'width');\n\t _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = secondToTime(percentage * _this.video.duration);\n\t };\n\t\n\t var thumbUp = function thumbUp() {\n\t document.removeEventListener('mouseup', thumbUp);\n\t document.removeEventListener('mousemove', thumbMove);\n\t _this.video.currentTime = parseFloat(bar.playedBar.style.width) / 100 * _this.video.duration;\n\t _this.setTime();\n\t };\n\t\n\t pbar.addEventListener('mousedown', function () {\n\t barWidth = pbar.clientWidth;\n\t _this.clearTime();\n\t document.addEventListener('mousemove', thumbMove);\n\t document.addEventListener('mouseup', thumbUp);\n\t });\n\t\n\t /**\n\t * control volume\n\t */\n\t bar.volumeBar = this.element.getElementsByClassName('dplayer-volume-bar-inner')[0];\n\t var volumeEle = this.element.getElementsByClassName('dplayer-volume')[0];\n\t var volumeBarWrapWrap = this.element.getElementsByClassName('dplayer-volume-bar-wrap')[0];\n\t var volumeBarWrap = this.element.getElementsByClassName('dplayer-volume-bar')[0];\n\t var volumeicon = this.element.getElementsByClassName('dplayer-volume-icon')[0];\n\t var vWidth = 35;\n\t\n\t this.switchVolumeIcon = function () {\n\t var volumeicon = _this.element.getElementsByClassName('dplayer-volume-icon')[0];\n\t if (_this.video.volume >= 0.8) {\n\t volumeicon.innerHTML = _this.getSVG('volume-up');\n\t } else if (_this.video.volume > 0) {\n\t volumeicon.innerHTML = _this.getSVG('volume-down');\n\t } else {\n\t volumeicon.innerHTML = _this.getSVG('volume-off');\n\t }\n\t };\n\t var volumeMove = function volumeMove(event) {\n\t var e = event || window.event;\n\t var percentage = (e.clientX - getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n\t _this.volume(percentage);\n\t };\n\t var volumeUp = function volumeUp() {\n\t document.removeEventListener('mouseup', volumeUp);\n\t document.removeEventListener('mousemove', volumeMove);\n\t volumeEle.classList.remove('dplayer-volume-active');\n\t };\n\t\n\t volumeBarWrapWrap.addEventListener('click', function (event) {\n\t var e = event || window.event;\n\t var percentage = (e.clientX - getElementViewLeft(volumeBarWrap) - 5.5) / vWidth;\n\t _this.volume(percentage);\n\t });\n\t volumeBarWrapWrap.addEventListener('mousedown', function () {\n\t document.addEventListener('mousemove', volumeMove);\n\t document.addEventListener('mouseup', volumeUp);\n\t volumeEle.classList.add('dplayer-volume-active');\n\t });\n\t volumeicon.addEventListener('click', function () {\n\t if (_this.video.muted) {\n\t _this.video.muted = false;\n\t _this.switchVolumeIcon();\n\t _this.updateBar('volume', _this.video.volume, 'width');\n\t } else {\n\t _this.video.muted = true;\n\t volumeicon.innerHTML = _this.getSVG('volume-off');\n\t _this.updateBar('volume', 0, 'width');\n\t }\n\t });\n\t\n\t /**\n\t * auto hide controller\n\t */\n\t var hideTime = 0;\n\t if (!isMobile) {\n\t var hideController = function hideController() {\n\t _this.element.classList.remove('dplayer-hide-controller');\n\t clearTimeout(hideTime);\n\t hideTime = setTimeout(function () {\n\t if (_this.video.played.length) {\n\t _this.element.classList.add('dplayer-hide-controller');\n\t closeSetting();\n\t closeComment();\n\t }\n\t }, 2000);\n\t };\n\t this.element.addEventListener('mousemove', hideController);\n\t this.element.addEventListener('click', hideController);\n\t }\n\t\n\t /***\n\t * setting\n\t */\n\t var danOpacity = localStorage.getItem('DPlayer-opacity') || 0.7;\n\t var settingHTML = {\n\t 'original': \"\\n
\\n \" + getTran('Speed') + \"\\n
\" + this.getSVG('right') + (\"
\\n
\\n
\\n \" + getTran('Loop') + \"\\n
\\n \\n \\n
\\n
\\n
\\n \" + getTran('Danmaku') + \"\\n
\\n \\n \\n
\\n
\\n
\\n \" + getTran('Opacity for danmaku') + \"\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\"),\n\t 'speed': \"\\n
\\n 0.5\\n
\\n
\\n 0.75\\n
\\n
\\n \" + getTran('Normal') + \"\\n
\\n
\\n 1.25\\n
\\n
\\n 1.5\\n
\\n
\\n 2\\n
\"\n\t };\n\t\n\t // toggle setting box\n\t var settingIcon = this.element.getElementsByClassName('dplayer-setting-icon')[0];\n\t var settingBox = this.element.getElementsByClassName('dplayer-setting-box')[0];\n\t var mask = this.element.getElementsByClassName('dplayer-mask')[0];\n\t settingBox.innerHTML = settingHTML.original;\n\t\n\t var closeSetting = function closeSetting() {\n\t if (settingBox.classList.contains('dplayer-setting-box-open')) {\n\t settingBox.classList.remove('dplayer-setting-box-open');\n\t mask.classList.remove('dplayer-mask-show');\n\t setTimeout(function () {\n\t settingBox.classList.remove('dplayer-setting-box-narrow');\n\t settingBox.innerHTML = settingHTML.original;\n\t settingEvent();\n\t }, 300);\n\t }\n\t };\n\t var openSetting = function openSetting() {\n\t settingBox.classList.add('dplayer-setting-box-open');\n\t mask.classList.add('dplayer-mask-show');\n\t };\n\t\n\t mask.addEventListener('click', function () {\n\t closeSetting();\n\t });\n\t settingIcon.addEventListener('click', function () {\n\t openSetting();\n\t });\n\t\n\t var loop = this.option.loop;\n\t var danContainer = this.element.getElementsByClassName('dplayer-danmaku')[0];\n\t var showdan = true;\n\t var settingEvent = function settingEvent() {\n\t // loop control\n\t var loopEle = _this.element.getElementsByClassName('dplayer-setting-loop')[0];\n\t var loopToggle = loopEle.getElementsByClassName('dplayer-toggle-setting-input')[0];\n\t\n\t loopToggle.checked = loop;\n\t\n\t loopEle.addEventListener('click', function () {\n\t loopToggle.checked = !loopToggle.checked;\n\t if (loopToggle.checked) {\n\t loop = true;\n\t _this.video.loop = loop;\n\t } else {\n\t loop = false;\n\t _this.video.loop = loop;\n\t }\n\t closeSetting();\n\t });\n\t\n\t // show danmaku control\n\t var showDanEle = _this.element.getElementsByClassName('dplayer-setting-showdan')[0];\n\t var showDanToggle = showDanEle.getElementsByClassName('dplayer-showdan-setting-input')[0];\n\t\n\t showDanToggle.checked = showdan;\n\t\n\t showDanEle.addEventListener('click', function () {\n\t showDanToggle.checked = !showDanToggle.checked;\n\t if (showDanToggle.checked) {\n\t showdan = true;\n\t if (_this.option.danmaku) {\n\t for (var _i3 = 0; _i3 < _this.dan.length; _i3++) {\n\t if (_this.dan[_i3].time >= _this.video.currentTime) {\n\t _this.danIndex = _i3;\n\t break;\n\t }\n\t _this.danIndex = _this.dan.length;\n\t }\n\t danmakuTime = setInterval(function () {\n\t var item = _this.dan[_this.danIndex];\n\t while (item && _this.video.currentTime >= parseFloat(item.time)) {\n\t danmakuIn(item.text, item.color, item.type);\n\t item = _this.dan[++_this.danIndex];\n\t }\n\t }, 0);\n\t }\n\t } else {\n\t showdan = false;\n\t if (_this.option.danmaku) {\n\t clearInterval(danmakuTime);\n\t danContainer.innerHTML = \"
\";\n\t _this.danTunnel = {\n\t right: {},\n\t top: {},\n\t bottom: {}\n\t };\n\t _this.itemDemo = _this.element.getElementsByClassName('dplayer-danmaku-item')[0];\n\t }\n\t }\n\t closeSetting();\n\t });\n\t\n\t // speed control\n\t var speedEle = _this.element.getElementsByClassName('dplayer-setting-speed')[0];\n\t speedEle.addEventListener('click', function () {\n\t settingBox.classList.add('dplayer-setting-box-narrow');\n\t settingBox.innerHTML = settingHTML.speed;\n\t\n\t var speedItem = settingBox.getElementsByClassName('dplayer-setting-speed-item');\n\t\n\t var _loop = function _loop(_i4) {\n\t speedItem[_i4].addEventListener('click', function () {\n\t _this.video.playbackRate = speedItem[_i4].dataset.speed;\n\t closeSetting();\n\t });\n\t };\n\t\n\t for (var _i4 = 0; _i4 < speedItem.length; _i4++) {\n\t _loop(_i4);\n\t }\n\t });\n\t\n\t if (_this.option.danmaku) {\n\t (function () {\n\t // danmaku opacity\n\t bar.danmakuBar = _this.element.getElementsByClassName('dplayer-danmaku-bar-inner')[0];\n\t var danmakuBarWrapWrap = _this.element.getElementsByClassName('dplayer-danmaku-bar-wrap')[0];\n\t var danmakuBarWrap = _this.element.getElementsByClassName('dplayer-danmaku-bar')[0];\n\t var danmakuSettingBox = _this.element.getElementsByClassName('dplayer-setting-danmaku')[0];\n\t var dWidth = 130;\n\t _this.updateBar('danmaku', danOpacity, 'width');\n\t\n\t var danmakuMove = function danmakuMove(event) {\n\t var e = event || window.event;\n\t var percentage = (e.clientX - getElementViewLeft(danmakuBarWrap)) / dWidth;\n\t percentage = percentage > 0 ? percentage : 0;\n\t percentage = percentage < 1 ? percentage : 1;\n\t _this.updateBar('danmaku', percentage, 'width');\n\t var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n\t for (var _i5 = 0; _i5 < items.length; _i5++) {\n\t items[_i5].style.opacity = percentage;\n\t }\n\t danOpacity = percentage;\n\t localStorage.setItem('DPlayer-opacity', danOpacity);\n\t };\n\t var danmakuUp = function danmakuUp() {\n\t document.removeEventListener('mouseup', danmakuUp);\n\t document.removeEventListener('mousemove', danmakuMove);\n\t danmakuSettingBox.classList.remove('dplayer-setting-danmaku-active');\n\t };\n\t\n\t danmakuBarWrapWrap.addEventListener('click', function (event) {\n\t var e = event || window.event;\n\t var percentage = (e.clientX - getElementViewLeft(danmakuBarWrap)) / dWidth;\n\t percentage = percentage > 0 ? percentage : 0;\n\t percentage = percentage < 1 ? percentage : 1;\n\t _this.updateBar('danmaku', percentage, 'width');\n\t var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n\t for (var _i6 = 0; _i6 < items.length; _i6++) {\n\t items[_i6].style.opacity = percentage;\n\t }\n\t danOpacity = percentage;\n\t localStorage.setItem('DPlayer-opacity', danOpacity);\n\t });\n\t danmakuBarWrapWrap.addEventListener('mousedown', function () {\n\t document.addEventListener('mousemove', danmakuMove);\n\t document.addEventListener('mouseup', danmakuUp);\n\t danmakuSettingBox.classList.add('dplayer-setting-danmaku-active');\n\t });\n\t })();\n\t }\n\t };\n\t settingEvent();\n\t\n\t /**\n\t * video events\n\t */\n\t // show video time: the metadata has loaded or changed\n\t this.video.addEventListener('durationchange', function () {\n\t if (_this.video.duration !== 1) {\n\t // compatibility: Android browsers will output 1 at first\n\t _this.element.getElementsByClassName('dplayer-dtime')[0].innerHTML = secondToTime(_this.video.duration);\n\t }\n\t });\n\t\n\t // show video loaded bar: to inform interested parties of progress downloading the media\n\t this.video.addEventListener('progress', function () {\n\t var percentage = _this.video.buffered.length ? _this.video.buffered.end(_this.video.buffered.length - 1) / _this.video.duration : 0;\n\t _this.updateBar('loaded', percentage, 'width');\n\t });\n\t\n\t // video download error: an error occurs\n\t this.video.addEventListener('error', function () {\n\t _this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = \"Error happens ╥﹏╥\";\n\t _this.trigger('pause');\n\t });\n\t\n\t // video can play: enough data is available that the media can be played\n\t this.video.addEventListener('canplay', function () {\n\t _this.trigger('canplay');\n\t });\n\t\n\t // music end\n\t this.ended = false;\n\t this.video.addEventListener('ended', function () {\n\t _this.updateBar('played', 1, 'width');\n\t if (!loop) {\n\t _this.ended = true;\n\t _this.pause();\n\t _this.trigger('ended');\n\t }\n\t });\n\t\n\t // control volume\n\t this.video.volume = parseInt(this.element.getElementsByClassName('dplayer-volume-bar-inner')[0].style.width) / 100;\n\t\n\t // loop\n\t this.video.loop = loop;\n\t\n\t // set duration time\n\t if (this.video.duration !== 1) {\n\t // compatibility: Android browsers will output 1 at first\n\t this.element.getElementsByClassName('dplayer-dtime')[0].innerHTML = this.video.duration ? secondToTime(this.video.duration) : '00:00';\n\t }\n\t\n\t /**\n\t * danmaku display\n\t */\n\t var itemHeight = arrow ? 24 : 30;\n\t var danWidth = void 0;\n\t var danHeight = void 0;\n\t var itemY = void 0;\n\t this.danTunnel = {\n\t right: {},\n\t top: {},\n\t bottom: {}\n\t };\n\t\n\t var danItemRight = function danItemRight(ele) {\n\t return danContainer.getBoundingClientRect().right - ele.getBoundingClientRect().right;\n\t };\n\t\n\t var danSpeed = function danSpeed(width) {\n\t return (danWidth + width) / 5;\n\t };\n\t\n\t var getTunnel = function getTunnel(ele, type, width) {\n\t var tmp = danWidth / danSpeed(width);\n\t\n\t var _loop2 = function _loop2(_i7) {\n\t var item = _this.danTunnel[type][_i7 + ''];\n\t if (item && item.length) {\n\t for (var j = 0; j < item.length; j++) {\n\t var danRight = danItemRight(item[j]) - 10;\n\t if (danRight <= danWidth - tmp * danSpeed(item[j].offsetWidth) || danRight <= 0) {\n\t break;\n\t }\n\t if (j === item.length - 1) {\n\t _this.danTunnel[type][_i7 + ''].push(ele);\n\t ele.addEventListener('animationend', function () {\n\t _this.danTunnel[type][_i7 + ''].splice(0, 1);\n\t });\n\t return {\n\t v: _i7 % itemY\n\t };\n\t }\n\t }\n\t } else {\n\t _this.danTunnel[type][_i7 + ''] = [ele];\n\t ele.addEventListener('animationend', function () {\n\t _this.danTunnel[type][_i7 + ''].splice(0, 1);\n\t });\n\t return {\n\t v: _i7 % itemY\n\t };\n\t }\n\t };\n\t\n\t for (var _i7 = 0;; _i7++) {\n\t var _ret4 = _loop2(_i7);\n\t\n\t if ((typeof _ret4 === \"undefined\" ? \"undefined\" : _typeof(_ret4)) === \"object\") return _ret4.v;\n\t }\n\t };\n\t\n\t this.itemDemo = this.element.getElementsByClassName('dplayer-danmaku-item')[0];\n\t\n\t var danmakuIn = function danmakuIn(text, color, type) {\n\t danWidth = danContainer.offsetWidth;\n\t danHeight = danContainer.offsetHeight;\n\t itemY = parseInt(danHeight / itemHeight);\n\t var item = document.createElement(\"div\");\n\t item.classList.add(\"dplayer-danmaku-item\");\n\t item.classList.add(\"dplayer-danmaku-\" + type);\n\t item.innerHTML = text;\n\t item.style.opacity = danOpacity;\n\t item.style.color = color;\n\t item.addEventListener('animationend', function () {\n\t danContainer.removeChild(item);\n\t });\n\t\n\t // measure\n\t _this.itemDemo.innerHTML = text;\n\t var itemWidth = _this.itemDemo.offsetWidth;\n\t\n\t // adjust\n\t switch (type) {\n\t case 'right':\n\t item.style.top = itemHeight * getTunnel(item, type, itemWidth) + 'px';\n\t item.style.width = itemWidth + 1 + 'px';\n\t item.style.transform = \"translateX(-\" + danWidth + \"px)\";\n\t break;\n\t case 'top':\n\t item.style.top = itemHeight * getTunnel(item, type) + 'px';\n\t break;\n\t case 'bottom':\n\t item.style.bottom = itemHeight * getTunnel(item, type) + 'px';\n\t break;\n\t default:\n\t console.error(\"Can't handled danmaku type: \" + type);\n\t }\n\t\n\t // insert\n\t danContainer.appendChild(item);\n\t\n\t // move\n\t item.classList.add(\"dplayer-danmaku-move\");\n\t\n\t return item;\n\t };\n\t\n\t // danmaku\n\t if (this.option.danmaku) {\n\t this.danIndex = 0;\n\t this.readDanmaku();\n\t } else {\n\t // autoplay\n\t if (this.option.autoplay && !isMobile) {\n\t this.play();\n\t } else if (isMobile) {\n\t this.pause();\n\t }\n\t }\n\t\n\t /**\n\t * comment\n\t */\n\t var commentInput = this.element.getElementsByClassName('dplayer-comment-input')[0];\n\t var commentIcon = this.element.getElementsByClassName('dplayer-comment-icon')[0];\n\t var commentBox = this.element.getElementsByClassName('dplayer-comment-box')[0];\n\t var commentSettingIcon = this.element.getElementsByClassName('dplayer-comment-setting-icon')[0];\n\t var commentSettingBox = this.element.getElementsByClassName('dplayer-comment-setting-box')[0];\n\t var commentSendIcon = this.element.getElementsByClassName('dplayer-send-icon')[0];\n\t\n\t var htmlEncode = function htmlEncode(str) {\n\t return str.replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/\\//g, \"/\");\n\t };\n\t\n\t var sendComment = function sendComment() {\n\t commentInput.blur();\n\t\n\t // text can't be empty\n\t if (!commentInput.value.replace(/^\\s+|\\s+$/g, '')) {\n\t alert(getTran('Please input danmaku!'));\n\t return;\n\t }\n\t\n\t var danmakuData = {\n\t token: _this.option.danmaku.token,\n\t player: _this.option.danmaku.id,\n\t author: 'DIYgod',\n\t time: _this.video.currentTime,\n\t text: commentInput.value,\n\t color: _this.element.querySelector('.dplayer-comment-setting-color input:checked').value,\n\t type: _this.element.querySelector('.dplayer-comment-setting-type input:checked').value\n\t };\n\t _this.option.apiBackend.send(_this.option.danmaku.api, danmakuData);\n\t\n\t commentInput.value = '';\n\t closeComment();\n\t _this.dan.splice(_this.danIndex, 0, danmakuData);\n\t _this.danIndex++;\n\t var item = danmakuIn(htmlEncode(danmakuData.text), danmakuData.color, danmakuData.type);\n\t item.style.border = \"2px solid \" + _this.option.theme;\n\t };\n\t\n\t var closeCommentSetting = function closeCommentSetting() {\n\t if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n\t commentSettingBox.classList.remove('dplayer-comment-setting-open');\n\t }\n\t };\n\t var toggleCommentSetting = function toggleCommentSetting() {\n\t if (commentSettingBox.classList.contains('dplayer-comment-setting-open')) {\n\t commentSettingBox.classList.remove('dplayer-comment-setting-open');\n\t } else {\n\t commentSettingBox.classList.add('dplayer-comment-setting-open');\n\t }\n\t };\n\t\n\t var disableHide = 0;\n\t var closeComment = function closeComment() {\n\t if (commentBox.classList.contains('dplayer-comment-box-open')) {\n\t commentBox.classList.remove('dplayer-comment-box-open');\n\t mask.classList.remove('dplayer-mask-show');\n\t clearInterval(disableHide);\n\t _this.element.classList.remove('dplayer-show-controller');\n\t closeCommentSetting();\n\t }\n\t };\n\t var openComment = function openComment() {\n\t commentBox.classList.add('dplayer-comment-box-open');\n\t mask.classList.add('dplayer-mask-show');\n\t disableHide = setInterval(function () {\n\t clearTimeout(hideTime);\n\t }, 1000);\n\t _this.element.classList.add('dplayer-show-controller');\n\t };\n\t\n\t mask.addEventListener('click', function () {\n\t closeComment();\n\t });\n\t commentIcon.addEventListener('click', function () {\n\t openComment();\n\t setTimeout(function () {\n\t commentInput.focus();\n\t }, 300);\n\t });\n\t commentSettingIcon.addEventListener('click', function () {\n\t toggleCommentSetting();\n\t });\n\t\n\t // comment setting box\n\t this.element.getElementsByClassName('dplayer-comment-setting-color')[0].addEventListener('click', function () {\n\t var sele = _this.element.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked+span');\n\t if (sele) {\n\t commentSettingIcon.getElementsByClassName('dplayer-fill')[0].style.fill = _this.element.querySelector('input[name=\"dplayer-danmaku-color-${index}\"]:checked').value;\n\t }\n\t });\n\t\n\t commentInput.addEventListener('click', function () {\n\t closeCommentSetting();\n\t });\n\t commentInput.addEventListener('keydown', function (e) {\n\t var event = e || window.event;\n\t if (event.keyCode === 13) {\n\t sendComment();\n\t }\n\t });\n\t\n\t commentSendIcon.addEventListener('click', sendComment);\n\t\n\t /**\n\t * full screen\n\t */\n\t var resetAnimation = function resetAnimation() {\n\t danWidth = danContainer.offsetWidth;\n\t var items = _this.element.getElementsByClassName('dplayer-danmaku-item');\n\t for (var _i8 = 0; _i8 < items.length; _i8++) {\n\t items[_i8].style.transform = \"translateX(-\" + danWidth + \"px)\";\n\t }\n\t };\n\t\n\t this.element.addEventListener('fullscreenchange', function () {\n\t resetAnimation();\n\t console.log(danContainer.offsetHeight);\n\t });\n\t this.element.addEventListener('mozfullscreenchange', function () {\n\t resetAnimation();\n\t console.log(danContainer.offsetHeight);\n\t });\n\t this.element.addEventListener('webkitfullscreenchange', function () {\n\t resetAnimation();\n\t console.log(danContainer.offsetHeight);\n\t });\n\t this.element.getElementsByClassName('dplayer-full-icon')[0].addEventListener('click', function () {\n\t if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscreenElement) {\n\t if (_this.element.requestFullscreen) {\n\t _this.element.requestFullscreen();\n\t } else if (_this.element.mozRequestFullScreen) {\n\t _this.element.mozRequestFullScreen();\n\t } else if (_this.element.webkitRequestFullscreen) {\n\t _this.element.webkitRequestFullscreen();\n\t }\n\t } else {\n\t if (document.cancelFullScreen) {\n\t document.cancelFullScreen();\n\t } else if (document.mozCancelFullScreen) {\n\t document.mozCancelFullScreen();\n\t } else if (document.webkitCancelFullScreen) {\n\t document.webkitCancelFullScreen();\n\t }\n\t }\n\t resetAnimation();\n\t });\n\t\n\t /**\n\t * hot key\n\t */\n\t var handleKeyDown = function handleKeyDown(e) {\n\t var tag = document.activeElement.tagName.toUpperCase();\n\t var editable = document.activeElement.getAttribute('contenteditable');\n\t if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {\n\t var event = e || window.event;\n\t var percentage = void 0;\n\t switch (event.keyCode) {\n\t case 32:\n\t event.preventDefault();\n\t _this.toggle();\n\t break;\n\t case 37:\n\t event.preventDefault();\n\t _this.video.currentTime = _this.video.currentTime - 5;\n\t break;\n\t case 39:\n\t event.preventDefault();\n\t _this.video.currentTime = _this.video.currentTime + 5;\n\t break;\n\t case 38:\n\t event.preventDefault();\n\t percentage = _this.video.volume + 0.1;\n\t _this.volume(percentage);\n\t break;\n\t case 40:\n\t event.preventDefault();\n\t percentage = _this.video.volume - 0.1;\n\t _this.volume(percentage);\n\t break;\n\t }\n\t }\n\t };\n\t if (this.option.hotkey) {\n\t document.addEventListener('keydown', handleKeyDown);\n\t }\n\t\n\t /**\n\t * right key\n\t */\n\t var menu = this.element.getElementsByClassName('dplayer-menu')[0];\n\t this.element.addEventListener('contextmenu', function (e) {\n\t var event = e || window.event;\n\t event.preventDefault();\n\t\n\t menu.classList.add('dplayer-menu-show');\n\t\n\t var clientRect = _this.element.getBoundingClientRect();\n\t var menuLeft = event.clientX - clientRect.left;\n\t var menuTop = event.clientY - clientRect.top;\n\t if (menuLeft + menu.offsetWidth >= clientRect.width) {\n\t menu.style.right = clientRect.width - menuLeft + 'px';\n\t menu.style.left = 'initial';\n\t } else {\n\t menu.style.left = event.clientX - _this.element.getBoundingClientRect().left + 'px';\n\t menu.style.right = 'initial';\n\t }\n\t if (menuTop + menu.offsetHeight >= clientRect.height) {\n\t menu.style.bottom = clientRect.height - menuTop + 'px';\n\t menu.style.top = 'initial';\n\t } else {\n\t menu.style.top = event.clientY - _this.element.getBoundingClientRect().top + 'px';\n\t menu.style.bottom = 'initial';\n\t }\n\t\n\t mask.classList.add('dplayer-mask-show');\n\t mask.addEventListener('click', function () {\n\t mask.classList.remove('dplayer-mask-show');\n\t menu.classList.remove('dplayer-menu-show');\n\t });\n\t });\n\t\n\t /**\n\t * Screenshot\n\t */\n\t if (this.option.screenshot) {\n\t (function () {\n\t var camareIcon = _this.element.getElementsByClassName('dplayer-camera-icon')[0];\n\t camareIcon.addEventListener('click', function () {\n\t var canvas = document.createElement(\"canvas\");\n\t canvas.width = _this.video.videoWidth;\n\t canvas.height = _this.video.videoHeight;\n\t canvas.getContext('2d').drawImage(_this.video, 0, 0, canvas.width, canvas.height);\n\t\n\t camareIcon.href = canvas.toDataURL();\n\t camareIcon.download = \"DPlayer.png\";\n\t });\n\t })();\n\t }\n\t\n\t index++;\n\t }\n\t\n\t /**\n\t * Play music\n\t */\n\t\n\t\n\t _createClass(DPlayer, [{\n\t key: \"play\",\n\t value: function play(time) {\n\t if (Object.prototype.toString.call(time) === '[object Number]') {\n\t this.video.currentTime = time;\n\t }\n\t if (this.video.paused) {\n\t this.shouldpause = false;\n\t\n\t this.bezel.innerHTML = this.getSVG('play');\n\t this.bezel.classList.add('dplayer-bezel-transition');\n\t\n\t this.playButton.innerHTML = this.getSVG('pause');\n\t\n\t this.video.play();\n\t if (this.playedTime) {\n\t this.clearTime();\n\t }\n\t this.setTime();\n\t this.element.classList.add('dplayer-playing');\n\t this.trigger('play');\n\t }\n\t }\n\t\n\t /**\n\t * Pause music\n\t */\n\t\n\t }, {\n\t key: \"pause\",\n\t value: function pause() {\n\t if (!this.shouldpause || this.ended) {\n\t this.shouldpause = true;\n\t this.element.classList.remove('dplayer-loading');\n\t\n\t this.bezel.innerHTML = this.getSVG('pause');\n\t this.bezel.classList.add('dplayer-bezel-transition');\n\t\n\t this.ended = false;\n\t this.playButton.innerHTML = this.getSVG('play');\n\t this.video.pause();\n\t this.clearTime();\n\t this.element.classList.remove('dplayer-playing');\n\t this.trigger('pause');\n\t }\n\t }\n\t\n\t /**\n\t * Set volume\n\t */\n\t\n\t }, {\n\t key: \"volume\",\n\t value: function volume(percentage) {\n\t percentage = percentage > 0 ? percentage : 0;\n\t percentage = percentage < 1 ? percentage : 1;\n\t this.updateBar('volume', percentage, 'width');\n\t this.video.volume = percentage;\n\t if (this.video.muted) {\n\t this.video.muted = false;\n\t }\n\t this.switchVolumeIcon();\n\t }\n\t\n\t /**\n\t * Toggle between play and pause\n\t */\n\t\n\t }, {\n\t key: \"toggle\",\n\t value: function toggle() {\n\t if (this.video.paused) {\n\t this.play();\n\t } else {\n\t this.pause();\n\t }\n\t }\n\t\n\t /**\n\t * attach event\n\t */\n\t\n\t }, {\n\t key: \"on\",\n\t value: function on(name, func) {\n\t if (typeof func === 'function') {\n\t this.event[name].push(func);\n\t }\n\t }\n\t\n\t /**\n\t * Asynchronously read danmaku from all API endpoints\n\t */\n\t\n\t }, {\n\t key: \"_readAllEndpoints\",\n\t value: function _readAllEndpoints(endpoints, finish) {\n\t var results = [];\n\t var readCount = 0;\n\t var cbk = function cbk(i) {\n\t return function (err, data) {\n\t ++readCount;\n\t if (err) {\n\t if (err.response) alert(err.response.msg);else console.log('Request was unsuccessful: ' + err.status);\n\t results[i] = [];\n\t } else {\n\t results[i] = data;\n\t }\n\t if (readCount == endpoints.length) {\n\t return finish(results);\n\t }\n\t };\n\t };\n\t\n\t for (var i = 0; i < endpoints.length; ++i) {\n\t this.option.apiBackend.read(endpoints[i], cbk(i));\n\t }\n\t }\n\t\n\t /**\n\t * Read danmaku from API\n\t */\n\t\n\t }, {\n\t key: \"readDanmaku\",\n\t value: function readDanmaku() {\n\t var _this2 = this;\n\t\n\t var isMobile = /mobile/i.test(window.navigator.userAgent);\n\t var apiurl = void 0;\n\t if (this.option.danmaku.maximum) {\n\t apiurl = this.option.danmaku.api + \"?id=\" + this.option.danmaku.id + \"&max=\" + this.option.danmaku.maximum;\n\t } else {\n\t apiurl = this.option.danmaku.api + \"?id=\" + this.option.danmaku.id;\n\t }\n\t var endpoints = (this.option.danmaku.addition || []).slice(0);\n\t endpoints.push(apiurl);\n\t\n\t this._readAllEndpoints(endpoints, function (results) {\n\t _this2.danIndex = 0;\n\t _this2.dan = [].concat.apply([], results).sort(function (a, b) {\n\t return a.time - b.time;\n\t });\n\t _this2.element.getElementsByClassName('dplayer-danloading')[0].style.display = 'none';\n\t\n\t // autoplay\n\t if (_this2.option.autoplay && !isMobile) {\n\t _this2.play();\n\t } else if (isMobile) {\n\t _this2.pause();\n\t }\n\t });\n\t }\n\t\n\t /**\n\t * Switch to a new video\n\t *\n\t * @param {Object} video - new video info\n\t * @param {Object} danmaku - new danmaku info\n\t */\n\t\n\t }, {\n\t key: \"switchVideo\",\n\t value: function switchVideo(video, danmaku) {\n\t this.video.src = video.url;\n\t this.video.poster = video.pic ? video.pic : '';\n\t this.video.currentTime = 0;\n\t this.pause();\n\t if (danmaku) {\n\t this.dan = [];\n\t this.danIndex = 0;\n\t this.element.getElementsByClassName('dplayer-danloading')[0].style.display = 'block';\n\t this.updateBar('played', 0, 'width');\n\t this.updateBar('loaded', 0, 'width');\n\t this.element.getElementsByClassName('dplayer-ptime')[0].innerHTML = '00:00';\n\t this.element.getElementsByClassName('dplayer-danmaku')[0].innerHTML = \"
\";\n\t this.danTunnel = {\n\t right: {},\n\t top: {},\n\t bottom: {}\n\t };\n\t this.itemDemo = this.element.getElementsByClassName('dplayer-danmaku-item')[0];\n\t this.option.danmaku = danmaku;\n\t this.readDanmaku();\n\t }\n\t }\n\t }]);\n\t\n\t return DPlayer;\n\t}();\n\t\n\tmodule.exports = DPlayer;\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// style-loader: Adds some css to the DOM by adding a