vue-video-plus 1.4.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/style.css +1 -1
- package/dist/types/src/App.vue.d.ts +25 -0
- package/dist/types/src/package/components/LiveBadge.vue.d.ts +26 -0
- package/dist/types/src/package/components/Loading.vue.d.ts +1 -1
- package/dist/types/src/package/components/QualitySelector.vue.d.ts +12 -0
- package/dist/types/src/package/components/VueVideoPlus.vue.d.ts +24 -0
- package/dist/types/src/package/composables/useHls.d.ts +28 -0
- package/dist/types/src/package/config/index.d.ts +12 -0
- package/dist/types/src/package/index.d.ts +22 -0
- package/dist/types/src/package/types/hls.d.ts +103 -0
- package/dist/types/src/package/utils/hlsDetector.d.ts +24 -0
- package/dist/types/src/package/version.d.ts +1 -1
- package/dist/vueVideo-es.js +23461 -1167
- package/dist/vueVideo-umd.js +40 -1
- package/package.json +13 -3
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"//at.alicdn.com/t/c/font_4726673_pdcujlcxe7l.css";.icon[data-v-2680e372]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.rotating[data-v-2680e372]{animation:rotating-2680e372 2s linear infinite}@keyframes rotating-2680e372{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cc[data-v-2680e372]{background-color:red}ul[data-v-4b3e3899],ol[data-v-4b3e3899]{list-style:none;padding-left:0;margin-left:0}li[data-v-4b3e3899]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-4b3e3899]:before,li[data-v-4b3e3899]::marker{display:none!important;content:none!important}.iconfont[data-v-4b3e3899]{display:inline-block}.d-flex-x[data-v-4b3e3899],.d-flex-y[data-v-4b3e3899],.flex-center[data-v-4b3e3899]{display:flex}.d-flex-x[data-v-4b3e3899]{align-items:center}.d-flex-y[data-v-4b3e3899]{justify-content:center}.flex-center[data-v-4b3e3899]{justify-content:center;align-items:center}.mr5[data-v-4b3e3899]{margin-right:5px}.mr10[data-v-4b3e3899]{margin-right:10px}.ml5[data-v-4b3e3899]{margin-left:5px}.ml10[data-v-4b3e3899]{margin-left:10px}.d-pointer[data-v-4b3e3899]{cursor:pointer}@keyframes rotating-4b3e3899{to{-webkit-transform:rotate(360deg)}}.rotating[data-v-4b3e3899]{animation:rotating-4b3e3899 2s linear infinite}@keyframes showAni-4b3e3899{0%{display:none}50%{display:block}to{display:none}}.showH[data-v-4b3e3899]:hover{-webkit-animation:showAni-4b3e3899 .5s;animation:showAni-4b3e3899 .5s}@keyframes biggerAni-4b3e3899{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.biggerAni[data-v-4b3e3899]:hover{-webkit-animation:biggerAni-4b3e3899 .5s;animation:biggerAni-4b3e3899 .5s}@keyframes biggerScaleAni-4b3e3899{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}}.biggerScaleAni[data-v-4b3e3899]:hover{-webkit-animation:biggerScaleAni-4b3e3899 .5s;animation:biggerScaleAni-4b3e3899 .5s}@keyframes ScaleAni-4b3e3899{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}to{-webkit-transform:rotate(90deg)}}.ScaleAni[data-v-4b3e3899]:hover{-webkit-animation:ScaleAni-4b3e3899 .5s linear infinite;animation:ScaleAni-4b3e3899 .5s linear infinite}@keyframes playBtnPulse-4b3e3899{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes svgWave-4b3e3899{0%,to{y1:7;y2:13;opacity:.6}50%{y1:3;y2:17;opacity:1}}.rotateHover[data-v-4b3e3899]{transition:.2s}.rotateHover[data-v-4b3e3899]:hover{transform:rotate(90deg)}.scaleHover[data-v-4b3e3899]{transition:.2s}.scaleHover[data-v-4b3e3899]:hover{transform:scale(1.2)}.control-icon-hover[data-v-4b3e3899]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover[data-v-4b3e3899]:hover{transform:scale(1.09)}.control-icon-hover-large[data-v-4b3e3899]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover-large[data-v-4b3e3899]:hover{transform:scale(1.25)}.fade-in-enter-active[data-v-4b3e3899],.fade-in-leave-active[data-v-4b3e3899]{transition:.5s}.fade-in-enter-from[data-v-4b3e3899],.fade-in-leave-to[data-v-4b3e3899]{opacity:0}.play-btn-center.scale-out-enter-active[data-v-4b3e3899]{animation:scaleOutEnter-4b3e3899 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-center.scale-out-leave-active[data-v-4b3e3899]{animation:scaleOutLeave-4b3e3899 .3s ease forwards}@keyframes scaleOutEnter-4b3e3899{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scaleOutLeave-4b3e3899{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes scaleOutEnterBottom-4b3e3899{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOutLeaveBottom-4b3e3899{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.play-btn-bottom-right.scale-out-enter-active[data-v-4b3e3899],.play-btn-bottom-left.scale-out-enter-active[data-v-4b3e3899]{animation:scaleOutEnterBottom-4b3e3899 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-bottom-right.scale-out-leave-active[data-v-4b3e3899],.play-btn-bottom-left.scale-out-leave-active[data-v-4b3e3899]{animation:scaleOutLeaveBottom-4b3e3899 .3s ease forwards}.play-btn-rotate-enter-active[data-v-4b3e3899],.play-btn-rotate-leave-active[data-v-4b3e3899]{transition:all .3s ease}.play-btn-rotate-enter-from[data-v-4b3e3899]{opacity:0;transform:scale(.8) rotate(-90deg)}.play-btn-rotate-enter-to[data-v-4b3e3899],.play-btn-rotate-leave-from[data-v-4b3e3899]{opacity:1;transform:scale(1) rotate(0)}.play-btn-rotate-leave-to[data-v-4b3e3899]{opacity:0;transform:scale(.8) rotate(90deg)}.play-btn-scale-enter-active[data-v-4b3e3899],.play-btn-scale-leave-active[data-v-4b3e3899]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.play-btn-scale-enter-from[data-v-4b3e3899]{opacity:0;transform:scale(0)}.play-btn-scale-enter-to[data-v-4b3e3899],.play-btn-scale-leave-from[data-v-4b3e3899]{opacity:1;transform:scale(1)}.play-btn-scale-leave-to[data-v-4b3e3899]{opacity:0;transform:scale(0)}.play-btn-flip-enter-active[data-v-4b3e3899],.play-btn-flip-leave-active[data-v-4b3e3899]{transition:all .4s ease;transform-style:preserve-3d}.play-btn-flip-enter-from[data-v-4b3e3899]{opacity:0;transform:rotateY(-180deg)}.play-btn-flip-enter-to[data-v-4b3e3899],.play-btn-flip-leave-from[data-v-4b3e3899]{opacity:1;transform:rotateY(0)}.play-btn-flip-leave-to[data-v-4b3e3899]{opacity:0;transform:rotateY(180deg)}.play-btn-slide-enter-active[data-v-4b3e3899],.play-btn-slide-leave-active[data-v-4b3e3899]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.play-btn-slide-enter-from[data-v-4b3e3899]{opacity:0;transform:translate(-20px)}.play-btn-slide-enter-to[data-v-4b3e3899],.play-btn-slide-leave-from[data-v-4b3e3899]{opacity:1;transform:translate(0)}.play-btn-slide-leave-to[data-v-4b3e3899]{opacity:0;transform:translate(20px)}.play-pause-btn[data-v-4b3e3899]{position:relative;display:flex;align-items:center;justify-content:center}.play-pause-btn[data-v-4b3e3899]:hover svg{animation:playBtnPulse-4b3e3899 .6s ease-out}.volume-icon-svg[data-v-4b3e3899]{display:block;overflow:visible;opacity:.8;transition:opacity .3s ease}.volume-btn-wrapper[data-v-4b3e3899]{cursor:pointer;position:relative;display:flex;align-items:center;gap:4px}.volume-btn-wrapper:hover .volume-icon-svg[data-v-4b3e3899]{animation:volumeIconAni-4b3e3899 .5s}@keyframes volumeIconAni-4b3e3899{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.speaker-icon[data-v-4b3e3899]{transform-origin:center;transition:transform .3s ease}.sound-wave-svg[data-v-4b3e3899]{display:none;margin-left:2px}.volume-btn-wrapper:hover .sound-wave-svg[data-v-4b3e3899]{display:block}.wave-line[data-v-4b3e3899]{transform-origin:center;animation:svgWave-4b3e3899 .8s ease-in-out infinite}.wave-line.wave-1[data-v-4b3e3899]{animation-delay:0s}.wave-line.wave-2[data-v-4b3e3899]{animation-delay:.26s}.wave-line.wave-3[data-v-4b3e3899]{animation-delay:.52s}.play-control-btn[data-v-4b3e3899]{display:inline-block;transition:all .3s ease}.animation-rotate[data-v-4b3e3899]{animation:playBtnRotate-4b3e3899 .25s ease-in-out}@keyframes playBtnRotate-4b3e3899{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.95)}to{transform:rotate(90deg) scale(1)}}.animation-scale[data-v-4b3e3899]{animation:playBtnScale-4b3e3899 .3s ease}@keyframes playBtnScale-4b3e3899{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.animation-flip[data-v-4b3e3899]{animation:playBtnFlip-4b3e3899 .4s ease}@keyframes playBtnFlip-4b3e3899{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.animation-slide[data-v-4b3e3899]{animation:playBtnSlide-4b3e3899 .3s ease}@keyframes playBtnSlide-4b3e3899{0%{transform:translate(-10px);opacity:.5}to{transform:translate(0);opacity:1}}.animation-none[data-v-4b3e3899]{animation:none}.f50[data-v-4b3e3899]{font-size:50px}.f24[data-v-4b3e3899]{font-size:24px}.loading[data-v-4b3e3899]{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;align-items:center;justify-content:center;background:#0000004d;z-index:2;color:#efefef;text-align:center;font-size:13px}.progress[data-v-f5b77156]{position:relative}.progress .progress__runway[data-v-f5b77156]{width:100%;height:var(--49cbfd54);background-color:#333;position:relative;cursor:pointer;vertical-align:middle}.progress .progress__runway .progress__cursor[data-v-f5b77156],.progress .progress__runway .progress__preload[data-v-f5b77156],.progress .progress__runway .progress__bar[data-v-f5b77156]{position:absolute;top:0;left:0;height:100%}.progress .progress__runway .progress__cursor[data-v-f5b77156]{display:none;z-index:1;width:1px;background-color:#fff;pointer-events:none}.progress .progress__runway .progress__cursor .progress__tips[data-v-f5b77156]{pointer-events:none;color:#fff;position:absolute;white-space:nowrap;z-index:2;bottom:14px;left:50%;padding:4px;box-sizing:border-box;display:block;font-size:12px;background:#0009;border-radius:3px;transform:translate(-50%)}.progress .progress__runway:hover .progress__cursor[data-v-f5b77156]{display:block}.progress .progress__runway .progress__preload[data-v-f5b77156]{background:#717171}.progress .progress__runway .progress__bar[data-v-f5b77156]:before{display:block;content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;transition:.2s;transform:translateY(-50%) scale(1);border-radius:50%;background:#fff;box-shadow:0 0 0 5px #ffffff80}.progress.is-vertical[data-v-f5b77156]{height:100%;display:inline-block}.progress.is-vertical .progress__runway[data-v-f5b77156]{position:relative;height:100%;width:var(--49cbfd54);margin:0 6px}.progress.is-vertical .progress__runway .progress__preload[data-v-f5b77156],.progress.is-vertical .progress__runway .progress__bar[data-v-f5b77156],.progress.is-vertical .progress__runway .progress__cursor[data-v-f5b77156]{bottom:0;top:auto;width:100%}.progress.is-vertical .progress__runway .progress__cursor[data-v-f5b77156]{height:1px}.progress.is-vertical .progress__runway .progress__bar[data-v-f5b77156]:before{top:-6px;left:50%;width:12px;height:12px;transform:translate(-50%) scale(1)}.switch[data-v-4ddca1e1]{position:relative;height:18px;width:var(--8eab8736);background:#757575;border-radius:10px;display:inline-flex;align-items:center;vertical-align:middle}.switch .switch_input[data-v-4ddca1e1]{position:relative;z-index:1;margin:0;width:100%;height:100%;opacity:0}.switch .switch_action[data-v-4ddca1e1]{position:absolute;transition:.2s;left:2px;top:2px;z-index:0;height:14px;width:14px;background:#fff;border-radius:50%}.switch.is-checked[data-v-4ddca1e1]{background-color:var(--7a1ce148)}.switch.is-checked .switch_action[data-v-4ddca1e1]{background:#fff;left:24px}ul[data-v-0b21d222],ol[data-v-0b21d222]{list-style:none;padding-left:0;margin-left:0}li[data-v-0b21d222]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-0b21d222]:before,li[data-v-0b21d222]::marker{display:none!important;content:none!important}.iconfont[data-v-0b21d222]{display:inline-block}.d-flex-x[data-v-0b21d222],.d-flex-y[data-v-0b21d222],.flex-center[data-v-0b21d222]{display:flex}.d-flex-x[data-v-0b21d222]{align-items:center}.d-flex-y[data-v-0b21d222]{justify-content:center}.flex-center[data-v-0b21d222]{justify-content:center;align-items:center}.mr5[data-v-0b21d222]{margin-right:5px}.mr10[data-v-0b21d222]{margin-right:10px}.ml5[data-v-0b21d222]{margin-left:5px}.ml10[data-v-0b21d222]{margin-left:10px}.d-pointer[data-v-0b21d222]{cursor:pointer}.status[data-v-0b21d222]{text-align:center;font-size:14px;vertical-align:middle;background:#000c;padding:0 8px;height:30px;border-radius:5px;display:flex;align-items:center;color:#fffffff2}.status .status-icon[data-v-0b21d222]{width:24px!important;display:inline-block;margin-right:5px}ul[data-v-e4530a65],ol[data-v-e4530a65]{list-style:none;padding-left:0;margin-left:0}li[data-v-e4530a65]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-e4530a65]:before,li[data-v-e4530a65]::marker{display:none!important;content:none!important}.iconfont[data-v-e4530a65]{display:inline-block}.d-flex-x[data-v-e4530a65],.d-flex-y[data-v-e4530a65],.flex-center[data-v-e4530a65]{display:flex}.d-flex-x[data-v-e4530a65]{align-items:center}.d-flex-y[data-v-e4530a65]{justify-content:center}.flex-center[data-v-e4530a65]{justify-content:center;align-items:center}.mr5[data-v-e4530a65]{margin-right:5px}.mr10[data-v-e4530a65]{margin-right:10px}.ml5[data-v-e4530a65]{margin-left:5px}.ml10[data-v-e4530a65]{margin-left:10px}.d-pointer[data-v-e4530a65]{cursor:pointer}@keyframes rotating-e4530a65{to{-webkit-transform:rotate(360deg)}}.rotating[data-v-e4530a65]{animation:rotating-e4530a65 2s linear infinite}@keyframes showAni-e4530a65{0%{display:none}50%{display:block}to{display:none}}.showH[data-v-e4530a65]:hover{-webkit-animation:showAni-e4530a65 .5s;animation:showAni-e4530a65 .5s}@keyframes biggerAni-e4530a65{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.biggerAni[data-v-e4530a65]:hover{-webkit-animation:biggerAni-e4530a65 .5s;animation:biggerAni-e4530a65 .5s}@keyframes biggerScaleAni-e4530a65{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}}.biggerScaleAni[data-v-e4530a65]:hover{-webkit-animation:biggerScaleAni-e4530a65 .5s;animation:biggerScaleAni-e4530a65 .5s}@keyframes ScaleAni-e4530a65{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}to{-webkit-transform:rotate(90deg)}}.ScaleAni[data-v-e4530a65]:hover{-webkit-animation:ScaleAni-e4530a65 .5s linear infinite;animation:ScaleAni-e4530a65 .5s linear infinite}@keyframes playBtnPulse-e4530a65{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes svgWave-e4530a65{0%,to{y1:7;y2:13;opacity:.6}50%{y1:3;y2:17;opacity:1}}.rotateHover[data-v-e4530a65]{transition:.2s}.rotateHover[data-v-e4530a65]:hover{transform:rotate(90deg)}.scaleHover[data-v-e4530a65]{transition:.2s}.scaleHover[data-v-e4530a65]:hover{transform:scale(1.2)}.control-icon-hover[data-v-e4530a65]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover[data-v-e4530a65]:hover{transform:scale(1.09)}.control-icon-hover-large[data-v-e4530a65]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover-large[data-v-e4530a65]:hover{transform:scale(1.25)}.fade-in-enter-active[data-v-e4530a65],.fade-in-leave-active[data-v-e4530a65]{transition:.5s}.fade-in-enter-from[data-v-e4530a65],.fade-in-leave-to[data-v-e4530a65]{opacity:0}.play-btn-center.scale-out-enter-active[data-v-e4530a65]{animation:scaleOutEnter-e4530a65 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-center.scale-out-leave-active[data-v-e4530a65]{animation:scaleOutLeave-e4530a65 .3s ease forwards}@keyframes scaleOutEnter-e4530a65{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scaleOutLeave-e4530a65{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes scaleOutEnterBottom-e4530a65{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOutLeaveBottom-e4530a65{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.play-btn-bottom-right.scale-out-enter-active[data-v-e4530a65],.play-btn-bottom-left.scale-out-enter-active[data-v-e4530a65]{animation:scaleOutEnterBottom-e4530a65 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-bottom-right.scale-out-leave-active[data-v-e4530a65],.play-btn-bottom-left.scale-out-leave-active[data-v-e4530a65]{animation:scaleOutLeaveBottom-e4530a65 .3s ease forwards}.play-btn-rotate-enter-active[data-v-e4530a65],.play-btn-rotate-leave-active[data-v-e4530a65]{transition:all .3s ease}.play-btn-rotate-enter-from[data-v-e4530a65]{opacity:0;transform:scale(.8) rotate(-90deg)}.play-btn-rotate-enter-to[data-v-e4530a65],.play-btn-rotate-leave-from[data-v-e4530a65]{opacity:1;transform:scale(1) rotate(0)}.play-btn-rotate-leave-to[data-v-e4530a65]{opacity:0;transform:scale(.8) rotate(90deg)}.play-btn-scale-enter-active[data-v-e4530a65],.play-btn-scale-leave-active[data-v-e4530a65]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.play-btn-scale-enter-from[data-v-e4530a65]{opacity:0;transform:scale(0)}.play-btn-scale-enter-to[data-v-e4530a65],.play-btn-scale-leave-from[data-v-e4530a65]{opacity:1;transform:scale(1)}.play-btn-scale-leave-to[data-v-e4530a65]{opacity:0;transform:scale(0)}.play-btn-flip-enter-active[data-v-e4530a65],.play-btn-flip-leave-active[data-v-e4530a65]{transition:all .4s ease;transform-style:preserve-3d}.play-btn-flip-enter-from[data-v-e4530a65]{opacity:0;transform:rotateY(-180deg)}.play-btn-flip-enter-to[data-v-e4530a65],.play-btn-flip-leave-from[data-v-e4530a65]{opacity:1;transform:rotateY(0)}.play-btn-flip-leave-to[data-v-e4530a65]{opacity:0;transform:rotateY(180deg)}.play-btn-slide-enter-active[data-v-e4530a65],.play-btn-slide-leave-active[data-v-e4530a65]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.play-btn-slide-enter-from[data-v-e4530a65]{opacity:0;transform:translate(-20px)}.play-btn-slide-enter-to[data-v-e4530a65],.play-btn-slide-leave-from[data-v-e4530a65]{opacity:1;transform:translate(0)}.play-btn-slide-leave-to[data-v-e4530a65]{opacity:0;transform:translate(20px)}.play-pause-btn[data-v-e4530a65]{position:relative;display:flex;align-items:center;justify-content:center}.play-pause-btn[data-v-e4530a65]:hover svg{animation:playBtnPulse-e4530a65 .6s ease-out}.volume-icon-svg[data-v-e4530a65]{display:block;overflow:visible;opacity:.8;transition:opacity .3s ease}.volume-btn-wrapper[data-v-e4530a65]{cursor:pointer;position:relative;display:flex;align-items:center;gap:4px}.volume-btn-wrapper:hover .volume-icon-svg[data-v-e4530a65]{animation:volumeIconAni-e4530a65 .5s}@keyframes volumeIconAni-e4530a65{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.speaker-icon[data-v-e4530a65]{transform-origin:center;transition:transform .3s ease}.sound-wave-svg[data-v-e4530a65]{display:none;margin-left:2px}.volume-btn-wrapper:hover .sound-wave-svg[data-v-e4530a65]{display:block}.wave-line[data-v-e4530a65]{transform-origin:center;animation:svgWave-e4530a65 .8s ease-in-out infinite}.wave-line.wave-1[data-v-e4530a65]{animation-delay:0s}.wave-line.wave-2[data-v-e4530a65]{animation-delay:.26s}.wave-line.wave-3[data-v-e4530a65]{animation-delay:.52s}.play-control-btn[data-v-e4530a65]{display:inline-block;transition:all .3s ease}.animation-rotate[data-v-e4530a65]{animation:playBtnRotate-e4530a65 .25s ease-in-out}@keyframes playBtnRotate-e4530a65{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.95)}to{transform:rotate(90deg) scale(1)}}.animation-scale[data-v-e4530a65]{animation:playBtnScale-e4530a65 .3s ease}@keyframes playBtnScale-e4530a65{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.animation-flip[data-v-e4530a65]{animation:playBtnFlip-e4530a65 .4s ease}@keyframes playBtnFlip-e4530a65{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.animation-slide[data-v-e4530a65]{animation:playBtnSlide-e4530a65 .3s ease}@keyframes playBtnSlide-e4530a65{0%{transform:translate(-10px);opacity:.5}to{transform:translate(0);opacity:1}}.animation-none[data-v-e4530a65]{animation:none}.player-contextmenu[data-v-e4530a65]{position:absolute;left:0;top:0;z-index:50;-webkit-user-select:none;user-select:none}.player-contextmenu .player-contextmenu-body[data-v-e4530a65]{position:relative;border-radius:6px;font-size:13px;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d;color:#efefef;padding:6px 0;text-align:left;box-sizing:border-box;overflow:hidden}.player-contextmenu .player-contextmenu-body .contextmenu-divider[data-v-e4530a65]{height:1px;margin:6px 0;background-color:#ffffff1a;pointer-events:none}.player-contextmenu .player-contextmenu-body .contextmenu-item[data-v-e4530a65]{display:flex;align-items:center;padding:10px 16px;margin:0;cursor:pointer;transition:all .2s ease;position:relative}.player-contextmenu .player-contextmenu-body .contextmenu-item[data-v-e4530a65]:hover:not(.contextmenu-item-disabled):not(.contextmenu-item-info){background-color:#808080e6}.player-contextmenu .player-contextmenu-body .contextmenu-item.contextmenu-item-disabled[data-v-e4530a65]{opacity:.5;cursor:not-allowed}.player-contextmenu .player-contextmenu-body .contextmenu-item.contextmenu-item-info[data-v-e4530a65]{cursor:default;opacity:.7}.player-contextmenu .player-contextmenu-body .contextmenu-item .contextmenu-item-icon[data-v-e4530a65]{margin-right:10px;display:flex;align-items:center;opacity:.85}.player-contextmenu .player-contextmenu-body .contextmenu-item .contextmenu-item-label[data-v-e4530a65]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-contextmenu .player-contextmenu-body .contextmenu-item .contextmenu-item-shortcut[data-v-e4530a65]{margin-left:16px;font-size:11px;opacity:.6;color:#aaa}.player-dialog[data-v-e4530a65]{position:absolute;left:0;top:0;bottom:50px;width:100%;z-index:100;display:flex;justify-content:center;align-items:center}.player-dialog .player-dialog-body[data-v-e4530a65]{background-color:#000000e6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:8px;color:#fff;min-width:200px;padding:0 0 10px;box-shadow:0 4px 20px #00000080}.player-dialog .player-dialog-body .player-dialog-title[data-v-e4530a65]{position:relative;font-size:14px;font-weight:400;margin:0 0 10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);text-align:center}.player-dialog .player-dialog-body .player-dialog-title .icon-close[data-v-e4530a65]{position:absolute;right:0;top:0;width:40px;height:40px;line-height:40px;text-align:center;cursor:pointer;transition:opacity .2s}.player-dialog .player-dialog-body .player-dialog-title .icon-close[data-v-e4530a65]:hover{opacity:.7}.player-dialog .player-dialog-body .player-hotkey-panel[data-v-e4530a65]{font-size:12px;color:#87ceeb;padding-right:40px}.player-dialog .player-dialog-body .player-hotkey-panel .player-hotkey-panel-item[data-v-e4530a65]{line-height:26px}.player-dialog .player-dialog-body .player-hotkey-panel .player-hotkey-panel-item span[data-v-e4530a65]{text-align:center;display:inline-block;width:120px}.player-dialog .player-dialog-body .player-hotkey-panel .player-hotkey-panel-item span[data-v-e4530a65]:nth-child(2){color:#fff;opacity:.9;width:160px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]{font-size:12px;padding:0 20px;min-width:400px;max-width:500px;max-height:400px;overflow-y:auto}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar{width:6px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item[data-v-e4530a65]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);transition:all .2s ease}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item[data-v-e4530a65]:last-child{border-bottom:none}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item[data-v-e4530a65]:hover{background-color:#ffffff0d;padding-left:8px;padding-right:8px;border-radius:4px}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item .info-label[data-v-e4530a65]{color:#aaa;min-width:80px;font-weight:500;flex-shrink:0}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item .info-value[data-v-e4530a65]{color:#fff;flex:1;text-align:right;word-break:break-all;opacity:.9;transition:opacity .2s ease}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item:hover .info-value[data-v-e4530a65]{opacity:1}.player-dialog .player-dialog-body .player-filter-panel[data-v-e4530a65]{width:320px;padding:0 20px}.player-dialog .player-dialog-body .player-filter-panel .player-filter-reset[data-v-e4530a65]{cursor:pointer;margin-top:10px;padding:4px 20px;display:inline-block;border-radius:3px;font-size:12px;background:#85858580;transition:background .2s}.player-dialog .player-dialog-body .player-filter-panel .player-filter-reset[data-v-e4530a65]:hover{background:#ffffff4d}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item[data-v-e4530a65]{height:32px;display:flex;align-items:center}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item .filter-panel-progress[data-v-e4530a65]{width:100%}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item .filter-panel-progress[data-v-e4530a65] .progress__runway{background-color:#999}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item .filter-panel-progress[data-v-e4530a65] .progress__runway .progress__bar:before{width:8px;height:8px;box-shadow:0 0 0 5px #ffffff80}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item span[data-v-e4530a65]{font-size:12px;display:block;width:80px;text-align:center}.settings-icon-svg[data-v-1ea78c7a]{display:block;overflow:visible;cursor:pointer;opacity:.8;transition:opacity .3s ease}.settings-gear-outer[data-v-1ea78c7a]{transform-origin:center;transform:rotate(0) scale(1)}.settings-gear-inner[data-v-1ea78c7a]{transform-origin:center}.setting-btn:hover .settings-icon-svg{animation:settingsIconAni .5s}@keyframes settingsIconAni{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.setting-btn:hover .settings-icon-svg .settings-gear-outer{animation:settingsMatrixAnimation .5s ease-in-out forwards}@keyframes settingsMatrixAnimation{0%{transform:scale(1)}50%{transform:matrix(0,1.3,-1.3,0,0,0)}75%{transform:matrix(-1.065,.746,-.746,-1.065,0,0)}to{transform:scale(-1)}}.volume-icon-svg[data-v-db2cc5fc]{display:block;overflow:visible;opacity:1;transition:opacity .3s ease}.speaker-icon[data-v-db2cc5fc]{transform-origin:center;opacity:1;transition:transform .3s ease}.sound-waves[data-v-db2cc5fc]{opacity:1}.sound-wave[data-v-db2cc5fc]{transform-origin:center;opacity:1}.volume-btn-wrapper:hover .volume-icon-svg{animation:volumeIconAni .5s}@keyframes volumeIconAni{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.volume-btn-wrapper:hover .volume-icon-svg .sound-wave.wave-outer{animation:volumeIconWaveRipple .6s ease-out 2}.volume-btn-wrapper:hover .volume-icon-svg .sound-waves:not(:has(.wave-outer)) .sound-wave.wave-inner{animation:volumeIconWaveRipple .6s ease-out 2}.volume-btn-wrapper:hover .volume-icon-svg .speaker-icon{animation:volumeIconSpeakerScale .6s ease-out .01s}@keyframes volumeIconWaveRipple{0%{opacity:0;transform:scale(.7)}20%{opacity:1;transform:scale(.9)}45%{opacity:1;transform:scale(1.1)}70%{opacity:.6;transform:scale(1.3)}to{opacity:0;transform:scale(1.5)}}@keyframes volumeIconSpeakerScale{0%{transform:scale(1)}40%{transform:scale(1.3)}80%{transform:scale(1)}to{transform:scale(1)}}@keyframes rotating-effe4f63{to{-webkit-transform:rotate(360deg)}}.rotating[data-v-effe4f63]{animation:rotating-effe4f63 2s linear infinite}@keyframes showAni-effe4f63{0%{display:none}50%{display:block}to{display:none}}.showH[data-v-effe4f63]:hover{-webkit-animation:showAni-effe4f63 .5s;animation:showAni-effe4f63 .5s}@keyframes biggerAni-effe4f63{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.biggerAni[data-v-effe4f63]:hover{-webkit-animation:biggerAni-effe4f63 .5s;animation:biggerAni-effe4f63 .5s}@keyframes biggerScaleAni-effe4f63{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}}.biggerScaleAni[data-v-effe4f63]:hover{-webkit-animation:biggerScaleAni-effe4f63 .5s;animation:biggerScaleAni-effe4f63 .5s}@keyframes ScaleAni-effe4f63{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}to{-webkit-transform:rotate(90deg)}}.ScaleAni[data-v-effe4f63]:hover{-webkit-animation:ScaleAni-effe4f63 .5s linear infinite;animation:ScaleAni-effe4f63 .5s linear infinite}@keyframes playBtnPulse-effe4f63{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes svgWave-effe4f63{0%,to{y1:7;y2:13;opacity:.6}50%{y1:3;y2:17;opacity:1}}.rotateHover[data-v-effe4f63]{transition:.2s}.rotateHover[data-v-effe4f63]:hover{transform:rotate(90deg)}.scaleHover[data-v-effe4f63]{transition:.2s}.scaleHover[data-v-effe4f63]:hover{transform:scale(1.2)}.control-icon-hover[data-v-effe4f63]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover[data-v-effe4f63]:hover{transform:scale(1.09)}.control-icon-hover-large[data-v-effe4f63]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover-large[data-v-effe4f63]:hover{transform:scale(1.25)}.fade-in-enter-active[data-v-effe4f63],.fade-in-leave-active[data-v-effe4f63]{transition:.5s}.fade-in-enter-from[data-v-effe4f63],.fade-in-leave-to[data-v-effe4f63]{opacity:0}.play-btn-center.scale-out-enter-active[data-v-effe4f63]{animation:scaleOutEnter-effe4f63 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-center.scale-out-leave-active[data-v-effe4f63]{animation:scaleOutLeave-effe4f63 .3s ease forwards}@keyframes scaleOutEnter-effe4f63{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scaleOutLeave-effe4f63{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes scaleOutEnterBottom-effe4f63{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOutLeaveBottom-effe4f63{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.play-btn-bottom-right.scale-out-enter-active[data-v-effe4f63],.play-btn-bottom-left.scale-out-enter-active[data-v-effe4f63]{animation:scaleOutEnterBottom-effe4f63 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-bottom-right.scale-out-leave-active[data-v-effe4f63],.play-btn-bottom-left.scale-out-leave-active[data-v-effe4f63]{animation:scaleOutLeaveBottom-effe4f63 .3s ease forwards}.play-btn-rotate-enter-active[data-v-effe4f63],.play-btn-rotate-leave-active[data-v-effe4f63]{transition:all .3s ease}.play-btn-rotate-enter-from[data-v-effe4f63]{opacity:0;transform:scale(.8) rotate(-90deg)}.play-btn-rotate-enter-to[data-v-effe4f63],.play-btn-rotate-leave-from[data-v-effe4f63]{opacity:1;transform:scale(1) rotate(0)}.play-btn-rotate-leave-to[data-v-effe4f63]{opacity:0;transform:scale(.8) rotate(90deg)}.play-btn-scale-enter-active[data-v-effe4f63],.play-btn-scale-leave-active[data-v-effe4f63]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.play-btn-scale-enter-from[data-v-effe4f63]{opacity:0;transform:scale(0)}.play-btn-scale-enter-to[data-v-effe4f63],.play-btn-scale-leave-from[data-v-effe4f63]{opacity:1;transform:scale(1)}.play-btn-scale-leave-to[data-v-effe4f63]{opacity:0;transform:scale(0)}.play-btn-flip-enter-active[data-v-effe4f63],.play-btn-flip-leave-active[data-v-effe4f63]{transition:all .4s ease;transform-style:preserve-3d}.play-btn-flip-enter-from[data-v-effe4f63]{opacity:0;transform:rotateY(-180deg)}.play-btn-flip-enter-to[data-v-effe4f63],.play-btn-flip-leave-from[data-v-effe4f63]{opacity:1;transform:rotateY(0)}.play-btn-flip-leave-to[data-v-effe4f63]{opacity:0;transform:rotateY(180deg)}.play-btn-slide-enter-active[data-v-effe4f63],.play-btn-slide-leave-active[data-v-effe4f63]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.play-btn-slide-enter-from[data-v-effe4f63]{opacity:0;transform:translate(-20px)}.play-btn-slide-enter-to[data-v-effe4f63],.play-btn-slide-leave-from[data-v-effe4f63]{opacity:1;transform:translate(0)}.play-btn-slide-leave-to[data-v-effe4f63]{opacity:0;transform:translate(20px)}.play-pause-btn[data-v-effe4f63]{position:relative;display:flex;align-items:center;justify-content:center}.play-pause-btn[data-v-effe4f63]:hover svg{animation:playBtnPulse-effe4f63 .6s ease-out}.volume-icon-svg[data-v-effe4f63]{display:block;overflow:visible;opacity:.8;transition:opacity .3s ease}.volume-btn-wrapper[data-v-effe4f63]{cursor:pointer;position:relative;display:flex;align-items:center;gap:4px}.volume-btn-wrapper:hover .volume-icon-svg[data-v-effe4f63]{animation:volumeIconAni-effe4f63 .5s}@keyframes volumeIconAni-effe4f63{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.speaker-icon[data-v-effe4f63]{transform-origin:center;transition:transform .3s ease}.sound-wave-svg[data-v-effe4f63]{display:none;margin-left:2px}.volume-btn-wrapper:hover .sound-wave-svg[data-v-effe4f63]{display:block}.wave-line[data-v-effe4f63]{transform-origin:center;animation:svgWave-effe4f63 .8s ease-in-out infinite}.wave-line.wave-1[data-v-effe4f63]{animation-delay:0s}.wave-line.wave-2[data-v-effe4f63]{animation-delay:.26s}.wave-line.wave-3[data-v-effe4f63]{animation-delay:.52s}.play-control-btn[data-v-effe4f63]{display:inline-block;transition:all .3s ease}.animation-rotate[data-v-effe4f63]{animation:playBtnRotate-effe4f63 .25s ease-in-out}@keyframes playBtnRotate-effe4f63{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.95)}to{transform:rotate(90deg) scale(1)}}.animation-scale[data-v-effe4f63]{animation:playBtnScale-effe4f63 .3s ease}@keyframes playBtnScale-effe4f63{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.animation-flip[data-v-effe4f63]{animation:playBtnFlip-effe4f63 .4s ease}@keyframes playBtnFlip-effe4f63{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.animation-slide[data-v-effe4f63]{animation:playBtnSlide-effe4f63 .3s ease}@keyframes playBtnSlide-effe4f63{0%{transform:translate(-10px);opacity:.5}to{transform:translate(0);opacity:1}}.animation-none[data-v-effe4f63]{animation:none}ul[data-v-effe4f63],ol[data-v-effe4f63]{list-style:none;padding-left:0;margin-left:0}li[data-v-effe4f63]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-effe4f63]:before,li[data-v-effe4f63]::marker{display:none!important;content:none!important}.iconfont[data-v-effe4f63]{display:inline-block}.d-flex-x[data-v-effe4f63],.d-flex-y[data-v-effe4f63],.flex-center[data-v-effe4f63]{display:flex}.d-flex-x[data-v-effe4f63]{align-items:center}.d-flex-y[data-v-effe4f63]{justify-content:center}.flex-center[data-v-effe4f63]{justify-content:center;align-items:center}.mr5[data-v-effe4f63]{margin-right:5px}.mr10[data-v-effe4f63]{margin-right:10px}.ml5[data-v-effe4f63]{margin-left:5px}.ml10[data-v-effe4f63]{margin-left:10px}.d-pointer[data-v-effe4f63]{cursor:pointer}.player-wrap[data-v-effe4f63]{position:relative;overflow:hidden;background-color:#000}.player-wrap.web-full-screen[data-v-effe4f63]{z-index:9999999;position:fixed;left:0;top:0;width:100vw!important;height:100vh!important}.player-wrap .Player[data-v-effe4f63]{position:relative;z-index:1;width:100%;height:100%}.player-wrap .Player .player-video-poster[data-v-effe4f63]{position:absolute;height:100%;width:100%;top:0;left:0}.player-wrap .Player .player-video-poster img[data-v-effe4f63]{display:block;width:100%;height:100%;object-fit:cover}.player-wrap .Player .Player-video[data-v-effe4f63]{width:100%;height:100%;transition:.2s}.player-wrap .Player .Player-video.video-mirror[data-v-effe4f63]{transform:rotateY(180deg)}.player-wrap .player-control[data-v-effe4f63]{transition:.1s;transform:translateY(45px);position:absolute;z-index:2;left:0;bottom:0;height:56px;width:100%;color:#fff}.player-wrap .player-control .control-progress[data-v-effe4f63]{width:100%;position:relative;height:10px;cursor:pointer}.player-wrap .player-control .control-progress .progress-bar[data-v-effe4f63]{position:absolute;left:0;right:0;bottom:0;width:100%;transition:height .1s;height:3px;z-index:1}.player-wrap .player-control .control-progress .progress-bar[data-v-effe4f63] .progress__runway{transition:height .1s;height:100%}.player-wrap .player-control .control-progress .progress-bar[data-v-effe4f63] .progress__runway .progress__bar:before{transform:translateY(-50%) scale(0)}.player-wrap .player-control .control-progress:hover .progress-bar[data-v-effe4f63]{height:100%}.player-wrap .player-control .control-progress:hover .progress-bar[data-v-effe4f63] .progress__bar:before{transform:translateY(-50%) scale(1)!important}.player-wrap .player-control .control-tool[data-v-effe4f63]{position:absolute;padding:0 10px;background:#000c;display:flex;justify-content:space-between;align-items:center;top:10px;left:0;bottom:0;width:100%;box-sizing:border-box}.player-wrap .player-control .control-tool .tool-bar[data-v-effe4f63]{display:flex;height:100%}.player-wrap .player-control .control-tool .tool-bar .speed[data-v-effe4f63]{opacity:.9}.player-wrap .player-control .control-tool .tool-bar .speed[data-v-effe4f63]:hover{opacity:1;font-weight:700}.player-wrap .player-control .control-tool .tool-bar .tool-item[data-v-effe4f63]{position:relative;height:100%;cursor:pointer;text-align:center;padding:0 8px;display:flex;align-items:center;font-size:13px}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main[data-v-effe4f63]{position:absolute;white-space:nowrap;z-index:2;bottom:90%;left:50%;padding:6px 16px;box-sizing:border-box;display:none;background:#000000f2;border-radius:5px;transform:translate(-50%)}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main[data-v-effe4f63]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:rgba(0,0,0,.95) transparent transparent transparent}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main[data-v-effe4f63]{padding:0 10px}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main li[data-v-effe4f63]{cursor:pointer;line-height:34px;font-size:12px;color:#fff}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main li[data-v-effe4f63]:hover{opacity:.8}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main li.speed-active[data-v-effe4f63]{color:rgba(var(--primary-color),1);font-weight:700}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main[data-v-effe4f63]{padding:0 10px}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main li[data-v-effe4f63]{cursor:pointer;line-height:34px;font-size:12px;color:#fff;white-space:nowrap}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main li[data-v-effe4f63]:hover{opacity:.8}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main li.quality-active[data-v-effe4f63]{color:rgba(var(--primary-color),1);font-weight:700}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box[data-v-effe4f63]{height:160px;width:50px;align-items:center;justify-content:center}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box .volume-main[data-v-effe4f63]{height:90%;display:flex;width:60px;flex-direction:column;align-items:center}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box .volume-main .volume-text-size[data-v-effe4f63]{margin-bottom:10px;font-size:12px;font-weight:400}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box .volume-main.is-muted[data-v-effe4f63] .progress__bar{height:0!important}.player-wrap .player-control .control-tool .tool-bar .tool-item:hover .tool-item-main[data-v-effe4f63]{display:flex}.player-wrap .player-control .control-tool .tool-time[data-v-effe4f63]{font-size:12px;color:#fff;font-weight:300}.player-wrap .player-control .control-tool .tool-time .total-time[data-v-effe4f63]{color:#fffc}.player-wrap.player-wrap-hover .player-control[data-v-effe4f63]{transform:translateY(0)}.player-state[data-v-effe4f63],.player-input[data-v-effe4f63]{position:absolute;left:0;top:0;right:0;bottom:40px;display:flex;justify-content:center;align-items:center;overflow:hidden;z-index:1}.player-input[data-v-effe4f63]{width:100%;border:none;opacity:0;cursor:default}.play-btn[data-v-effe4f63]{width:90px;height:90px;color:#fff;display:flex;align-items:center;justify-content:center;background-color:#000000b3;border-radius:50%;position:absolute;cursor:pointer}.play-btn.play-btn-center[data-v-effe4f63]{top:50%;left:50%}.play-btn.play-btn-bottom-right[data-v-effe4f63]{bottom:80px;right:20px}.play-btn.play-btn-bottom-left[data-v-effe4f63]{bottom:80px;left:20px}.play-btn[data-v-effe4f63]:hover{background-color:#000000d9;transition:background-color .3s ease}.play-btn[data-v-effe4f63] svg{transition:transform .3s ease}.play-btn[data-v-effe4f63]:hover svg{transform:scale(1.05)}@keyframes playBtnPulse-effe4f63{0%,to{box-shadow:0 0 #fff6}50%{box-shadow:0 0 0 20px #fff0}}.player-lightoff[data-v-effe4f63]{position:fixed;left:0;top:0;width:100vw;height:100vh;background-color:#000000e6}.is-lightoff[data-v-effe4f63]{z-index:999998}.player-wrap[data-v-effe4f63]{--primary-color: var(--cd82b104);width:var(--2703f974);height:var(--c0a7898e);max-width:100%;border-radius:var(--272b6063);overflow:hidden}.player-status-indicator[data-v-effe4f63]{position:absolute;z-index:10;pointer-events:none;top:10px;left:10px}.player-status-indicator.status-position-top-left[data-v-effe4f63]{top:10px;left:10px;right:auto;bottom:auto}.player-status-indicator.status-position-top-left .status-badge[data-v-effe4f63]{animation:slideInLeft-effe4f63 .3s ease-out}.player-status-indicator.status-position-top-right[data-v-effe4f63]{top:10px;right:10px;left:auto;bottom:auto}.player-status-indicator.status-position-top-right .status-badge[data-v-effe4f63]{animation:slideInRight-effe4f63 .3s ease-out}.player-status-indicator.status-position-bottom-left[data-v-effe4f63]{bottom:60px;left:10px;top:auto;right:auto}.player-status-indicator.status-position-bottom-left .status-badge[data-v-effe4f63]{animation:slideInLeft-effe4f63 .3s ease-out}.player-status-indicator.status-position-bottom-right[data-v-effe4f63]{bottom:60px;right:10px;top:auto;left:auto}.player-status-indicator.status-position-bottom-right .status-badge[data-v-effe4f63]{animation:slideInRight-effe4f63 .3s ease-out}.player-status-indicator .status-badge[data-v-effe4f63]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000004d;transition:all .3s ease;opacity:1}.player-status-indicator .status-badge.status-playing[data-v-effe4f63]{background:#008000b3}.player-status-indicator .status-badge.status-paused[data-v-effe4f63]{background:#ffa500b3}.player-status-indicator .status-badge.status-ended[data-v-effe4f63]{background:#808080b3}@keyframes slideInLeft-effe4f63{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight-effe4f63{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn-effe4f63{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.icon[data-v-0d1e04ea]{display:inline-block;cursor:pointer;overflow:hidden}
|
|
1
|
+
@import"//at.alicdn.com/t/c/font_4726673_pdcujlcxe7l.css";.icon[data-v-2680e372]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.rotating[data-v-2680e372]{animation:rotating-2680e372 2s linear infinite}@keyframes rotating-2680e372{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cc[data-v-2680e372]{background-color:red}ul[data-v-7dcd7a36],ol[data-v-7dcd7a36]{list-style:none;padding-left:0;margin-left:0}li[data-v-7dcd7a36]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-7dcd7a36]:before,li[data-v-7dcd7a36]::marker{display:none!important;content:none!important}.iconfont[data-v-7dcd7a36]{display:inline-block}.d-flex-x[data-v-7dcd7a36],.d-flex-y[data-v-7dcd7a36],.flex-center[data-v-7dcd7a36]{display:flex}.d-flex-x[data-v-7dcd7a36]{align-items:center}.d-flex-y[data-v-7dcd7a36]{justify-content:center}.flex-center[data-v-7dcd7a36]{justify-content:center;align-items:center}.mr5[data-v-7dcd7a36]{margin-right:5px}.mr10[data-v-7dcd7a36]{margin-right:10px}.ml5[data-v-7dcd7a36]{margin-left:5px}.ml10[data-v-7dcd7a36]{margin-left:10px}.d-pointer[data-v-7dcd7a36]{cursor:pointer}.loading-fade-enter-active[data-v-7dcd7a36],.loading-fade-leave-active[data-v-7dcd7a36]{transition:opacity .3s ease}.loading-fade-enter-from[data-v-7dcd7a36],.loading-fade-leave-to[data-v-7dcd7a36]{opacity:0}.content-fade-enter-active[data-v-7dcd7a36],.content-fade-leave-active[data-v-7dcd7a36]{transition:opacity .2s ease,transform .2s ease}.content-fade-enter-from[data-v-7dcd7a36]{opacity:0;transform:translateY(8px)}.content-fade-leave-to[data-v-7dcd7a36]{opacity:0;transform:translateY(-8px)}.loading[data-v-7dcd7a36]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2;color:#fff;text-align:center}.loading--init[data-v-7dcd7a36]{background:#000000eb;z-index:3}.loading--buffering[data-v-7dcd7a36]{background:#00000026}.loading--ended[data-v-7dcd7a36]{background:#0000008c}.loading--error[data-v-7dcd7a36]{background:#0a0a14d1}.loading-content[data-v-7dcd7a36]{display:flex;flex-direction:column;align-items:center;gap:10px}.loading-text[data-v-7dcd7a36]{margin:0;font-size:13px;color:#ffffffd9;letter-spacing:.3px;line-height:1.4}.spinner-ring[data-v-7dcd7a36]{width:48px;height:48px}.spinner-svg[data-v-7dcd7a36]{width:100%;height:100%;animation:spinnerRotate-7dcd7a36 1.4s linear infinite}.spinner-track[data-v-7dcd7a36]{stroke:#ffffff26}.spinner-head[data-v-7dcd7a36]{stroke:#fff;stroke-linecap:round;stroke-dasharray:80 200;stroke-dashoffset:0;animation:spinnerDash-7dcd7a36 1.4s ease-in-out infinite}@keyframes spinnerRotate-7dcd7a36{to{transform:rotate(360deg)}}@keyframes spinnerDash-7dcd7a36{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:100 200;stroke-dashoffset:-30px}to{stroke-dasharray:100 200;stroke-dashoffset:-124px}}.dots-loader[data-v-7dcd7a36]{display:flex;align-items:flex-end;gap:6px;height:28px}.dot[data-v-7dcd7a36]{display:block;width:8px;height:8px;border-radius:50%;background:#ffffffe6;animation:dotBounce-7dcd7a36 1.2s ease-in-out infinite}.dot[data-v-7dcd7a36]:nth-child(1){animation-delay:0s}.dot[data-v-7dcd7a36]:nth-child(2){animation-delay:.18s}.dot[data-v-7dcd7a36]:nth-child(3){animation-delay:.36s}@keyframes dotBounce-7dcd7a36{0%,80%,to{transform:translateY(0) scale(1);opacity:.6}40%{transform:translateY(-12px) scale(1.1);opacity:1}}.action-icon[data-v-7dcd7a36]{width:52px;height:52px;border-radius:50%;background:#ffffff1f;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,transform .25s ease,border-color .25s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.action-icon[data-v-7dcd7a36]:hover{background:#ffffff38;border-color:#fff9;transform:scale(1.08)}.action-icon[data-v-7dcd7a36]:active{transform:scale(.96)}.action-text[data-v-7dcd7a36]{cursor:pointer;font-size:13px;color:#ffffffbf;transition:color .2s}.action-text[data-v-7dcd7a36]:hover{color:#fff}.error-content[data-v-7dcd7a36]{padding:0 24px;gap:8px}.error-icon-wrap[data-v-7dcd7a36]{width:52px;height:52px;border-radius:50%;background:#ff505026;border:1.5px solid rgba(255,100,100,.4);display:flex;align-items:center;justify-content:center;margin-bottom:2px}.error-icon[data-v-7dcd7a36]{width:28px;height:28px;color:#ff6b6b}.error-title[data-v-7dcd7a36]{font-size:14px;font-weight:600;color:#fffffff2}.error-sub[data-v-7dcd7a36]{font-size:12px;color:#ffffff73;margin-top:-4px}.retry-btn[data-v-7dcd7a36]{margin-top:6px;display:inline-flex;align-items:center;gap:5px;padding:7px 18px;border-radius:20px;border:1.5px solid rgba(255,255,255,.35);background:#ffffff1a;color:#fff;font-size:13px;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.retry-btn[data-v-7dcd7a36]:hover{background:#fff3;border-color:#fff9;transform:translateY(-1px)}.retry-btn[data-v-7dcd7a36]:active{transform:translateY(0) scale(.97)}.progress[data-v-f5b77156]{position:relative}.progress .progress__runway[data-v-f5b77156]{width:100%;height:var(--49cbfd54);background-color:#333;position:relative;cursor:pointer;vertical-align:middle}.progress .progress__runway .progress__cursor[data-v-f5b77156],.progress .progress__runway .progress__preload[data-v-f5b77156],.progress .progress__runway .progress__bar[data-v-f5b77156]{position:absolute;top:0;left:0;height:100%}.progress .progress__runway .progress__cursor[data-v-f5b77156]{display:none;z-index:1;width:1px;background-color:#fff;pointer-events:none}.progress .progress__runway .progress__cursor .progress__tips[data-v-f5b77156]{pointer-events:none;color:#fff;position:absolute;white-space:nowrap;z-index:2;bottom:14px;left:50%;padding:4px;box-sizing:border-box;display:block;font-size:12px;background:#0009;border-radius:3px;transform:translate(-50%)}.progress .progress__runway:hover .progress__cursor[data-v-f5b77156]{display:block}.progress .progress__runway .progress__preload[data-v-f5b77156]{background:#717171}.progress .progress__runway .progress__bar[data-v-f5b77156]:before{display:block;content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;transition:.2s;transform:translateY(-50%) scale(1);border-radius:50%;background:#fff;box-shadow:0 0 0 5px #ffffff80}.progress.is-vertical[data-v-f5b77156]{height:100%;display:inline-block}.progress.is-vertical .progress__runway[data-v-f5b77156]{position:relative;height:100%;width:var(--49cbfd54);margin:0 6px}.progress.is-vertical .progress__runway .progress__preload[data-v-f5b77156],.progress.is-vertical .progress__runway .progress__bar[data-v-f5b77156],.progress.is-vertical .progress__runway .progress__cursor[data-v-f5b77156]{bottom:0;top:auto;width:100%}.progress.is-vertical .progress__runway .progress__cursor[data-v-f5b77156]{height:1px}.progress.is-vertical .progress__runway .progress__bar[data-v-f5b77156]:before{top:-6px;left:50%;width:12px;height:12px;transform:translate(-50%) scale(1)}.switch[data-v-4ddca1e1]{position:relative;height:18px;width:var(--8eab8736);background:#757575;border-radius:10px;display:inline-flex;align-items:center;vertical-align:middle}.switch .switch_input[data-v-4ddca1e1]{position:relative;z-index:1;margin:0;width:100%;height:100%;opacity:0}.switch .switch_action[data-v-4ddca1e1]{position:absolute;transition:.2s;left:2px;top:2px;z-index:0;height:14px;width:14px;background:#fff;border-radius:50%}.switch.is-checked[data-v-4ddca1e1]{background-color:var(--7a1ce148)}.switch.is-checked .switch_action[data-v-4ddca1e1]{background:#fff;left:24px}ul[data-v-0b21d222],ol[data-v-0b21d222]{list-style:none;padding-left:0;margin-left:0}li[data-v-0b21d222]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-0b21d222]:before,li[data-v-0b21d222]::marker{display:none!important;content:none!important}.iconfont[data-v-0b21d222]{display:inline-block}.d-flex-x[data-v-0b21d222],.d-flex-y[data-v-0b21d222],.flex-center[data-v-0b21d222]{display:flex}.d-flex-x[data-v-0b21d222]{align-items:center}.d-flex-y[data-v-0b21d222]{justify-content:center}.flex-center[data-v-0b21d222]{justify-content:center;align-items:center}.mr5[data-v-0b21d222]{margin-right:5px}.mr10[data-v-0b21d222]{margin-right:10px}.ml5[data-v-0b21d222]{margin-left:5px}.ml10[data-v-0b21d222]{margin-left:10px}.d-pointer[data-v-0b21d222]{cursor:pointer}.status[data-v-0b21d222]{text-align:center;font-size:14px;vertical-align:middle;background:#000c;padding:0 8px;height:30px;border-radius:5px;display:flex;align-items:center;color:#fffffff2}.status .status-icon[data-v-0b21d222]{width:24px!important;display:inline-block;margin-right:5px}ul[data-v-e4530a65],ol[data-v-e4530a65]{list-style:none;padding-left:0;margin-left:0}li[data-v-e4530a65]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-e4530a65]:before,li[data-v-e4530a65]::marker{display:none!important;content:none!important}.iconfont[data-v-e4530a65]{display:inline-block}.d-flex-x[data-v-e4530a65],.d-flex-y[data-v-e4530a65],.flex-center[data-v-e4530a65]{display:flex}.d-flex-x[data-v-e4530a65]{align-items:center}.d-flex-y[data-v-e4530a65]{justify-content:center}.flex-center[data-v-e4530a65]{justify-content:center;align-items:center}.mr5[data-v-e4530a65]{margin-right:5px}.mr10[data-v-e4530a65]{margin-right:10px}.ml5[data-v-e4530a65]{margin-left:5px}.ml10[data-v-e4530a65]{margin-left:10px}.d-pointer[data-v-e4530a65]{cursor:pointer}@keyframes rotating-e4530a65{to{-webkit-transform:rotate(360deg)}}.rotating[data-v-e4530a65]{animation:rotating-e4530a65 2s linear infinite}@keyframes showAni-e4530a65{0%{display:none}50%{display:block}to{display:none}}.showH[data-v-e4530a65]:hover{-webkit-animation:showAni-e4530a65 .5s;animation:showAni-e4530a65 .5s}@keyframes biggerAni-e4530a65{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.biggerAni[data-v-e4530a65]:hover{-webkit-animation:biggerAni-e4530a65 .5s;animation:biggerAni-e4530a65 .5s}@keyframes biggerScaleAni-e4530a65{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}}.biggerScaleAni[data-v-e4530a65]:hover{-webkit-animation:biggerScaleAni-e4530a65 .5s;animation:biggerScaleAni-e4530a65 .5s}@keyframes ScaleAni-e4530a65{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}to{-webkit-transform:rotate(90deg)}}.ScaleAni[data-v-e4530a65]:hover{-webkit-animation:ScaleAni-e4530a65 .5s linear infinite;animation:ScaleAni-e4530a65 .5s linear infinite}@keyframes playBtnPulse-e4530a65{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes svgWave-e4530a65{0%,to{y1:7;y2:13;opacity:.6}50%{y1:3;y2:17;opacity:1}}.rotateHover[data-v-e4530a65]{transition:.2s}.rotateHover[data-v-e4530a65]:hover{transform:rotate(90deg)}.scaleHover[data-v-e4530a65]{transition:.2s}.scaleHover[data-v-e4530a65]:hover{transform:scale(1.2)}.control-icon-hover[data-v-e4530a65]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover[data-v-e4530a65]:hover{transform:scale(1.09)}.control-icon-hover-large[data-v-e4530a65]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover-large[data-v-e4530a65]:hover{transform:scale(1.25)}.fade-in-enter-active[data-v-e4530a65],.fade-in-leave-active[data-v-e4530a65]{transition:.5s}.fade-in-enter-from[data-v-e4530a65],.fade-in-leave-to[data-v-e4530a65]{opacity:0}.play-btn-center.scale-out-enter-active[data-v-e4530a65]{animation:scaleOutEnter-e4530a65 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-center.scale-out-leave-active[data-v-e4530a65]{animation:scaleOutLeave-e4530a65 .3s ease forwards}@keyframes scaleOutEnter-e4530a65{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scaleOutLeave-e4530a65{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes scaleOutEnterBottom-e4530a65{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOutLeaveBottom-e4530a65{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.play-btn-bottom-right.scale-out-enter-active[data-v-e4530a65],.play-btn-bottom-left.scale-out-enter-active[data-v-e4530a65]{animation:scaleOutEnterBottom-e4530a65 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-bottom-right.scale-out-leave-active[data-v-e4530a65],.play-btn-bottom-left.scale-out-leave-active[data-v-e4530a65]{animation:scaleOutLeaveBottom-e4530a65 .3s ease forwards}.play-btn-rotate-enter-active[data-v-e4530a65],.play-btn-rotate-leave-active[data-v-e4530a65]{transition:all .3s ease}.play-btn-rotate-enter-from[data-v-e4530a65]{opacity:0;transform:scale(.8) rotate(-90deg)}.play-btn-rotate-enter-to[data-v-e4530a65],.play-btn-rotate-leave-from[data-v-e4530a65]{opacity:1;transform:scale(1) rotate(0)}.play-btn-rotate-leave-to[data-v-e4530a65]{opacity:0;transform:scale(.8) rotate(90deg)}.play-btn-scale-enter-active[data-v-e4530a65],.play-btn-scale-leave-active[data-v-e4530a65]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.play-btn-scale-enter-from[data-v-e4530a65]{opacity:0;transform:scale(0)}.play-btn-scale-enter-to[data-v-e4530a65],.play-btn-scale-leave-from[data-v-e4530a65]{opacity:1;transform:scale(1)}.play-btn-scale-leave-to[data-v-e4530a65]{opacity:0;transform:scale(0)}.play-btn-flip-enter-active[data-v-e4530a65],.play-btn-flip-leave-active[data-v-e4530a65]{transition:all .4s ease;transform-style:preserve-3d}.play-btn-flip-enter-from[data-v-e4530a65]{opacity:0;transform:rotateY(-180deg)}.play-btn-flip-enter-to[data-v-e4530a65],.play-btn-flip-leave-from[data-v-e4530a65]{opacity:1;transform:rotateY(0)}.play-btn-flip-leave-to[data-v-e4530a65]{opacity:0;transform:rotateY(180deg)}.play-btn-slide-enter-active[data-v-e4530a65],.play-btn-slide-leave-active[data-v-e4530a65]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.play-btn-slide-enter-from[data-v-e4530a65]{opacity:0;transform:translate(-20px)}.play-btn-slide-enter-to[data-v-e4530a65],.play-btn-slide-leave-from[data-v-e4530a65]{opacity:1;transform:translate(0)}.play-btn-slide-leave-to[data-v-e4530a65]{opacity:0;transform:translate(20px)}.play-pause-btn[data-v-e4530a65]{position:relative;display:flex;align-items:center;justify-content:center}.play-pause-btn[data-v-e4530a65]:hover svg{animation:playBtnPulse-e4530a65 .6s ease-out}.volume-icon-svg[data-v-e4530a65]{display:block;overflow:visible;opacity:.8;transition:opacity .3s ease}.volume-btn-wrapper[data-v-e4530a65]{cursor:pointer;position:relative;display:flex;align-items:center;gap:4px}.volume-btn-wrapper:hover .volume-icon-svg[data-v-e4530a65]{animation:volumeIconAni-e4530a65 .5s}@keyframes volumeIconAni-e4530a65{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.speaker-icon[data-v-e4530a65]{transform-origin:center;transition:transform .3s ease}.sound-wave-svg[data-v-e4530a65]{display:none;margin-left:2px}.volume-btn-wrapper:hover .sound-wave-svg[data-v-e4530a65]{display:block}.wave-line[data-v-e4530a65]{transform-origin:center;animation:svgWave-e4530a65 .8s ease-in-out infinite}.wave-line.wave-1[data-v-e4530a65]{animation-delay:0s}.wave-line.wave-2[data-v-e4530a65]{animation-delay:.26s}.wave-line.wave-3[data-v-e4530a65]{animation-delay:.52s}.play-control-btn[data-v-e4530a65]{display:inline-block;transition:all .3s ease}.animation-rotate[data-v-e4530a65]{animation:playBtnRotate-e4530a65 .25s ease-in-out}@keyframes playBtnRotate-e4530a65{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.95)}to{transform:rotate(90deg) scale(1)}}.animation-scale[data-v-e4530a65]{animation:playBtnScale-e4530a65 .3s ease}@keyframes playBtnScale-e4530a65{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.animation-flip[data-v-e4530a65]{animation:playBtnFlip-e4530a65 .4s ease}@keyframes playBtnFlip-e4530a65{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.animation-slide[data-v-e4530a65]{animation:playBtnSlide-e4530a65 .3s ease}@keyframes playBtnSlide-e4530a65{0%{transform:translate(-10px);opacity:.5}to{transform:translate(0);opacity:1}}.animation-none[data-v-e4530a65]{animation:none}.player-contextmenu[data-v-e4530a65]{position:absolute;left:0;top:0;z-index:50;-webkit-user-select:none;user-select:none}.player-contextmenu .player-contextmenu-body[data-v-e4530a65]{position:relative;border-radius:6px;font-size:13px;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d;color:#efefef;padding:6px 0;text-align:left;box-sizing:border-box;overflow:hidden}.player-contextmenu .player-contextmenu-body .contextmenu-divider[data-v-e4530a65]{height:1px;margin:6px 0;background-color:#ffffff1a;pointer-events:none}.player-contextmenu .player-contextmenu-body .contextmenu-item[data-v-e4530a65]{display:flex;align-items:center;padding:10px 16px;margin:0;cursor:pointer;transition:all .2s ease;position:relative}.player-contextmenu .player-contextmenu-body .contextmenu-item[data-v-e4530a65]:hover:not(.contextmenu-item-disabled):not(.contextmenu-item-info){background-color:#808080e6}.player-contextmenu .player-contextmenu-body .contextmenu-item.contextmenu-item-disabled[data-v-e4530a65]{opacity:.5;cursor:not-allowed}.player-contextmenu .player-contextmenu-body .contextmenu-item.contextmenu-item-info[data-v-e4530a65]{cursor:default;opacity:.7}.player-contextmenu .player-contextmenu-body .contextmenu-item .contextmenu-item-icon[data-v-e4530a65]{margin-right:10px;display:flex;align-items:center;opacity:.85}.player-contextmenu .player-contextmenu-body .contextmenu-item .contextmenu-item-label[data-v-e4530a65]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-contextmenu .player-contextmenu-body .contextmenu-item .contextmenu-item-shortcut[data-v-e4530a65]{margin-left:16px;font-size:11px;opacity:.6;color:#aaa}.player-dialog[data-v-e4530a65]{position:absolute;left:0;top:0;bottom:50px;width:100%;z-index:100;display:flex;justify-content:center;align-items:center}.player-dialog .player-dialog-body[data-v-e4530a65]{background-color:#000000e6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:8px;color:#fff;min-width:200px;padding:0 0 10px;box-shadow:0 4px 20px #00000080}.player-dialog .player-dialog-body .player-dialog-title[data-v-e4530a65]{position:relative;font-size:14px;font-weight:400;margin:0 0 10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);text-align:center}.player-dialog .player-dialog-body .player-dialog-title .icon-close[data-v-e4530a65]{position:absolute;right:0;top:0;width:40px;height:40px;line-height:40px;text-align:center;cursor:pointer;transition:opacity .2s}.player-dialog .player-dialog-body .player-dialog-title .icon-close[data-v-e4530a65]:hover{opacity:.7}.player-dialog .player-dialog-body .player-hotkey-panel[data-v-e4530a65]{font-size:12px;color:#87ceeb;padding-right:40px}.player-dialog .player-dialog-body .player-hotkey-panel .player-hotkey-panel-item[data-v-e4530a65]{line-height:26px}.player-dialog .player-dialog-body .player-hotkey-panel .player-hotkey-panel-item span[data-v-e4530a65]{text-align:center;display:inline-block;width:120px}.player-dialog .player-dialog-body .player-hotkey-panel .player-hotkey-panel-item span[data-v-e4530a65]:nth-child(2){color:#fff;opacity:.9;width:160px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]{font-size:12px;padding:0 20px;min-width:400px;max-width:500px;max-height:400px;overflow-y:auto}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar{width:6px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.player-dialog .player-dialog-body .player-info-panel[data-v-e4530a65]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item[data-v-e4530a65]{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);transition:all .2s ease}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item[data-v-e4530a65]:last-child{border-bottom:none}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item[data-v-e4530a65]:hover{background-color:#ffffff0d;padding-left:8px;padding-right:8px;border-radius:4px}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item .info-label[data-v-e4530a65]{color:#aaa;min-width:80px;font-weight:500;flex-shrink:0}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item .info-value[data-v-e4530a65]{color:#fff;flex:1;text-align:right;word-break:break-all;opacity:.9;transition:opacity .2s ease}.player-dialog .player-dialog-body .player-info-panel .player-info-panel-item:hover .info-value[data-v-e4530a65]{opacity:1}.player-dialog .player-dialog-body .player-filter-panel[data-v-e4530a65]{width:320px;padding:0 20px}.player-dialog .player-dialog-body .player-filter-panel .player-filter-reset[data-v-e4530a65]{cursor:pointer;margin-top:10px;padding:4px 20px;display:inline-block;border-radius:3px;font-size:12px;background:#85858580;transition:background .2s}.player-dialog .player-dialog-body .player-filter-panel .player-filter-reset[data-v-e4530a65]:hover{background:#ffffff4d}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item[data-v-e4530a65]{height:32px;display:flex;align-items:center}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item .filter-panel-progress[data-v-e4530a65]{width:100%}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item .filter-panel-progress[data-v-e4530a65] .progress__runway{background-color:#999}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item .filter-panel-progress[data-v-e4530a65] .progress__runway .progress__bar:before{width:8px;height:8px;box-shadow:0 0 0 5px #ffffff80}.player-dialog .player-dialog-body .player-filter-panel .player-filter-panel-item span[data-v-e4530a65]{font-size:12px;display:block;width:80px;text-align:center}.settings-icon-svg[data-v-1ea78c7a]{display:block;overflow:visible;cursor:pointer;opacity:.8;transition:opacity .3s ease}.settings-gear-outer[data-v-1ea78c7a]{transform-origin:center;transform:rotate(0) scale(1)}.settings-gear-inner[data-v-1ea78c7a]{transform-origin:center}.setting-btn:hover .settings-icon-svg{animation:settingsIconAni .5s}@keyframes settingsIconAni{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.setting-btn:hover .settings-icon-svg .settings-gear-outer{animation:settingsMatrixAnimation .5s ease-in-out forwards}@keyframes settingsMatrixAnimation{0%{transform:scale(1)}50%{transform:matrix(0,1.3,-1.3,0,0,0)}75%{transform:matrix(-1.065,.746,-.746,-1.065,0,0)}to{transform:scale(-1)}}.volume-icon-svg[data-v-db2cc5fc]{display:block;overflow:visible;opacity:1;transition:opacity .3s ease}.speaker-icon[data-v-db2cc5fc]{transform-origin:center;opacity:1;transition:transform .3s ease}.sound-waves[data-v-db2cc5fc]{opacity:1}.sound-wave[data-v-db2cc5fc]{transform-origin:center;opacity:1}.volume-btn-wrapper:hover .volume-icon-svg{animation:volumeIconAni .5s}@keyframes volumeIconAni{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.volume-btn-wrapper:hover .volume-icon-svg .sound-wave.wave-outer{animation:volumeIconWaveRipple .6s ease-out 2}.volume-btn-wrapper:hover .volume-icon-svg .sound-waves:not(:has(.wave-outer)) .sound-wave.wave-inner{animation:volumeIconWaveRipple .6s ease-out 2}.volume-btn-wrapper:hover .volume-icon-svg .speaker-icon{animation:volumeIconSpeakerScale .6s ease-out .01s}@keyframes volumeIconWaveRipple{0%{opacity:0;transform:scale(.7)}20%{opacity:1;transform:scale(.9)}45%{opacity:1;transform:scale(1.1)}70%{opacity:.6;transform:scale(1.3)}to{opacity:0;transform:scale(1.5)}}@keyframes volumeIconSpeakerScale{0%{transform:scale(1)}40%{transform:scale(1.3)}80%{transform:scale(1)}to{transform:scale(1)}}.player-quality-selector[data-v-4969cc14]{position:relative;display:inline-block}.player-quality-selector .quality-button[data-v-4969cc14]{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#00000080;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .2s;font-size:13px}.player-quality-selector .quality-button[data-v-4969cc14]:hover{background:#000000b3}.player-quality-selector .quality-button .quality-label[data-v-4969cc14]{font-weight:500;-webkit-user-select:none;user-select:none}.player-quality-selector .quality-button .quality-icon[data-v-4969cc14]{transition:transform .2s;fill:currentColor}.player-quality-selector .quality-menu[data-v-4969cc14]{position:absolute;bottom:calc(100% + 8px);right:0;background:#1c1c1ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:8px;min-width:140px;box-shadow:0 4px 16px #0006;overflow:hidden;list-style:none;margin:0;padding:4px 0;z-index:1000}.player-quality-selector .quality-menu .quality-option[data-v-4969cc14]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:#ffffffe6;font-size:14px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.player-quality-selector .quality-menu .quality-option[data-v-4969cc14]:hover{background:#ffffff1a}.player-quality-selector .quality-menu .quality-option.active[data-v-4969cc14]{background:#52a0fd26;color:#52a0fd}.player-quality-selector .quality-menu .quality-option.active .option-label[data-v-4969cc14]{font-weight:600}.player-quality-selector .quality-menu .quality-option .option-label[data-v-4969cc14]{flex:1}.player-quality-selector .quality-menu .quality-option .option-meta[data-v-4969cc14]{display:flex;align-items:center;gap:8px;font-size:12px}.player-quality-selector .quality-menu .quality-option .auto-badge[data-v-4969cc14]{padding:2px 6px;background:#52a0fd33;color:#52a0fd;border-radius:3px;font-size:11px;font-weight:600}.player-quality-selector .quality-menu .quality-option .bitrate[data-v-4969cc14]{color:#ffffff80;font-size:11px}.player-quality-selector .quality-menu .quality-option .check-icon[data-v-4969cc14]{color:#52a0fd;font-weight:700;font-size:16px}.slide-up-enter-active[data-v-4969cc14],.slide-up-leave-active[data-v-4969cc14]{transition:all .2s ease}.slide-up-enter-from[data-v-4969cc14],.slide-up-leave-to[data-v-4969cc14]{opacity:0;transform:translateY(8px)}.slide-up-enter-to[data-v-4969cc14],.slide-up-leave-from[data-v-4969cc14]{opacity:1;transform:translateY(0)}.live-badge-container[data-v-fafdd369]{position:absolute;top:16px;left:16px;z-index:10;display:flex;flex-direction:column;gap:12px;pointer-events:none}.live-badge-container[data-v-fafdd369]>*{pointer-events:auto}.live-badge[data-v-fafdd369]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#ef4444f2;color:#fff;font-size:13px;font-weight:600;border-radius:4px;box-shadow:0 2px 8px #ef444466;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.live-badge[data-v-fafdd369]:hover{background:#ef4444;box-shadow:0 4px 12px #ef444480}.live-badge-pulse[data-v-fafdd369]{animation:pulse-fafdd369 2s ease-in-out infinite}@keyframes pulse-fafdd369{0%,to{box-shadow:0 2px 8px #ef444466}50%{box-shadow:0 4px 16px #ef4444cc}}.live-dot[data-v-fafdd369]{width:8px;height:8px;background:#fff;border-radius:50%;animation:blink-fafdd369 1.5s ease-in-out infinite}@keyframes blink-fafdd369{0%,to{opacity:1}50%{opacity:.3}}.live-text[data-v-fafdd369]{line-height:1;text-transform:uppercase;letter-spacing:.5px}.go-to-live-btn[data-v-fafdd369]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#2563ebf2;color:#fff;font-size:13px;font-weight:500;border:none;border-radius:20px;cursor:pointer;box-shadow:0 2px 8px #2563eb4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.go-to-live-btn[data-v-fafdd369]:hover{background:#2563eb;box-shadow:0 4px 12px #2563eb80;transform:translateY(-2px)}.go-to-live-btn[data-v-fafdd369]:active{transform:translateY(0)}.live-icon[data-v-fafdd369]{width:16px;height:16px;stroke-width:2.5}.slide-fade-enter-active[data-v-fafdd369]{transition:all .3s ease-out}.slide-fade-leave-active[data-v-fafdd369]{transition:all .3s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from[data-v-fafdd369],.slide-fade-leave-to[data-v-fafdd369]{transform:translate(-20px);opacity:0}@media (max-width: 768px){.live-badge-container[data-v-fafdd369]{top:12px;left:12px;gap:10px}.live-badge[data-v-fafdd369]{padding:5px 10px;font-size:12px}.live-dot[data-v-fafdd369]{width:6px;height:6px}.go-to-live-btn[data-v-fafdd369]{padding:6px 12px;font-size:12px;border-radius:16px}.live-icon[data-v-fafdd369]{width:14px;height:14px}}@media (prefers-color-scheme: dark){.live-badge[data-v-fafdd369]{box-shadow:0 2px 12px #ef444499}.go-to-live-btn[data-v-fafdd369]{box-shadow:0 2px 12px #2563eb80}}@keyframes rotating-97809705{to{-webkit-transform:rotate(360deg)}}.rotating[data-v-97809705]{animation:rotating-97809705 2s linear infinite}@keyframes showAni-97809705{0%{display:none}50%{display:block}to{display:none}}.showH[data-v-97809705]:hover{-webkit-animation:showAni-97809705 .5s;animation:showAni-97809705 .5s}@keyframes biggerAni-97809705{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.biggerAni[data-v-97809705]:hover{-webkit-animation:biggerAni-97809705 .5s;animation:biggerAni-97809705 .5s}@keyframes biggerScaleAni-97809705{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}}.biggerScaleAni[data-v-97809705]:hover{-webkit-animation:biggerScaleAni-97809705 .5s;animation:biggerScaleAni-97809705 .5s}@keyframes ScaleAni-97809705{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1) rotate(90deg);opacity:.8}to{-webkit-transform:rotate(90deg)}}.ScaleAni[data-v-97809705]:hover{-webkit-animation:ScaleAni-97809705 .5s linear infinite;animation:ScaleAni-97809705 .5s linear infinite}@keyframes playBtnPulse-97809705{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes svgWave-97809705{0%,to{y1:7;y2:13;opacity:.6}50%{y1:3;y2:17;opacity:1}}.rotateHover[data-v-97809705]{transition:.2s}.rotateHover[data-v-97809705]:hover{transform:rotate(90deg)}.scaleHover[data-v-97809705]{transition:.2s}.scaleHover[data-v-97809705]:hover{transform:scale(1.2)}.control-icon-hover[data-v-97809705]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover[data-v-97809705]:hover{transform:scale(1.09)}.control-icon-hover-large[data-v-97809705]{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.control-icon-hover-large[data-v-97809705]:hover{transform:scale(1.25)}.fade-in-enter-active[data-v-97809705],.fade-in-leave-active[data-v-97809705]{transition:.5s}.fade-in-enter-from[data-v-97809705],.fade-in-leave-to[data-v-97809705]{opacity:0}.play-btn-center.scale-out-enter-active[data-v-97809705]{animation:scaleOutEnter-97809705 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-center.scale-out-leave-active[data-v-97809705]{animation:scaleOutLeave-97809705 .3s ease forwards}@keyframes scaleOutEnter-97809705{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scaleOutLeave-97809705{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes scaleOutEnterBottom-97809705{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOutLeaveBottom-97809705{0%{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}.play-btn-bottom-right.scale-out-enter-active[data-v-97809705],.play-btn-bottom-left.scale-out-enter-active[data-v-97809705]{animation:scaleOutEnterBottom-97809705 .4s cubic-bezier(.34,1.56,.64,1) forwards}.play-btn-bottom-right.scale-out-leave-active[data-v-97809705],.play-btn-bottom-left.scale-out-leave-active[data-v-97809705]{animation:scaleOutLeaveBottom-97809705 .3s ease forwards}.play-btn-rotate-enter-active[data-v-97809705],.play-btn-rotate-leave-active[data-v-97809705]{transition:all .3s ease}.play-btn-rotate-enter-from[data-v-97809705]{opacity:0;transform:scale(.8) rotate(-90deg)}.play-btn-rotate-enter-to[data-v-97809705],.play-btn-rotate-leave-from[data-v-97809705]{opacity:1;transform:scale(1) rotate(0)}.play-btn-rotate-leave-to[data-v-97809705]{opacity:0;transform:scale(.8) rotate(90deg)}.play-btn-scale-enter-active[data-v-97809705],.play-btn-scale-leave-active[data-v-97809705]{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.play-btn-scale-enter-from[data-v-97809705]{opacity:0;transform:scale(0)}.play-btn-scale-enter-to[data-v-97809705],.play-btn-scale-leave-from[data-v-97809705]{opacity:1;transform:scale(1)}.play-btn-scale-leave-to[data-v-97809705]{opacity:0;transform:scale(0)}.play-btn-flip-enter-active[data-v-97809705],.play-btn-flip-leave-active[data-v-97809705]{transition:all .4s ease;transform-style:preserve-3d}.play-btn-flip-enter-from[data-v-97809705]{opacity:0;transform:rotateY(-180deg)}.play-btn-flip-enter-to[data-v-97809705],.play-btn-flip-leave-from[data-v-97809705]{opacity:1;transform:rotateY(0)}.play-btn-flip-leave-to[data-v-97809705]{opacity:0;transform:rotateY(180deg)}.play-btn-slide-enter-active[data-v-97809705],.play-btn-slide-leave-active[data-v-97809705]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.play-btn-slide-enter-from[data-v-97809705]{opacity:0;transform:translate(-20px)}.play-btn-slide-enter-to[data-v-97809705],.play-btn-slide-leave-from[data-v-97809705]{opacity:1;transform:translate(0)}.play-btn-slide-leave-to[data-v-97809705]{opacity:0;transform:translate(20px)}.play-pause-btn[data-v-97809705]{position:relative;display:flex;align-items:center;justify-content:center}.play-pause-btn[data-v-97809705]:hover svg{animation:playBtnPulse-97809705 .6s ease-out}.volume-icon-svg[data-v-97809705]{display:block;overflow:visible;opacity:.8;transition:opacity .3s ease}.volume-btn-wrapper[data-v-97809705]{cursor:pointer;position:relative;display:flex;align-items:center;gap:4px}.volume-btn-wrapper:hover .volume-icon-svg[data-v-97809705]{animation:volumeIconAni-97809705 .5s}@keyframes volumeIconAni-97809705{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.speaker-icon[data-v-97809705]{transform-origin:center;transition:transform .3s ease}.sound-wave-svg[data-v-97809705]{display:none;margin-left:2px}.volume-btn-wrapper:hover .sound-wave-svg[data-v-97809705]{display:block}.wave-line[data-v-97809705]{transform-origin:center;animation:svgWave-97809705 .8s ease-in-out infinite}.wave-line.wave-1[data-v-97809705]{animation-delay:0s}.wave-line.wave-2[data-v-97809705]{animation-delay:.26s}.wave-line.wave-3[data-v-97809705]{animation-delay:.52s}.play-control-btn[data-v-97809705]{display:inline-block;transition:all .3s ease}.animation-rotate[data-v-97809705]{animation:playBtnRotate-97809705 .25s ease-in-out}@keyframes playBtnRotate-97809705{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(.95)}to{transform:rotate(90deg) scale(1)}}.animation-scale[data-v-97809705]{animation:playBtnScale-97809705 .3s ease}@keyframes playBtnScale-97809705{0%{transform:scale(1)}50%{transform:scale(.8)}to{transform:scale(1)}}.animation-flip[data-v-97809705]{animation:playBtnFlip-97809705 .4s ease}@keyframes playBtnFlip-97809705{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.animation-slide[data-v-97809705]{animation:playBtnSlide-97809705 .3s ease}@keyframes playBtnSlide-97809705{0%{transform:translate(-10px);opacity:.5}to{transform:translate(0);opacity:1}}.animation-none[data-v-97809705]{animation:none}ul[data-v-97809705],ol[data-v-97809705]{list-style:none;padding-left:0;margin-left:0}li[data-v-97809705]{list-style:none!important;padding-left:0;margin-left:0}li[data-v-97809705]:before,li[data-v-97809705]::marker{display:none!important;content:none!important}.iconfont[data-v-97809705]{display:inline-block}.d-flex-x[data-v-97809705],.d-flex-y[data-v-97809705],.flex-center[data-v-97809705]{display:flex}.d-flex-x[data-v-97809705]{align-items:center}.d-flex-y[data-v-97809705]{justify-content:center}.flex-center[data-v-97809705]{justify-content:center;align-items:center}.mr5[data-v-97809705]{margin-right:5px}.mr10[data-v-97809705]{margin-right:10px}.ml5[data-v-97809705]{margin-left:5px}.ml10[data-v-97809705]{margin-left:10px}.d-pointer[data-v-97809705]{cursor:pointer}.player-wrap[data-v-97809705]{position:relative;overflow:hidden;background-color:#000}.player-wrap.web-full-screen[data-v-97809705]{z-index:9999999;position:fixed;left:0;top:0;width:100vw!important;height:100vh!important}.player-wrap .Player[data-v-97809705]{position:relative;z-index:1;width:100%;height:100%}.player-wrap .Player .player-video-poster[data-v-97809705]{position:absolute;height:100%;width:100%;top:0;left:0}.player-wrap .Player .player-video-poster img[data-v-97809705]{display:block;width:100%;height:100%;object-fit:cover}.player-wrap .Player .Player-video[data-v-97809705]{width:100%;height:100%;transition:.2s}.player-wrap .Player .Player-video.video-mirror[data-v-97809705]{transform:rotateY(180deg)}.player-wrap .player-control[data-v-97809705]{transition:.1s;transform:translateY(45px);position:absolute;z-index:2;left:0;bottom:0;height:56px;width:100%;color:#fff}.player-wrap .player-control .control-progress[data-v-97809705]{width:100%;position:relative;height:10px;cursor:pointer}.player-wrap .player-control .control-progress .progress-bar[data-v-97809705]{position:absolute;left:0;right:0;bottom:0;width:100%;transition:height .1s;height:3px;z-index:1}.player-wrap .player-control .control-progress .progress-bar[data-v-97809705] .progress__runway{transition:height .1s;height:100%}.player-wrap .player-control .control-progress .progress-bar[data-v-97809705] .progress__runway .progress__bar:before{transform:translateY(-50%) scale(0)}.player-wrap .player-control .control-progress:hover .progress-bar[data-v-97809705]{height:100%}.player-wrap .player-control .control-progress:hover .progress-bar[data-v-97809705] .progress__bar:before{transform:translateY(-50%) scale(1)!important}.player-wrap .player-control .control-tool[data-v-97809705]{position:absolute;padding:0 10px;background:#000c;display:flex;justify-content:space-between;align-items:center;top:10px;left:0;bottom:0;width:100%;box-sizing:border-box}.player-wrap .player-control .control-tool .tool-bar[data-v-97809705]{display:flex;height:100%}.player-wrap .player-control .control-tool .tool-bar .speed[data-v-97809705]{opacity:.9}.player-wrap .player-control .control-tool .tool-bar .speed[data-v-97809705]:hover{opacity:1;font-weight:700}.player-wrap .player-control .control-tool .tool-bar .tool-item[data-v-97809705]{position:relative;height:100%;cursor:pointer;text-align:center;padding:0 8px;display:flex;align-items:center;font-size:13px}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main[data-v-97809705]{position:absolute;white-space:nowrap;z-index:2;bottom:90%;left:50%;padding:6px 16px;box-sizing:border-box;display:none;background:#000000f2;border-radius:5px;transform:translate(-50%)}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main[data-v-97809705]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:rgba(0,0,0,.95) transparent transparent transparent}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main[data-v-97809705]{padding:0 10px}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main li[data-v-97809705]{cursor:pointer;line-height:34px;font-size:12px;color:#fff}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main li[data-v-97809705]:hover{opacity:.8}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.speed-box .speed-main li.speed-active[data-v-97809705]{color:rgba(var(--primary-color),1);font-weight:700}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main[data-v-97809705]{padding:0 10px}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main li[data-v-97809705]{cursor:pointer;line-height:34px;font-size:12px;color:#fff;white-space:nowrap}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main li[data-v-97809705]:hover{opacity:.8}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.quality-box .quality-main li.quality-active[data-v-97809705]{color:rgba(var(--primary-color),1);font-weight:700}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box[data-v-97809705]{height:160px;width:50px;align-items:center;justify-content:center}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box .volume-main[data-v-97809705]{height:90%;display:flex;width:60px;flex-direction:column;align-items:center}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box .volume-main .volume-text-size[data-v-97809705]{margin-bottom:10px;font-size:12px;font-weight:400}.player-wrap .player-control .control-tool .tool-bar .tool-item .tool-item-main.volume-box .volume-main.is-muted[data-v-97809705] .progress__bar{height:0!important}.player-wrap .player-control .control-tool .tool-bar .tool-item:hover .tool-item-main[data-v-97809705]{display:flex}.player-wrap .player-control .control-tool .tool-time[data-v-97809705]{font-size:12px;color:#fff;font-weight:300}.player-wrap .player-control .control-tool .tool-time .total-time[data-v-97809705]{color:#fffc}.player-wrap.player-wrap-hover .player-control[data-v-97809705]{transform:translateY(0)}.player-state[data-v-97809705],.player-input[data-v-97809705]{position:absolute;left:0;top:0;right:0;bottom:40px;display:flex;justify-content:center;align-items:center;overflow:hidden;z-index:1}.player-input[data-v-97809705]{width:100%;border:none;opacity:0;cursor:default}.play-btn[data-v-97809705]{width:90px;height:90px;color:#fff;display:flex;align-items:center;justify-content:center;background-color:#000000b3;border-radius:50%;position:absolute;cursor:pointer}.play-btn.play-btn-center[data-v-97809705]{top:50%;left:50%}.play-btn.play-btn-bottom-right[data-v-97809705]{bottom:80px;right:20px}.play-btn.play-btn-bottom-left[data-v-97809705]{bottom:80px;left:20px}.play-btn[data-v-97809705]:hover{background-color:#000000d9;transition:background-color .3s ease}.play-btn[data-v-97809705] svg{transition:transform .3s ease}.play-btn[data-v-97809705]:hover svg{transform:scale(1.05)}@keyframes playBtnPulse-97809705{0%,to{box-shadow:0 0 #fff6}50%{box-shadow:0 0 0 20px #fff0}}.player-lightoff[data-v-97809705]{position:fixed;left:0;top:0;width:100vw;height:100vh;background-color:#000000e6}.is-lightoff[data-v-97809705]{z-index:999998}.player-wrap[data-v-97809705]{--primary-color: var(--68c80928);width:var(--6a50761e);height:var(--74215862);max-width:100%;border-radius:var(--0a15248d);overflow:hidden}.player-status-indicator[data-v-97809705]{position:absolute;z-index:10;pointer-events:none;top:10px;left:10px}.player-status-indicator.status-position-top-left[data-v-97809705]{top:10px;left:10px;right:auto;bottom:auto}.player-status-indicator.status-position-top-left .status-badge[data-v-97809705]{animation:slideInLeft-97809705 .3s ease-out}.player-status-indicator.status-position-top-right[data-v-97809705]{top:10px;right:10px;left:auto;bottom:auto}.player-status-indicator.status-position-top-right .status-badge[data-v-97809705]{animation:slideInRight-97809705 .3s ease-out}.player-status-indicator.status-position-bottom-left[data-v-97809705]{bottom:60px;left:10px;top:auto;right:auto}.player-status-indicator.status-position-bottom-left .status-badge[data-v-97809705]{animation:slideInLeft-97809705 .3s ease-out}.player-status-indicator.status-position-bottom-right[data-v-97809705]{bottom:60px;right:10px;top:auto;left:auto}.player-status-indicator.status-position-bottom-right .status-badge[data-v-97809705]{animation:slideInRight-97809705 .3s ease-out}.player-status-indicator .status-badge[data-v-97809705]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000004d;transition:all .3s ease;opacity:1}.player-status-indicator .status-badge.status-playing[data-v-97809705]{background:#008000b3}.player-status-indicator .status-badge.status-paused[data-v-97809705]{background:#ffa500b3}.player-status-indicator .status-badge.status-ended[data-v-97809705]{background:#808080b3}@keyframes slideInLeft-97809705{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight-97809705{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn-97809705{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.icon[data-v-0d1e04ea]{display:inline-block;cursor:pointer;overflow:hidden}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, GlobalComponents, GlobalDirectives } from 'vue';
|
|
2
2
|
import { QualityOption } from './package/config';
|
|
3
|
+
import { HlsConfig } from './package/types/hls';
|
|
3
4
|
declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {
|
|
4
5
|
video: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
|
|
5
6
|
width: {
|
|
@@ -156,6 +157,17 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
|
|
|
156
157
|
type: BooleanConstructor;
|
|
157
158
|
default: boolean;
|
|
158
159
|
};
|
|
160
|
+
hlsConfig: {
|
|
161
|
+
type: PropType<HlsConfig>;
|
|
162
|
+
default: () => {
|
|
163
|
+
enabled: boolean;
|
|
164
|
+
autoQuality: boolean;
|
|
165
|
+
lowLatencyMode: boolean;
|
|
166
|
+
maxBufferLength: number;
|
|
167
|
+
debug: boolean;
|
|
168
|
+
startLevel: number;
|
|
169
|
+
};
|
|
170
|
+
};
|
|
159
171
|
}>> & Readonly<{}>, {
|
|
160
172
|
play: () => Promise<void>;
|
|
161
173
|
pause: () => void;
|
|
@@ -193,6 +205,7 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
|
|
|
193
205
|
statusIndicator: Record<string, any>;
|
|
194
206
|
videoId: string;
|
|
195
207
|
disableContextMenu: boolean;
|
|
208
|
+
hlsConfig: HlsConfig;
|
|
196
209
|
}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {
|
|
197
210
|
playerWrap: HTMLDivElement;
|
|
198
211
|
v: HTMLVideoElement;
|
|
@@ -360,6 +373,17 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
|
|
|
360
373
|
type: BooleanConstructor;
|
|
361
374
|
default: boolean;
|
|
362
375
|
};
|
|
376
|
+
hlsConfig: {
|
|
377
|
+
type: PropType<HlsConfig>;
|
|
378
|
+
default: () => {
|
|
379
|
+
enabled: boolean;
|
|
380
|
+
autoQuality: boolean;
|
|
381
|
+
lowLatencyMode: boolean;
|
|
382
|
+
maxBufferLength: number;
|
|
383
|
+
debug: boolean;
|
|
384
|
+
startLevel: number;
|
|
385
|
+
};
|
|
386
|
+
};
|
|
363
387
|
}>> & Readonly<{}>, {
|
|
364
388
|
play: () => Promise<void>;
|
|
365
389
|
pause: () => void;
|
|
@@ -397,6 +421,7 @@ declare const _default: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixi
|
|
|
397
421
|
statusIndicator: Record<string, any>;
|
|
398
422
|
videoId: string;
|
|
399
423
|
disableContextMenu: boolean;
|
|
424
|
+
hlsConfig: HlsConfig;
|
|
400
425
|
}> | null;
|
|
401
426
|
}, HTMLDivElement>;
|
|
402
427
|
export default _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* 组件属性
|
|
4
|
+
*/
|
|
5
|
+
interface Props {
|
|
6
|
+
/** 是否为直播流 */
|
|
7
|
+
isLive: boolean;
|
|
8
|
+
/** 是否在直播边缘(最新位置) */
|
|
9
|
+
isLiveEdge: boolean;
|
|
10
|
+
/** 当前播放时间(秒),可能为 undefined */
|
|
11
|
+
currentTime?: number;
|
|
12
|
+
/** 视频总时长(秒),可能为 undefined */
|
|
13
|
+
duration?: number;
|
|
14
|
+
/** 延迟阈值(秒),超过此时间显示"回到直播"按钮 */
|
|
15
|
+
delayThreshold?: number;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
|
|
18
|
+
"go-to-live": () => any;
|
|
19
|
+
}, string, PublicProps, Readonly<Props> & Readonly<{
|
|
20
|
+
"onGo-to-live"?: (() => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
currentTime: number;
|
|
23
|
+
duration: number;
|
|
24
|
+
delayThreshold: number;
|
|
25
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
26
|
+
export default _default;
|
|
@@ -13,5 +13,5 @@ declare const _default: DefineComponent<ExtractPropTypes<{
|
|
|
13
13
|
};
|
|
14
14
|
}>> & Readonly<{}>, {
|
|
15
15
|
text: string;
|
|
16
|
-
}, {}, {}, {}, string, ComponentProvideOptions, true, {},
|
|
16
|
+
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
|
|
17
17
|
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { QualityLevel } from '../types/hls';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
interface Props {
|
|
4
|
+
levels: QualityLevel[];
|
|
5
|
+
currentLevel: number;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
8
|
+
change: (level: number) => any;
|
|
9
|
+
}, string, PublicProps, Readonly<Props> & Readonly<{
|
|
10
|
+
onChange?: ((level: number) => any) | undefined;
|
|
11
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
export default _default;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
2
|
import { QualityOption } from '../config';
|
|
3
|
+
import { HlsConfig } from '../types/hls';
|
|
3
4
|
declare const _default: DefineComponent<ExtractPropTypes<{
|
|
4
5
|
width: {
|
|
5
6
|
type: StringConstructor;
|
|
@@ -155,6 +156,17 @@ declare const _default: DefineComponent<ExtractPropTypes<{
|
|
|
155
156
|
type: BooleanConstructor;
|
|
156
157
|
default: boolean;
|
|
157
158
|
};
|
|
159
|
+
hlsConfig: {
|
|
160
|
+
type: PropType<HlsConfig>;
|
|
161
|
+
default: () => {
|
|
162
|
+
enabled: boolean;
|
|
163
|
+
autoQuality: boolean;
|
|
164
|
+
lowLatencyMode: boolean;
|
|
165
|
+
maxBufferLength: number;
|
|
166
|
+
debug: boolean;
|
|
167
|
+
startLevel: number;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
158
170
|
}>, {
|
|
159
171
|
play: () => Promise<void>;
|
|
160
172
|
pause: () => void;
|
|
@@ -314,6 +326,17 @@ declare const _default: DefineComponent<ExtractPropTypes<{
|
|
|
314
326
|
type: BooleanConstructor;
|
|
315
327
|
default: boolean;
|
|
316
328
|
};
|
|
329
|
+
hlsConfig: {
|
|
330
|
+
type: PropType<HlsConfig>;
|
|
331
|
+
default: () => {
|
|
332
|
+
enabled: boolean;
|
|
333
|
+
autoQuality: boolean;
|
|
334
|
+
lowLatencyMode: boolean;
|
|
335
|
+
maxBufferLength: number;
|
|
336
|
+
debug: boolean;
|
|
337
|
+
startLevel: number;
|
|
338
|
+
};
|
|
339
|
+
};
|
|
317
340
|
}>> & Readonly<{}>, {
|
|
318
341
|
speed: boolean;
|
|
319
342
|
loop: boolean;
|
|
@@ -347,6 +370,7 @@ declare const _default: DefineComponent<ExtractPropTypes<{
|
|
|
347
370
|
statusIndicator: Record<string, any>;
|
|
348
371
|
videoId: string;
|
|
349
372
|
disableContextMenu: boolean;
|
|
373
|
+
hlsConfig: HlsConfig;
|
|
350
374
|
}, {}, {}, {}, string, ComponentProvideOptions, true, {
|
|
351
375
|
playerWrap: HTMLDivElement;
|
|
352
376
|
v: HTMLVideoElement;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { HlsConfig, HlsPlayerState, QualityLevel } from '../types/hls';
|
|
3
|
+
/**
|
|
4
|
+
* HLS Composable 返回类型
|
|
5
|
+
*/
|
|
6
|
+
export interface UseHlsReturn {
|
|
7
|
+
state: Ref<HlsPlayerState>;
|
|
8
|
+
currentQuality: Ref<QualityLevel | null>;
|
|
9
|
+
isUsingHls: Ref<boolean>;
|
|
10
|
+
initHls: (src: string, startPosition?: number) => boolean;
|
|
11
|
+
destroyHls: () => void;
|
|
12
|
+
changeQuality: (levelIndex: number) => void;
|
|
13
|
+
setAutoQuality: () => void;
|
|
14
|
+
getStats: () => {
|
|
15
|
+
bandwidth: number;
|
|
16
|
+
droppedFrames: number;
|
|
17
|
+
totalFrames: number;
|
|
18
|
+
bufferLength: number;
|
|
19
|
+
latency: number;
|
|
20
|
+
} | null;
|
|
21
|
+
goToLive: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* HLS 播放 Composable
|
|
25
|
+
* @param videoElement 视频元素引用
|
|
26
|
+
* @param options HLS 配置选项
|
|
27
|
+
*/
|
|
28
|
+
export declare function useHls(videoElement: Ref<HTMLVideoElement | null>, options?: HlsConfig): UseHlsReturn;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
import { ContextMenuConfig, ContextMenuItem } from '../types/contextmenu';
|
|
3
|
+
import { HlsConfig } from '../types/hls';
|
|
3
4
|
/**
|
|
4
5
|
* 视频清晰度配置接口
|
|
5
6
|
*/
|
|
@@ -208,4 +209,15 @@ export declare const defaultConfig: {
|
|
|
208
209
|
type: BooleanConstructor;
|
|
209
210
|
default: boolean;
|
|
210
211
|
};
|
|
212
|
+
hlsConfig: {
|
|
213
|
+
type: PropType<HlsConfig>;
|
|
214
|
+
default: () => {
|
|
215
|
+
enabled: boolean;
|
|
216
|
+
autoQuality: boolean;
|
|
217
|
+
lowLatencyMode: boolean;
|
|
218
|
+
maxBufferLength: number;
|
|
219
|
+
debug: boolean;
|
|
220
|
+
startLevel: number;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
211
223
|
};
|
|
@@ -3,6 +3,28 @@ import { default as VueVideoPlus } from './components/VueVideoPlus.vue';
|
|
|
3
3
|
import { default as SvgIcon } from './components/SvgIcon.vue';
|
|
4
4
|
import { default as Icon } from './components/Icon.vue';
|
|
5
5
|
declare const VueVideoPlusPlugin: Plugin;
|
|
6
|
+
/**
|
|
7
|
+
* 播放器实例暴露的方法类型
|
|
8
|
+
* 对应 defineExpose 中暴露的 play / pause / togglePlay
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { ref } from 'vue'
|
|
13
|
+
* import { VueVideoPlus } from 'vue-video-plus'
|
|
14
|
+
* import type { VueVideoInstance } from 'vue-video-plus'
|
|
15
|
+
*
|
|
16
|
+
* const playerRef = ref<VueVideoInstance | null>(null)
|
|
17
|
+
* playerRef.value?.play()
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export interface VueVideoInstance {
|
|
21
|
+
/** 播放视频 */
|
|
22
|
+
play: () => void;
|
|
23
|
+
/** 暂停视频 */
|
|
24
|
+
pause: () => void;
|
|
25
|
+
/** 切换播放/暂停状态 */
|
|
26
|
+
togglePlay: () => void;
|
|
27
|
+
}
|
|
6
28
|
export { VueVideoPlus, SvgIcon, Icon };
|
|
7
29
|
export { VueVideoPlusPlugin };
|
|
8
30
|
export default VueVideoPlusPlugin;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { default as Hls } from 'hls.js';
|
|
2
|
+
/**
|
|
3
|
+
* 清晰度级别
|
|
4
|
+
*/
|
|
5
|
+
export interface QualityLevel {
|
|
6
|
+
/** 级别索引 */
|
|
7
|
+
index: number;
|
|
8
|
+
/** 清晰度高度(如 1080, 720) */
|
|
9
|
+
height: number;
|
|
10
|
+
/** 清晰度宽度 */
|
|
11
|
+
width: number;
|
|
12
|
+
/** 码率 */
|
|
13
|
+
bitrate: number;
|
|
14
|
+
/** 清晰度标签(如 "1080P", "720P") */
|
|
15
|
+
label: string;
|
|
16
|
+
/** 是否为当前选中 */
|
|
17
|
+
active?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* HLS 配置选项
|
|
21
|
+
*/
|
|
22
|
+
export interface HlsConfig {
|
|
23
|
+
/** 是否启用 HLS 支持 */
|
|
24
|
+
enabled?: boolean;
|
|
25
|
+
/** 是否启用自动清晰度切换(ABR) */
|
|
26
|
+
autoQuality?: boolean;
|
|
27
|
+
/** 是否启用低延迟模式(适用于直播) */
|
|
28
|
+
lowLatencyMode?: boolean;
|
|
29
|
+
/** 最大缓冲长度(秒) */
|
|
30
|
+
maxBufferLength?: number;
|
|
31
|
+
/** 最大最大缓冲长度(秒) */
|
|
32
|
+
maxMaxBufferLength?: boolean;
|
|
33
|
+
/** 是否启用调试模式 */
|
|
34
|
+
debug?: boolean;
|
|
35
|
+
/** 启动级别(-1 为自动) */
|
|
36
|
+
startLevel?: number;
|
|
37
|
+
/** HLS.js 原始配置 */
|
|
38
|
+
hlsJsConfig?: Partial<Hls['config']>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* HLS 播放器状态
|
|
42
|
+
*/
|
|
43
|
+
export interface HlsPlayerState {
|
|
44
|
+
/** HLS 实例 */
|
|
45
|
+
hls: any;
|
|
46
|
+
/** 是否支持 HLS */
|
|
47
|
+
isSupported: boolean;
|
|
48
|
+
/** 是否已加载 */
|
|
49
|
+
isLoaded: boolean;
|
|
50
|
+
/** 清晰度列表 */
|
|
51
|
+
levels: QualityLevel[];
|
|
52
|
+
/** 当前清晰度索引(-1 为自动) */
|
|
53
|
+
currentLevel: number;
|
|
54
|
+
/** 是否为直播流 */
|
|
55
|
+
isLive: boolean;
|
|
56
|
+
/** 是否在直播边缘 */
|
|
57
|
+
isLiveEdge: boolean;
|
|
58
|
+
/** 错误信息 */
|
|
59
|
+
error: HlsError | null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* HLS 错误类型
|
|
63
|
+
*/
|
|
64
|
+
export interface HlsError {
|
|
65
|
+
/** 错误类型 */
|
|
66
|
+
type: string;
|
|
67
|
+
/** 错误详情 */
|
|
68
|
+
details: string;
|
|
69
|
+
/** 是否致命 */
|
|
70
|
+
fatal: boolean;
|
|
71
|
+
/** 错误消息 */
|
|
72
|
+
message?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* HLS 统计信息
|
|
76
|
+
*/
|
|
77
|
+
export interface HlsStats {
|
|
78
|
+
/** 当前带宽(bps) */
|
|
79
|
+
bandwidth: number;
|
|
80
|
+
/** 丢帧数 */
|
|
81
|
+
droppedFrames: number;
|
|
82
|
+
/** 总帧数 */
|
|
83
|
+
totalFrames: number;
|
|
84
|
+
/** 缓冲长度(秒) */
|
|
85
|
+
bufferLength: number;
|
|
86
|
+
/** 延迟(ms) */
|
|
87
|
+
latency: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* HLS 事件类型
|
|
91
|
+
*/
|
|
92
|
+
export interface HlsEvents {
|
|
93
|
+
/** HLS 加载完成 */
|
|
94
|
+
'hls-loaded': () => void;
|
|
95
|
+
/** 清晰度改变 */
|
|
96
|
+
'quality-change': (level: QualityLevel) => void;
|
|
97
|
+
/** HLS 错误 */
|
|
98
|
+
'hls-error': (error: HlsError) => void;
|
|
99
|
+
/** 到达直播边缘 */
|
|
100
|
+
'live-edge-reached': () => void;
|
|
101
|
+
/** 清单解析完成 */
|
|
102
|
+
'manifest-parsed': (levels: QualityLevel[]) => void;
|
|
103
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HLS 检测工具
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 检测 URL 是否为 HLS 流
|
|
6
|
+
*/
|
|
7
|
+
export declare function isHlsUrl(url: string): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 检测是否为直播流
|
|
10
|
+
* @param duration 视频时长
|
|
11
|
+
*/
|
|
12
|
+
export declare function isLiveStream(duration: number): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 获取清晰度标签
|
|
15
|
+
*/
|
|
16
|
+
export declare function getQualityLabel(height: number): string;
|
|
17
|
+
/**
|
|
18
|
+
* 格式化码率
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatBitrate(bitrate: number): string;
|
|
21
|
+
/**
|
|
22
|
+
* 格式化带宽
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatBandwidth(bandwidth: number): string;
|