sldz-easyplayer 1.0.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/README.md +260 -0
- package/dist/sldz-easyplayer.js +1463 -0
- package/dist/sldz-easyplayer.umd.cjs +2 -0
- package/dist/style.css +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(function(T,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(T=typeof globalThis<"u"?globalThis:T||self,e(T.SldzEasyPlayer={},T.Vue))})(this,function(T,e){"use strict";var w=typeof document<"u"?document.currentScript:null;class me{constructor(t,n={}){return this.container=t,this.options=n,this.instance=null,this.init(),new Proxy(this,{get(o,a){if(a in o)return o[a];if(o.instance&&a in o.instance){const s=o.instance[a];return typeof s=="function"?s.bind(o.instance):s}},set(o,a,s){return a==="instance"||a==="container"?(o[a]=s,!0):o.instance?(o.instance[a]=s,!0):!1}})}init(){if(!this.container)return null;if(typeof window.EasyPlayerPro>"u")return console.error("[EasyPlayer] EasyPlayerPro SDK 未加载!请先在页面中引入 EasyPlayerPro SDK,确保 window.EasyPlayerPro 可用。"),null;const n={...{audio:!0,record:!0,quality:!0,screenshot:!0},...this.options.btns,fullscreen:!1,zoom:!1,ptz:!1,stretch:!1,play:!1},o={isLive:!0,bufferTime:.2,stretch:!1,MSE:!0,WCS:!0,isBand:!0,quality:["超清","高清","标清"],ptzConfig:{ptz:!1,ptzMore:!1},btns:n};this.instance=new window.EasyPlayerPro(this.container,o)}}const pe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAADwklEQVR4AexYzWsTWxT/nfCaBrpx8YQ+ePAe6EIRxKIuFIUimqR+btypqKigbqyfIH5sRMQv1J2gYAX/AaGLtFVw4UJQqagLFy5cCBZ04XKS2hx/Z2JCMncmualpEDGcM+fec8/Hb869c+dOUvjFf38A/uwE/b4V1MHBeZrN7tB87p7mspOUn8n6g9nOPtdc7o7ms7vNdraVbLuCOrRugRIUMr2fkZIHTLwHIsso/yZXiW1ZAcF+QEbQm/5EnzsEvARt/rwBsgoZzWevQnveMcce8l9kPxLJ0JBg9YXmsjcsFvte5AVQh4YWsGKTgJwA4A+Mxg1kQEWGWdFJ3bjuv4axhE4qQV9Tc50th5afUrGI3BkSWYRyz7MwdouITQGGd5mSUcboJ3ea+rmGR8PZaRI5EWC4Tso9BfrOBTiGDakf5ZnRMFfYdS+JALlOLtHcf1qPDAOXr1T42HG6epJNdyZ9Ick6FqDmcrYdHExycvR9fUA+DyxdWuENGwDTOYYJCsWw5gYXxo3GAuT+NQx74uI85kInwp2h90xcaAcg18M8qO6MM55bne4Mc0eSOACRSW/ravWqgKyK6fSmarcqXYCQNdXBrsuUrI/mjAGo9l6N2nWnr27uGIDyf3fQxGQR+TeqjQEInkSiZl3rO7njAHYNjU+iOIBffBwbbGZmAON6ZalU3/NtO7ldgKoffaPV7IIAOHsWuH69wqdOAdPTtWH/hn6I2roARV5Fjbz6r3hcfDQBGL957eXiGKmb2wWI8mPH0Udx6DBw7nyF9/Hw7OMTtRG1c2eD1gUYTNv571uDVatOHw8LW7cCq1dXePv29g4LFl81QFB6aM16dgDKkydfaWAfQxTdJHnwI3dDUgdgOKq4SOlfRXuCjelUo3aeYque6q2ab10jFqCMjb0H9GadXfNm9Ck+fbrNp1huy/j427gksQBDw6B0jtI+MSk8qP4ptraHS2iieIdikXcU9pxLIkCuhwCKLfSYIs8VTfFoNxTmSsiQCNDsw6ku62a2p8idpikwthQKzuZcn6gpQDPk2ngJyCqAU8FLR8imVbG2Ert5xJYAzT28y6A4wCm/yc8BvtdMOyvmzqDXuOYGwtnxCOEF0OLYOmHQowS5kv27bQIlMIzQd7EUxk9aLHj+vAFW43Fa3kph7ACKpX+4FdmfSHcpX3C8/iTyhTdg7/QRzJR3ISjOp89e3iC3L1q2QW0DrMZmFb6yGveZ+ADlSkoDIZTG82VsfIDtvTIxEfuGqMZpJWcNsFXgTo3/AfizlfwOAAD//5WbvAQAAAAGSURBVAMAXZoxYPRu590AAAAASUVORK5CYII=",ge="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAADOklEQVR4AezbjXETMRAF4JhGSAkpgXSQDkgJdBCnAzoAKmCoIHTAUAFQiXjvxvKMPB5bd2+l3UyW0fruTCQ9fVZ+5jx+d5P/JIEElPhubhIwAUUBsXvuwAQUBcTuuQMTUBQQu+cOTEBRQOyeOzABRQGx+1vcgSJZ2z0BW4/VVwm4mqztkICtx+orE8BSylMp5U8p5Usp5XZ1ikkdmA31HfUL9WQxrQx4CLJHGMI94viC53iO0zjtkOkFiR5Qd6g9nmNunG5vMiCmZiAcjo14oRABtWRCQh5xOLaPx7ONJxaA/87MzaAhEC/gMfZPPihlAfgJAf6iTps74hU8Zn4+Db32Wgbc7XYMco+JecShaW6IHXj3h+xN4LUXMiAnPAQJgzgLj2s3AeRAURBn4nHdZoAczBtxNh7XbArIAccgcuTL5YHHROaAHHQ2ohce1zoEkAPPQvTE4zqHAXLw0YjeeFzjUEBOMAoxAh7XNxyQk1gjRsHj2qYAciIrxEh4XNc0QE6mIkbD45qmAnLCrYgR8bie6YCcdC1iVDyuxQWQE/ciRsbjOtwAOXkPIr6Ot+F5WwynTePtM5NbUs2oKy9cAZm1AzEsHvOPA+TonXUF8XSUEDuvhgoByDCdiKHwmDsMIMO8xgoDeOW3bbXlz8MQ7/bVQCEAO/Fq5lCI7oBX8Pgzj1Xx6jEMoitgBx7f6WOFRXQD7MHjb2YWtl1YRBfAXjzALS0y4nTAtXiLIB6iIk4F3IoHv6VFRJwGqOItgniIhjgF0AoPfkuLhNgALumMH6zxarwoiEMBR+FFQhwGOBovCuIQwFl4ERDNAWfjeSOaAnrheSKaAXrjeSGaAEbB80CUAaPhzUaUARGYH5fiDU6cNo338Fzft+34Y/tzk3jDhQXghzPzuuPVTFcQ39ev23q0APx6MnkYvJrrAuKP+jVbjzIgwvFbmB+Z+o0QDOT6bYsMZxtyLi8s/vMbip/ve8Zze5xLTQbk7AyCukM9oBiUT4crZkM9om5RfOHljCaAcopXPEACii9eAiagKCB2zx2YgKKA2D13YAKKAmL33IEJKAqI3XMHvkFAccm23XMHip4JmICigNj9PwAAAP//PLIdGAAAAAZJREFUAwAArQK/DippwgAAAABJRU5ErkJggg==",j=(i,t)=>{const n=i.__vccOpts||i;for(const[o,a]of t)n[o]=a;return n},ye={key:0,class:"player-header"},he={class:"player-header-title"},Ce={class:"player-header-content"},we={class:"player-header-right"},Ee=j({__name:"Header",props:{visible:{type:Boolean,default:!1},warning:{type:Boolean,default:!1},closeHeader:{type:Boolean,default:!0},dataInfo:{type:Object,default:()=>({})}},emits:["handle"],setup(i,{emit:t}){const n=t,o=a=>{n("handle",a)};return(a,s)=>i.visible?(e.openBlock(),e.createElementBlock("div",ye,[e.createElementVNode("div",he,[e.createElementVNode("span",{style:e.normalizeStyle({background:i.dataInfo.channelStatus=="Y"?"#14CC70":"#FF4847"})},null,4),e.createTextVNode(e.toDisplayString(i.dataInfo.channelName||i.dataInfo.deviceName),1)]),e.createElementVNode("div",Ce,[e.renderSlot(a.$slots,"default",{},void 0,!0)]),e.createElementVNode("div",we,[i.warning?(e.openBlock(),e.createElementBlock("img",{key:0,class:"close",src:pe,alt:"",onClick:s[0]||(s[0]=r=>o("warn"))})):e.createCommentVNode("",!0),i.closeHeader?(e.openBlock(),e.createElementBlock("img",{key:1,class:"close",src:ge,alt:"",onClick:s[1]||(s[1]=r=>o("close"))})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)}},[["__scopeId","data-v-ec1dbde0"]]),W="data:image/png;base64,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",Be={key:0,class:"loading-status-wrapper"},be={class:"loading-content"},ve={class:"status-icon"},ke=["src","alt"],Re={class:"status-title"},Ue={class:"status-description"},Ie=j({__name:"LoadingStatus",props:{visible:{type:Boolean,default:!1},status:{type:String,default:"loading",validator:i=>["loading","offline","error","failed","empty"].includes(i)},customConfig:{type:Object,default:()=>({})}},setup(i){const t=i,n=e.computed(()=>({...{loading:{title:"正在加载...",description:"视频加载中,请稍候",iconClass:"loading-icon"},offline:{title:"设备已离线",description:"设备处于离线状态,无法播放视频",iconClass:"offline-icon",icon:W},error:{title:"播放异常",description:"视频播放出现异常,请稍后重试",iconClass:"error-icon",icon:W},failed:{title:"拉流失败",description:"无法拉取视频流,请联系管理员",iconClass:"failed-icon",icon:W},empty:{title:"暂无视频",description:"暂时没有可以播放的视频",iconClass:"offline-icon",icon:W}}[t.status],...t.customConfig}));return(o,a)=>i.visible?(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("div",be,[e.createElementVNode("div",ve,[n.value.icon?(e.openBlock(),e.createElementBlock("img",{key:0,src:n.value.icon,alt:n.value.title},null,8,ke)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["default-icon",n.value.iconClass])},null,2))]),e.createElementVNode("h4",Re,e.toDisplayString(n.value.title),1),e.createElementVNode("p",Ue,e.toDisplayString(n.value.description),1)])])):e.createCommentVNode("",!0)}},[["__scopeId","data-v-e1a38b30"]]);class Se{constructor(t={}){this.options={icons:{play:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyklEQVR4AeyUsQrCMBCGG0Fw0M1NwcXFTVAfSxBcuzgIDoKLj+QoiJvg6qiTgotwfi027YW4hI4p9/Vyvf/+wA1tJDU/ylBEBiJyEpE37P7dRW8CV3jCsqpThjRSGEMLFoinZF9s+DiENmzR9cl5uIbd/Gv56pVHdXJ1tnYN1VRIEQ1DtqZn4g71PkKquMOQrekZd4d33U4eTl2Ut+Lwy3bONVwhOMIH9saYA9kX2X/zQuMFKTp7gTLMGjCDJswRe4PeGUbQgXVV9AUAAP//GmIRPQAAAAZJREFUAwCf2jQpKsdB4QAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),pause:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABGUlEQVR4AayQsa4BQRiFd29uce8bKBRKiSg8gGglNDqNhE6joyNaCaVESSHxAiR0SgmJkkLpARQSCsn4RuzEbpad3bU5Z87sJP83J/NjfPmzAYUQbSHEBU9wJMhdNiCAJv7DRbwGmiN9yQn8fZmOsp8CHWJ5Cb/ecgLdJsoc7oBmSE/pACUkxrIEOsAf2+oC4T1UZf3Y1i8QnmG17bq1DQI0nl+d3AJNkEphgBISZ5ljpbBABbI2YYF7QAWsFBR4g9DDKdM0N6RSEOCB6TSgBr6yt8kvsM+0bLUiXaULPDKdpVENn9m/lQ5wxHQS0IL0lBMoH9sakq3ygCr4ZB16pRPYYUA+9JiUrWakL9mANGnhf1zC2q1eb7wDAAD//+lfkkQAAAAGSURBVAMALFpMKSPTSOsAAAAASUVORK5CYII=",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),fullscreen:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABRUlEQVR4AdSUMUpEMRCG3xMEi20FD6Dn0CPYLSJiKSIi3mSLLbYVVrD0CHoOPYCF5YKN8Pz+YSYkGxfzxMZl/kwy+f9/Ex6Zre6Pf2Y4DMMEXICbDKeb/gvOFOTcK9YT8c2QyTlYgFmGJaR91kV47YFizp2ztgOE4TYFxSPDreOk7/tX5kV47Yxi8KRh2e1oCEPNhScEM4dOoVoF9pfAeGw+gxTrhmnjt5MwfHODd89jUqE1Q46v6x2Q78c4iYum0Jqhb1QfQPUWYJq0ybBF2ML5R4b+AlpuVXFyrV2Zgp7NC3lasX8ooCm0ZohmFyj2NIxEoQ3DkR6b6euGR1wh2pKu8q0STmpfEA5BijD88MoxOdpSa/uSBln3qSEM9eSuKURLUm5tX+Jeor0DnRnydFZgDqwledYbFacC+6l9MZdmQV6J+AUAAP//g2nLXAAAAAZJREFUAwAzko4pTdl9FgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),exitFullscreen:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABdklEQVR4AdSTsUoDQRRFs2JhaWFhEVAJQgQFLYSAP6GgRBE/w9LO0s+IKCjoTwhpRMGAggFTWFhYWFoI47mzs+tsZjZBkibhHd7MfXfeZnZnpipj/kUbGmMWjDGHZc+i1oRarB5tiPEMWiyqkwuBtopwCacQRFnDaeeccdlPg2qVsoZ+g3+NbUO2UYMLuBF0aMCwaMjruCIvaoFtyGAT9mHbMU/+gS/oj08E1eTJ/LtoW5BuOUkSveQ1hA2PJfQe80KgvSMsg+9dQT9HSxtqgNCBRw8tVCkATw9870tmyraczUfOE9SQz16HdQ97DGLvAE8VfK9uj7XaLVPUvX1GefB4Ra8yLwSaHvSG6Huf0Jto+Ve+Y3INt44Psq7YHLk/ZhFUkyfz69jdo6cNOQI6BnvkHUGhDcOiLa/jgNzVArtlDcZFWcNv9wBdMTfM06BauuXc+jc4YahtdMiFYGu6FUeIxxBE9B+yqAt60cECCdRaENxz1X4BAAD//6yu9O4AAAAGSURBVAMAiPuSKSbbGX8AAAAASUVORK5CYII=",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),voiceIdle:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAwNJREFUaEPtmM+rTVEUxz/fKZIJGZBXjBSSkR/JhPT8Cr0nSUQUIvwD+Ac8hBCRgeRJBmRopCcDoSgDP5IBxcCPgaSWs7Wvzrvv3Hv2Ofvc7nl1d93JPWvvtT5rrb322luM86Fxbj89gG5HsBeBXgQiPdCRFDKz48B0YBbwFfgAnJT0JdLeMdMrBzCzh8CKDEO/A/2SHlUJEQRgZgPAgKTBdsq954/lGDhF0reqIHIBvPG3vMLhVhBmtga4F2DYkKSjAXJBIiEAzngXgcbIhDCzvcDFAK0jkpYEyAWJ5AK4VcwsFyIwff4ZJSlIbwhB8EKBEM2gmTZ0BaBAJHIhugZQFURXAaqA6DpALEQtAGIgagNQFqJWAGUgagdQFKKuAK6Fbm7kxrQd7kDMawpDTuCGTPBJ7L28HbjuJ1+QtK+xkJkdBM5kKG/ZAPo1FwJP/xtUsM0oCrAAeOaVPZa0OAWwEbjTwnvtutjdwGU/74Gk/k5GYBLwwyv4BfQlUfjsPTkBeAHMLgJhZmeBA37OqeSucKRjAN7Ql8Bcr8Rdcm6nojAqHULSyczc/M1edp2kkDvF/6ULpZAHOAfs9yv8BJZJep6CmAacB1Ym9+DJgRBPgE+S1hfxvpMtAzAReAdM9co+SpqZpdjMFgFvgMNNFSqrOq0t6v1SAD4KO5MXh6spo0eA5ZL+tPJgxoWnbXUKjUThCKRS5b57ZUgp+p1s4k2S3P+ZoxMQpQF8JA4Bp5usdZvwPfAWeA24lJuRlNj5/rmlr0k+KhJRAB5iNXAJyNwHgalQGiIawEPMA7b5cjgnx+gh90qXAF8BVqVkS0FUApA22MyWJk+Ju/yv8cmdHa7euz7oVWof3QU2xEBUDpAyzlKGnUhaHNfsjRlmdhPYUhai6wA+BV1JdqW5MYLTqRYAHsIVgj1FIWoD4CGuJaf8jhTEoKThdkWhVgAe4kZyfmwFco138p0EGLVpW23iFhvbdbltPd+Y1zGAwAMsWqwHEO3CyAV6EYh0YPT0XgSiXRi5wF8g6llAV+Km2QAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),voicePending:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAwRJREFUaEPtWE2ITlEYfp6yshIbikJszEbYKGQsSKEoU8Ks/GxNUbORZKMos/WzMiZFUSixYELZGNmwMTFFsSErK/W479e5debM99177v3Olal76muae973Pc/z/pz7vpeY54vzHD8aISDpBIAtALY6B70E8IrktdQOS05A0hsAG3sAnSK5KSWJpAQk3QFwsATgXZJDqUgkIyDpKICbkcCGSY5HyhaKpSQQev88AHtmyzx+zkOSLAopCXwBsNwDOUhy0v6XtB3Ac2/vK8kV/1sE5AMiOcs5kgr365JJGYGWQJ0otBHIvVaW42X7dbxvOm0E2gjUzR2n16ZQm0JtCkV6ILjHx0iO+KqSPgNY6T0byPr+D66ZW5fNCe+9vRmSqwL9KwBO5c/CXqoXzOgilvQRwBpn6D7JAwEAmwVsJsiXtdOdbjT7a92o306PkxwO9O8B2O+eTZNcG+PbKgSsHTYgtt6SnDU2ujn4asyhAE6G87GkKQAbnP4kycEYW1UIHANw3TO6jOT3wItF83AuOmculrQ0I/XNs3Wc5I3UBCxnP3lGR0iOhYeUzMVdJzFJlvtWA/laTdJqqnRFR8AsSfLz/BcAm7redSFhtbAXwGa39zr7UvGw2xwsab2b1hY52Tn1UcSiKoGdGagnnkG7WYby26bUXYFAFi27nWxuHvC2dpF8GmurEgEXhVsADgckRrPvPY9iD3V29gC4GICfIHmkip3KBNzhPwAsDg4yMGdJ/ikCIGkBgAsARgO5nySXVAFvsrUIOBL+tZqf+wLABIBnmSenfTCS7B2yw0VvWwA0+toMCdYm0KWoQ9tW5DPuob2h8yIN5SoVbVICjsRpAJeqht7JnyF5uaZuR62vCOQHu/TYDSD/FWF6DKDzC9OsDpEkBIJcX5i1GvsA3A4AHcpahQckf9cB2ksnOQEvKo18iUteA70809RnlJZAbP62EYj0VFvEkY5qTKyxCDSGODDcEvhXnk7+Ji67Jvvdj3VM7RTqF2CZfkugzANlHux3v+z8fP8v3tB2QCJXKRMAAAAASUVORK5CYII=",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),voiceRecording:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAA0xJREFUaEPtmUuoTVEYgL+1pXtLKPdsj4GRgUfk0cVNklIKUQwMGGFArvKqO/C4e+1zRkIoxMCQkhJRBhQmuB5RiGRGuPZmSHKdn7P3uadz7sN+x6l96tSp9b++///3WvtfR9HkH9Xk8ZMD/OsKZlcBy2lH1EIPUEkPtvk4C9j0ASxnF7AVmDYg4NeIcYZi24k0QdID0O4ChHMgM/8eoHqBYgu68DANkPQALPd5cPD9If+BsAuz/h+A7i87UeXjEQPajW1G1RnkIp0KWM6rIXo+iOc1tjk9SChoPTlAZbeBR0GOhlmfn3R3Sg7Q7Xai5GQsAFE7KBZOxdKtKqUA0KtRhhUrCCnbFCfoWLo5QH/auvMK5C2U5BmCvIXyXShZBzVXC2l3O2UZRdE8XMNO8yS2nCMITyma58OmNfxJfKB3CiOMt57h+hM0rXeh+s1AMRVtvgkDER5gnzOJkXzwR0TVgy501Byk8Taq3QeI+CMoxmTstvfpAlSsWe59ED/w8q8OShN7vN/+GHksjMOajBi7auPlwU8LMUY8qK49wzbnhrUVvgIVi9o9gEhpUBv5cPEnssb2OYw2uzIC+LwEUXd945XZduRa9Fj/uYg7E5d6p9CnroDyZ2kxllNsu5kNgN8ut4BlvgO5h2pZjR77tebQHy+3DXkrAWcbxkj9bhzSehVYXNW/hm2uCRu8l8Yowp5syZnKTx6hGF3VvYFtrhxkJ8y9kHauI6zycyEOLWo2+82PUWKKDuC1i7MGoZK56kfdA45iFy6Hcm6564C9IItq8mXaKZlPQunXCcUD8CB6uxDj0ACHF1DGKcZ8e8qeyd8b1rS0wud5iNEJbGhYU6oTXTgdNfh4LVTvxWsT7qAY1eBc5AeGeuGdqqg+YA7IHKC1MXB+IOUN2BPCVW4IwvgV6Dd2yBnNN3UcZHPEDF5HtWxCj3Ej6g3IQRLtet1uZyOKFeB9xw1j9gOKi5TlPsXxl9JwnbwCQ0Whv8yg3Le+dlshVG4uzoV9PYgClg1AJYL60zWF65PhoHKAYcudVyDck5BOC1nObWBpOJf9h7d6iS4E/BkSbDE5QNNfq1SS1NQVCK5yphLJWyjT8IKN5wDBOcpWIq9AtvkNtv4bNaFMQA7/a3wAAAAASUVORK5CYII=",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),ptzControl:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAB7UlEQVR4AYyUsS5EQRSGZzdbKBQKhUKCN1Dq8AYKCQkJD0BCwlOQkPAACgUh4Q0old5gJbZQKBQKiU3W901m7t7dvVdWzn/PnHP++e9xZu42Q8Vfr9drgS1wB97Bb0Ib/wB2wETF1jAiCHEDYhtcg3UwC1oJ8/g1cAUUl8uyb4UgQnZ1QekGKIKL9sZzFehxhc2wumHfGfCFhGGgwxMye6Bsiqw2Go1nklWipMNBCOEMRIsd8gZbtxCT6ZHF9AFRfZ3oXtIITRYO9zyJlN0kwRN1ZxVhDKZAlZ3Cbdmh3TmPTLKTL4Jp4CEMQ8FPavJwhTn3DQU9tZyV5L+lYM5V+W+S8uSzLGxNwcUUWvQA9ClV72pmuqSgrbpzN5Fcj4XE3y2RZxTM8RVDncvBOD7xveQFXcGPFDn850RKqXqXeN5P92ViR8GXHOEtSvLKENaaJy1Pfpn0quBjOcNaklfGk/aAhuGVUVAe9AF7VPCWVAcMm4IrDH4hA8IK8MrgRszR3TYhdykdgWGzg2KmNTMr7zlA68cO/U7t8rJcTessukxcNTPS0c4RU2Pg1+aQUtU3HUWp6XEjZiPHORs7NOANXaDoJrHzwP1rzn2TPfvAsUVyIRgjHhRtfYGlX4A3wFN2g1Dknto28LDksuzbHwAAAP//IxdcMgAAAAZJREFUAwA7Yrnj1h+tswAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),customAction:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAB8klEQVR4AbyUMSiEYRjHvxNFGQwM6gbiBmW4kUxC6JSBsiinrpCFUm4wKGQ53Q033EAMlIFMiqJuUDJZDAblBmUxUAaDOr//1/e97nPfdwvR8//+z/s8z/v/nu993lNl/fHf/wgWi8UoSPs1T7wanICwXz6ow3eKZ9k0D/+0TQJdQDWQ13wFQ6HQA2UrIINoH2wb/gzOEohT8wqXma+gqtiwBZ+BI4TagIQzrHPkzmFfCxR0qufgTyDhPbgAFkGgVRSkkyd2JkA70BAmiX3gB1pFQWeXBB3XGnedIK4oyLmtsXEE5ME9SBKbggMtUJCNY+zSpDXNafw40HnmyPXg+1qZIMVhoC72nR0Jzq0AbljrBbXwITWjoAHfYx5BCpbJPoIkUDe6j6f4rmnSGko9gRR4Zk8MNmYESUSJroIhuumAW8EL0Esg23QPL/CaqYnAGpjuqenUCJIcBHkKL2ELlpgENBSFhH4eKXLqUjUHrHU3delxLatUUL/NRjv6/dDd01DciGr0ufaar9J5qrs3O8CjVFBva6EoDTrBBHkdQQ52LYuTJRcDOqJd1nrJFWybEeQz1EkvUf0nuYXXwQLxY9g2fP2+t1loONewuhsgbh8Ba88n60zuSHaDGhABOyoqBbEN0ATqwDDQGZoS06GJ/NL5AgAA//8K+p9iAAAABklEQVQDAD0UoClDuWQ7AAAAAElFTkSuQmCC",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href),mediaInfo:new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABl0lEQVR4AaSUPUvDUBSGk5DBwcGxg4PdHBwcOzj4B4QKQoUWdFRowW5uDi5uCgp2dFCwKNh/4ODSsYN7BTs4ODgKFuLzXmI0NrnppeU8uffmvOfN6elH4GW8oigKoQ538ApfMUPWB9iBuYxSb8IQYR3hEK5hCxYhjFlircIVyLzGmorEECN1dU5WRjJha40S2VvqLkEP5OilOpRZ09x1u+whPwUTpkOeoNaVMDf/Xd45n8V8sGZFEw+NygvYaLgqyBLq3rPv+20fOAwgL07wCtWhutM88oTT3tfcazLUpzZtUZGuKsPVIpVDviJDtepQY5WWZGhVuCZl+FZQtMyndwTH6FbAFiMZ9m0KcgugOYt59rYYyLBnU5Dr8x3chA3twRY9GXZRjGDW0Oi6AU8e43QIeVFhfo/whGAN8uIAr0916LG5QXUBWaGf5joJmSX/Kpz/RgcPvdPUv00bRQdcQ420fopMhzrwhDHss98GzYPFGpp7g5oWaGxGnBiaExeSar3Mdhf0DXhhVYGQyT3nBpTRalRsf+MbAAD//21UP8kAAAAGSURBVAMAqHSD40To4kIAAAAASUVORK5CYII=",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:w&&w.tagName.toUpperCase()==="SCRIPT"&&w.src||new URL("sldz-easyplayer.umd.cjs",document.baseURI).href)},...t}}getButtonConfigs(){return[{type:"dynamic",feature:"voiceIntercom",getConfig:t=>{const n={idle:{icon:this.options.icons.voiceIdle,title:"开始语音对讲",extraClass:"voice-idle"},pending:{icon:this.options.icons.voicePending,title:"语音对讲连接中",extraClass:"voice-pending"},recording:{icon:this.options.icons.voiceRecording,title:"停止语音对讲",extraClass:"voice-recording"}};return{...n[t.voiceState]||n.idle,clickEvent:"voiceStateChange",disabled:t.voiceDisabled||!1}}},{type:"simple",feature:"ptzControl",config:{icon:this.options.icons.ptzControl,title:"云台控制",clickEvent:"ptzControlToggle"}},{type:"simple",feature:"mediaInfo",config:{icon:this.options.icons.mediaInfo,title:"信息面板",clickEvent:"mediaInfoToggle"}},{type:"dynamic",feature:"fullscreen",getConfig:t=>({icon:t.fullscreen?this.options.icons.exitFullscreen:this.options.icons.fullscreen,title:t.fullscreen?"退出全屏":"全屏",clickEvent:"fullscreenToggle"})},{type:"dynamic",feature:"playPause",getConfig:t=>({icon:t.playing?this.options.icons.play:this.options.icons.pause,title:t.playing?"暂停":"播放",clickEvent:"playToggle"})}]}getButtonsToRender(t,n){const o=this.getButtonConfigs(),a=[];return o.forEach(s=>{t.includes(s.feature)&&a.push({...s,...this.processButtonConfig(s,n)})}),a}processButtonConfig(t,n){let o={};switch(t.type){case"simple":o={...t.config};break;case"dynamic":o=t.getConfig(n);break}return{renderConfig:o,buttonClass:`control-button ${t.feature}-btn ${o.extraClass||""}`.trim()}}}class Pe{constructor(t,n={}){this.container=t,this.options=n,this.buttons=new Map,this.eventHandlers=new Map,this.configManager=new Se,this.states={},this.eventCallbacks=n.eventCallbacks||{}}async init(t=[],n={}){this.states={...n},await e.nextTick(),this.insertButtons(t)}insertButtons(t){var s;const n=(s=this.container)==null?void 0:s.querySelector(".easyplayer-controls-right .easyplayer-controls-item-wrap");if(!n)return;const o=this.configManager.getButtonsToRender(t,this.states);let a=n;o.forEach(r=>{var f,p;const A=this.createButtonElement(r);if(A){if(this.buttons.set(r.feature,{element:A,config:r,state:this.getFeatureState(r.feature)}),r.feature=="fullscreen"){((f=this.container)==null?void 0:f.querySelector(".easyplayer-controls-right")).appendChild(A);return}if(r.feature=="playPause"){const c=(p=this.container)==null?void 0:p.querySelector(".easyplayer-controls-left");c.insertBefore(A,c.firstChild);return}a.after(A),a=A}})}createButtonElement(t){var p;const{feature:n,renderConfig:o,buttonClass:a}=t,s=(p=this.container)==null?void 0:p.querySelector(`[data-feature="${n}"]`);if(s){const c=this.eventHandlers.get(n);if(c){const g=s.querySelector(".easyplayer-controls-item");g==null||g.removeEventListener("click",c),this.eventHandlers.delete(n)}s.remove(),this.buttons.delete(n)}const r=document.createElement("div");r.className="easyplayer-controls-item-wrap",r.dataset.feature=n;const A=document.createElement("div");if(A.className=`easyplayer-controls-item ${a}`,A.title=o.title||"",o.disabled&&A.classList.add("disabled"),o.icon){const c=document.createElement("img");c.src=o.icon,c.alt=o.title||n,A.appendChild(c)}if(o.text){const c=document.createElement("span");c.textContent=o.text,A.appendChild(c)}const f=c=>{if(c.stopPropagation(),o.disabled)return;const g=o.clickEvent;g&&this.eventCallbacks[g]&&this.eventCallbacks[g]({feature:n,event:c,element:A,states:this.states})};return A.addEventListener("click",f),A.addEventListener("dblclick",c=>{c.stopPropagation()}),this.eventHandlers.set(n,f),o.dropdownItems&&this.createDropdown(r,o.dropdownItems,n),r.appendChild(A),r}createDropdown(t,n,o){const a=document.createElement("div");a.className="easyplayer-dropdown",n.forEach(r=>{const A=document.createElement("div");if(A.className=`dropdown-item ${r.isActive?"active":""}`,A.dataset.value=r.value,r.icon){const p=document.createElement("img");p.src=r.icon,p.alt=r.label,A.appendChild(p)}const f=document.createElement("span");f.textContent=r.label,A.appendChild(f),A.addEventListener("click",p=>{p.stopPropagation(),this.eventCallbacks.qualityChange&&this.eventCallbacks.qualityChange({feature:o,value:r.value,label:r.label})}),a.appendChild(A)}),t.appendChild(a),t.querySelector(".easyplayer-controls-item").addEventListener("mouseenter",()=>{a.style.display="block"}),t.addEventListener("mouseleave",()=>{a.style.display="none"})}updateStates(t){this.states={...this.states,...t},this.refreshButtons()}refreshButtons(){this.buttons.forEach((t,n)=>{t.config.type==="dynamic"&&this.updateButton(n)})}updateButton(t){const n=this.buttons.get(t);if(!n)return;const o=this.configManager.processButtonConfig(n.config,this.states),{renderConfig:a}=o,s=n.element.querySelector(".easyplayer-controls-item");if(a.title&&(s.title=a.title),a.icon){const r=s.querySelector("img");r&&(r.src=a.icon)}if(a.text){const r=s.querySelector("span");r&&(r.textContent=a.text)}s.className=`easyplayer-controls-item ${o.buttonClass}`,a.disabled?s.classList.add("disabled"):s.classList.remove("disabled")}getFeatureState(t){return{voiceIntercom:this.states.voiceState||"idle",ptzControl:!1}[t]}setButtonVisible(t,n){const o=this.buttons.get(t);o&&(o.element.style.display=n?"":"none")}removeButton(t){const n=this.buttons.get(t);if(!n)return;const o=this.eventHandlers.get(t);o&&(n.element.querySelector(".easyplayer-controls-item").removeEventListener("click",o),this.eventHandlers.delete(t)),n.element.remove(),this.buttons.delete(t)}removeAll(){this.buttons.forEach((t,n)=>{this.removeButton(n)})}destroy(){this.removeAll(),this.buttons.clear(),this.eventHandlers.clear(),this.states={}}}const Qe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAAtElEQVR4AZTQOwrCUBSEYRHEBxZWNm5AEKwtBF2Alb2lrb1YCW5AXIJiYSsIdta6GJcQvwgJxDwwYf7cm3NnJiHVSsEVBMEGb7TybLkFQjOhHTp4es4sySxgHgldEWlgczevWxNKFTD1OR741djg4LxmjZUocNhz8kLqTWahlm5bxIoLhLumN7RRpDXvKjJ8CwzCH3QxHOIf7WXmobFq07A5YoIyOslOwy9YSH3brGXUZD5/AAAA///42XjDAAAABklEQVQDAD9wPyApa+E9AAAAAElFTkSuQmCC",De="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAw0lEQVR4AXyRMQoCMRBFkyAItoKNHsAjiGBnq4g3sBYrGwsvYG8n2FtqayUIdqLnsFYRi/gm7gZCNrv8x4Q/b9PEqJLPWluBSVJiWeP/HWwLJYQGyyOMQUUSQpPFCbrgEkgIbdo7yGT84yWEDtUN6hDESQgD2gtUIYpBmNMeIBm5aZncZguRWpyvkIzRWj/Z9uAMhZGbFOKLbR82EMVJ0iJ+mFNYQRAvSYv4hQXnGfgEUt4irjmP4A3x20kpIO6ZQ3j8AAAA//+0XKl6AAAABklEQVQDAANlMEk6jQKMAAAAAElFTkSuQmCC",Te="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAvUlEQVR4AYTOsQ7BUBTG8d4uRMyWvoDJKDaLSUw8g8liMPEAZiuz1SKxWCVWi8QbeAMihuv/3ahoe9vKOeeLfr80Da21Y7YaFPxCujW7BdZI7wipGHIOwAaZmRip6HKOwIhMzD9S0eLcgE3yN2mkos65ADukGx9SUeGcgQMyyEPqtHvgogwJzsrQFRUVoROgbYx55KENoCdAej98STEBvEg36TdNKefs27XfE6Mn/0eUKzIzQnee9gE70jsfAAAA//908sGmAAAABklEQVQDANhfMEHs/9RgAAAAAElFTkSuQmCC",Ve="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAYAAAA7KqwyAAAAtUlEQVR4AZyQPQrCQBCFd/dcIhaCndgqWHgAO1sPYG9naS+IraWglbUXsAkIVooY2HwvkIX8EJLA+5iX2ZnHZp33fgFdFTljzB4O0FZfFmbOWhtj5nCFNpqye9YNDObD5gQe0ERLdo4aTANkaETUIbygThtmt9lACFCDgye1Bz+o0o7mGoJyAeoSot8YyBe48K2r/6lBpQCdEHKjjiHTHTOiX7pZZQDDetgTdQVv6LOsh8bmlQAAAP//85JLtAAAAAZJREFUAwBQC1h3zTm47gAAAABJRU5ErkJggg==",xe="data:image/png;base64,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",Oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAQAElEQVR4AeyZa4xd1XXH1z733rnjx+AnmIejotZJiBOlTU2imCSqk5JEeRBCorETAzE21IBSQDza8mqlBgytCElDCUWloRAeoXFwPjVSqyZY7ZcIakJENIjWyAbGNsae132/ztn9/fe5Z3xn7LHHxrSqkqu99lp77bXXa6+9zzkzkf2a/36TgF/zArD/ywpwJF8AmmzTx5MTbxdxXAnw3p+Ig27Vqs2FSy+9/twNG6+7/dIN1/34kkuvHVp/8ddHvvLVq5N1X7nKD67dPDa47sqX1q698oeD6zbfPDi4+aMEnNnKMKyT344rAc45fxQXpjvqLr/8+hUbN11/z3vfN+eVTtx8tlKufWNibOLCkZHRcw4cGFkI+AMHDvqDB0cXjhwYOWdkdPTLpfHSXdVa9d8v/OKGVy+66LK7v/SlS07H5nTdsE5OO64EHMWkHFRyhN3GjdecunHjDX/fasdDlUrtxtHR8XcQpBOMjI65sbEJm5gouVKpDFSsXCr7CQG80bExI0Hu4IGR5ePjEzfX6u1XPv/59fd99rODWSKCjaP4clxTJyMBckhGA9606YYNcRK9XK3VLifwPMF4ArFSqeJrtZpvNpvWbres0+n4uNOxOI4FLo471ml3fLvVds1G06q1uk2UyjY6Mj5nfKL09Vbbv/i5z629WIZOJryVBChgQfBncHCwf9Om6x9qtloPs7MLR0fHwi5XKlVrEBABE2hiSZJwlVAsaWOtN5EwwYE2aJ8kcUhSo9mwSrnqSOKSUrn+2Cc/+eUHVq8e7GehbGfA8MTaiSRARnutuQsu2Dxn/vyzflxvNDdNjJdMJa7Am82WJ94QkBFezyIuE8IOMwFbqpQEKHrJenOQ5slXJ+54VYWOSqlcuapYbG1bvXq1kpCp1PIMMt6s8IkkwKNZxkBG8Bf0L106dxvBf2qc4FW29XqD3Yu12+Z9CAqsGH0aFDwlhDnGqPEES9Aaw5fuLEHiwpKOBJ0dq1VrvlKpfDqfX7xt1apVc1gtedCJteNNgIwJZC3gpUvf+a1Go/WpiYmylcsVxxl3SZJk88h46ADEp8ihU4o5pkKI4ilB5CnMMU5JeuJHDI6jGCxOYtdoNLgjap+eM2fZfUypdXWJPD6YkgBsH0sRfgQDQW7DpusuabVbV1KWVqlUXasVSh41HscVLM5nKywE6Ig33V2mu4JBiBVaE/SKYBpk/KRAlZMgAk2vBDe5V2r12qbzzjt/A0JqrGXegh2b7W9KAmbxnMdIqnrwa1ed4WN3L485SrLKzrcoebyT5yYnepxmTLAKNJ3VOISHjMEmK8wH7xlNJgiaWXrUQgQ+cqz0aSXUm9Zsxt96/3nnLWWeNumeCAG8o7cpCTiKaKZMOMC8qP+WRqO+hJ3HiSbBq+zTN0WcpBEVCuV7GNBBu1zk/Hve807/8TXn2cc+9mG/YsXZ8CIFL71ESyNNyIZAvUcvYwZoU5MoCfbecxxke0G+VbybGa0XQIYWBAN1lG42CehVKlVucPCq0ztxfHm1WucR17A4TvAPj+R1Gjdy7K4ch2LSli5dZDfdeLU988w29+QTf+e+/e073N/ed5d7+kcP209/us3deMPVfuGCAS79JM0ienoMc1lKvwz06EV3m3eJTrt16fvP/fgKhloyHWAfatOp2SRAa7pKB8Fr3Nz5/ddyBov1Wp2Xmo52X9lmDgdF4bzc1UKCdx/60Ads29MPu4sv/rINDMwP7N5u0aIFtmHDOvfDrd9zH/7wKq1WwMIsRydUKo9yhmpQzCXIJdZqtQsubm82W4MPVIdN+Yk3hdE7OFYCssWyB30A2G5JnKyvcxPz0qPgpQ9HFLLEJt2D7231eefad75z5xEDR2BKO33Zafbd+//anXvu73EOaIcqCArdPn1cErkm07XMJHHs43ZnrS1vFnqSwJ0RRHzoZ+iOlQAtI2hldVC0XXLJH3+00+ksbzRaPJdjBY4/eGEqTfkle4F2ixcvsm/85Z/6YrEvrJ1NVywW7a/u/os0YaglrUZKpVgY5egOlMgwI/vWiePl7xlIftesjL/BVwchk0IC0YfBbBKgRSjYCpSdc9FHKDnKrkUlxPICPo7IUxzDU8Za4m3jxnVuyZJF3bF4s4PTTz/Nvva1tUFb0BcSwVpP8InHmKETJJsMkbG4E/sosk8hRZOvIJNcAJvpd7QEYCRbpoyuYVCH53+/1Wr5OI5d8CU4wVRoOMhYLRdF/gsXfDpwT6S78MLPOr00SFeIkXRAB1XglMWINFCFpICnBT6tMpOPq/BzMnDEEZyhzZQAKdASYWArdBlslvjkve12xzCGYgqAGZxI+5QIJfmud/+OO9KFh+Cs2llnnWFnnHl6Nwop7rGFJxhXSshRl/Ih+e82azE7aUK0c+onWVOJmRIwVcrwY6Uy21K2l8Vxx/E2htpg1Eyu4F9wBUdguGWndd9NGGTtued+Ydddd5tde+2tAn/NtbdYgGtutuef/2UmNonPOvMM7GHDeDL6kAR1mAvGhGVSWHIen5bZ2R38wtdVoQomdUHAJw6I3jabBDiTsiEyi/I4jhcAMoZxvDJu5oBw0nAMd9TwNAxs2m/+wHxPZfiBU+a7UwYGMtrmztV3zTRh9AU9mabUTqgwJAmaHhn1Au+TBbbb0t+OgBS0iAxnmsQLcKQEZMLCAGd/BxnVa0anuyM+BOvwhJYEpZ4fGsULjr322h6GU9sHP/gB23LnLW7LllvdljtvNeG7ttzm7tpyu51zzrumCjMaHt5H/EaIKMemDAWGURWwujPY0wAea8yogBVsVrgL8N2m7Drx2JRfbwKySdnpEUrPvnVQnKDY+3HMpc1SUQb4Au0B8biQdu16LfxdoEfRcZF79uw1Qabbk2qMqIWARYQ5tDLHEOPeT5glznbiqw0xI991gUPO0HoTIO8lpkQIoMObFZjWLS2Mvekc06m0nGESroWj4BO80hTvCvbUU9vsRH/f//5TXU3SjUYauZVhIjXSIUbACEzSb9qypc7ONrMVK5DVOZjySGRiSkXM+H8BaUSB5AXs/PIznMVteP7lKALRNIMnakanNWI56IAfe3yrf2P/m6KPC4bZ/Sef/BFriI2oIUKiw8h7LAsyk6lZsmVsgbbdjKNqO40fT0V6GmtSRdBTWm8F9E6wQKWzHZ6yCBp+nc74DLUXcrmchSJgvwPTdP6Ce/LKcAl/Es/fBu3mm+/wzWYrFZtl/5N//ld95aXSKJNCFNNQS2MMV0kQELYX9sbfSn5h+/en6yb7cA9o5NQBrKXvtpkSwLSe/Vq8koU6U7CSjqu02v+Wz+csCmWAT3iT7biwV2dyCHnv7bnnnrcrrrjOv/HGsSvh1Vdft4ceetRv3nwZH0df5V0ebZYC2tAcfE+rAd2HeOkgdv7ntmyZme4qTYaLUJsYBkfsoiNyM+YqXSIa5L2ducxZlPdDr/zXr3K5/N58LidvHP7hqBneQYpl8ITlOHwzxzPefeYza/0DD3zP79mzz6b/9lDy99//kP/8Bevsnnvuszu3fNNuu+0mu2zD+lSUXacFGq0op8liYIojsL2vT8z7ubFJQdC6m2baRJv+Y1NT1vQETE6E6W71G89/24vjKB/ed6BD0W0r9BVUBQSd/sEiuMBG4FNoTLiQFI1wlr8V2v33/4Odf/5F/g/P/yLv+lf59ev/yH/iE18wwN9334PWbDSlwR595Am/Zcu9niS4jZetR00IGJeoLE+CDQ88NEa8hZ/jEG41r6/VME67lWbpx1E67Om7y+ywS3ByIhUeODQ+84yUZUtsvFx9pL+/L87llD/ixBEmHcIMSAWDbtyijAiQgM/jkd72DO/1zz77vNvx/AvG7vuwzggKKWSd8fvHRx7nPeEekvAn/G+Rz2Pm0Mm0njN690ATC2EgbY2aKzy4aNEi0SnoSRCoHZIK1JE6RXAkfg+Pi1WPQFVAl/sfO/57l4uiHxSLfVQBcROCnMMZKITSHpcVuxzFB3g0JtNAkdcEi2GlA4RDkxoI7x5++HG3dt0Ge/HFofTcM4N0aOgKq8LA7PGDsT90yWS+4jrzIaHgI7ZjJIA7YOXK7sLwdzvoETOX86+OjNzR31+c0IVoTjaIJw2ZQaCD08ZPI5D4oUIQC7SCICaSEBKkTvNgxc8sk//53PM8RRpQsNVgEznjJDVrbqTi8vdalPNj49xV3FO2HF/z0BilsYp+hjY9ATjWK0n5DM1BQVeZlGNIEi/t2Tvizd3e399vOT59CUrs1PPUSc9AAQV+cBoGOJ2FpilJYhEQIygJkzD84FQjGcaBj7pgRGffCB4RUOKiPx/pJG/auIXfqdxTNgypN9ds7xj2tLAwG09PgKxkc4ewvgMOjQJ1Cv3PXnr9B8W+vid0FBwvR/IzgBzFeWh6BOlFEyIzmPAWEpPyLNQPXXDM657QMfcsCktJh1Z5Vk+yGGjO2aOvt4p6XjOiReP+gDZpOfRuNi09AgxCSxehJoy63fQEdNlYDILdR8jOPhajMJt1JV/SrlvJXn5t7Jb+Of3PkAgfEQWCXSkfAtLWhlg08vC8QcHxPsgFCjrDgYl5zcLTkGQJpSCe42fOPVNpF243V/VWpuQXh8dyKpRf4W2lfB6SmpSX9tPHNlMCUnHbzoIdZiol3ar7Rzl4GHKneisJ5/yeWrnxq+E3Luuf2/9MX1+4FHFYu4YKBWaUsjEWLe/JSECahm8B6JmnZ9ZIEOBJFjLw8IFm6PHeiJ1597M3W9FlbV9omFvkbRG+jCHM3WS5grfduy18C8GieQFLQcZaoUNwjAQguGaND8pUUsvfYaYSo9RMxsj8AHi02mnsGpnY2NdffEyV4CLUEiVhGxHJAWGUCWnIjCdADzZAOIOwgEGK1buwkKXC3twT+9u2sZ4UGmXH7lvJbKLkLVdJNG+Rdn6yWn3g0blUy+QYVmh4GnBv1yvkbft25rqlpO9zZZigzUg5ODhRrfrSCJWwb/TPXC5/TX+xOJbL871gMgt4ds94/IGNX2qADJmSAN/EEaQLiFpNIQe3JWmOSKP89SM1u6kR5xsWKXiUsQnmqEhIK8xJrPvNYqbLu3uENTcDHCkBmWjwKBuY9XnTMVCGVQW5QmLcBcZdMHDKQl9xNW+1un/5YOnp8Vb8ib5C8ZFCX6Hh+FeY6eeljlB0yQWakMRSqAGTCE3zgZVOiylwHcc7RzlxH3mtmvxT1XHeSbwJy4eoLzFVZK6YyIydrd3f6c14gpmOcOAyDviwLjqMczhDiwEyqmOQ3+dt/0FvmRPcBaEKSISLConh2K43R/e/MFy5bazRXt1X7HuAROzL5XJoDhtqIWYFy84TLEwqRGMGNORQ79w+79yDdYv+4NWKv2m0biPz5hO8bGDLypx7bJsjYPmS4+xH+73lGdsqbza5+9CmX4ZFT8JMCegVFg2QUd2sSsLy3/KmKtA7gW5fOYRjFXCVKphHEszV/Vgr2f/KaO2ufxXpowAABcBJREFU3aXWuZ0ouijKF+7OFQo/yeVzr0RRVMohH0XOnIsmqJRXXJT7Fx9F32xa/nNvtGz1wbh4R8WKu8zxroTOak0JiLzuHVsIrcCDH3n86QbfR6WG8MLue0gByBydgPz7gBnbTAnQnCBbDE1Gw0sRBvJFb8q4HBif8FauJsZZDI7lCkmVZCgJtXozqTWaiRHovkr72eFq+7uvV9pXDteSNTvH/Ht3Nuwde5tu+b7mnPftmsit2d+OrjjYKfxNKcn/MmrNaWuddKiqDJ0D6NZjr5yrY6+aLF5C4G4MX6hI7bw2Z0j3FZuFx9OaZywwp4QyUDtWAiQjYKEuw67i3cPeVG4HxhPLcQbZHSMZ5QqOOS4nHHQ4bPCVCFerI8+OkQjXyCf1BjRzcwEniFrJ3LmRF12rR75Wb3hHubuI5DEfgo8iX640EqtwzELpn+pHJ8qJyQfmTAnQPcUBw2HfA5Azt6MlQEq0MsNJeq64C2RouD8xvXOrBJWEiMeQK3uTgy7nKySBKkl0ablT8omjGkKAHI15Lp8IlIxQIQRcIzGBJuh5US6pIl+tE2yOoNHlIrDKPlx62MoRfEQFWJSe+1D68k0uHwZZDIdNHC0BEp62UOdKn8gyxFEYxoECL0cRnwUhCfnEllAReRwnEeFI1FqxVXO+SkUoCRblOSLa2bqvhmRE3hHwPGjNzWfHJavkDUTRZELDm6eOmuPIpba8ybbhg3Y/HM8Bj9PyOQOGR2/HSoBW9yqD7k3CXJ67OFAg4Ag8Oje2ErtT4pHkyj6cVQKvKAnsYiVPMsI5ThMynzlVRZXdTY9Mjsphp5HlXvFl+DpGoaoq9VhJMQWv531hXmIK3PBh5wKqUxsj33i0pMdguu8aHwazSYAWEXhQ3KVlSPeBKgEHdBzkkHEZ5Qhez+V8MbYKCVFFEGhwXo8uBZXjriAROiYu3x8P5BYnok2JkqzjESdcJehIFQVW4Dl0K/hI1bePV15shxce+SKfJn3s+il0dJhtAjItWSK6WIaVBBzqP5DY2e9KQln2zY9NzuqcqiIiqqLclyxcTKXoeBC8VUgCx0QXpyplgXgKGp5V+1lP0I43vDxYugpcuPoW6RtITLa08wS/xrTzwT35JCLDk486MWeC40lApjjTpTEgB0jCzp2J5Xk65DkKe0cSoyKWRdByPuxeJYny7KASonJWZeSokBwBUikTgEUkKgQM1poCc9rxnF5yePfQW56eQOHrFJsEv91Ikg3iR3CrF2d0mJipO54ESEemtAer9JQEpuXYbpUlgfPdsH9/KQ4Vod07WI5HywpIQVPWolUhCjRgbvWC5kiSkqbAdcmp3JXQYSos6NZ5V/A7kkGT7a3ebCt3wJTyx5nZteNNQK9WDIchWI5YYmtOwxG9iMhJErFCieBxuZeADVBAVIYVF8QWAuTjRVjPcmHNZRCCZv1kuXPMKHlj13nPxw5h22FBezwSgGbXTiQBvQZEH4Lt3UQEJ4cSC7ezHCcZelz1kwztJNVhCrCPoyJQcoTzXGwKWDLhjLNOOlZpx9FnOwg82Dhk81ASxJtd1D1SJ5IALe81JroXbNB0LrU7uiTluAKgKnRP6HtiJYEJ5oJV1qKFdy+J06RxnxiVFALneO1Q4NIn04dhMWVf+LjhRBMgQzIqEJ2CD99yfqvpXAaW5oHfTrpl621oKFkzxFHRi4tAZT1EsKZEEawpaeb58vAWAt/O2hC0R2MvMAxNvECcSPdWEtBrL3XChSdP5nCGmdvqB1NpaPPpza1dzYD7I5TyofLmyyNbr5WeLgPIKQnR+IThZCVADshBYUFGCwfgT7cBMwkOFQKeEsjRxkEwXZuRjE5CO5kJkDsKQljQS2dj8Y4ER5oXTxDkqS1hjU8qnOwETHdOTmeguYzOcMbLyl38jCdaoPHbBm93AnodP1Iws+X16jmp9P9mAk6q4ydL2f/7BLzVRPwPAAAA///XRIzVAAAABklEQVQDAMvJ5UTb6C2GAAAAAElFTkSuQmCC";function le(i,t={}){const{initialPosition:n={right:2,bottom:40},enabled:o=!0}=t,a=e.ref(!1),s=e.reactive({x:0,y:0}),r=e.reactive({right:n.right,bottom:n.bottom}),A=e.computed(()=>({position:"absolute",right:`${r.right}px`,bottom:`${r.bottom}px`,cursor:a.value?"grabbing":"grab",zIndex:1e3})),f=E=>{if(!a.value||!o)return;const k=E.clientX-s.x,F=E.clientY-s.y;s.x=E.clientX,s.y=E.clientY;let P=r.right-k,B=r.bottom-F;if(i.value&&i.value.parentElement){const z=i.value.parentElement.getBoundingClientRect(),C=i.value.getBoundingClientRect(),u=z.width-C.width,b=z.height-C.height;P=Math.max(0,Math.min(P,u)),B=Math.max(0,Math.min(B,b))}r.right=P,r.bottom=B},p=()=>{a.value=!1,document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p)},c=E=>{o&&(a.value=!0,s.x=E.clientX,s.y=E.clientY,document.addEventListener("mousemove",f),document.addEventListener("mouseup",p),E.preventDefault())},g=()=>{r.right=n.right,r.bottom=n.bottom};return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",p)}),{position:r,isDragging:a,controlStyle:A,startDrag:c,resetPosition:g}}const Me={class:"box"},Fe={class:"icon-content"},ze={class:"focal"},Ne=j({__name:"PtzControlPanel",props:{visible:{type:Boolean,default:!1}},emits:["ptzControl"],setup(i,{emit:t}){const n=i,o=e.ref(null),{controlStyle:a,startDrag:s,resetPosition:r}=le(o,{initialPosition:{right:2,bottom:40},enabled:!0}),A=t,f=p=>{const g={up:0,down:1,left:2,right:3,zoomOut:4,zoomIn:5}[p];A("ptzControl",{direction:p,command:g})};return e.watch(()=>n.visible,p=>{p&&r()}),(p,c)=>i.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"refPtzControl",ref:o,class:"ptz-control",style:e.normalizeStyle(e.unref(a)),onMousedown:c[6]||(c[6]=(...g)=>e.unref(s)&&e.unref(s)(...g))},[e.createElementVNode("div",Me,[e.createElementVNode("div",Fe,[e.createElementVNode("img",{class:"icon-t",src:Qe,alt:"上",onClick:c[0]||(c[0]=g=>f("up"))}),e.createElementVNode("img",{class:"icon-l",src:De,alt:"左",onClick:c[1]||(c[1]=g=>f("left"))}),e.createElementVNode("img",{class:"icon-r",src:Te,alt:"右",onClick:c[2]||(c[2]=g=>f("right"))}),e.createElementVNode("img",{class:"icon-b",src:Ve,alt:"下",onClick:c[3]||(c[3]=g=>f("down"))})]),e.createElementVNode("div",ze,[e.createElementVNode("img",{src:xe,alt:"放大",onClick:c[4]||(c[4]=g=>f("zoomOut"))}),e.createElementVNode("img",{src:Oe,alt:"缩小",onClick:c[5]||(c[5]=g=>f("zoomIn"))})])])],36)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-4376ba31"]]),Je={class:"media-info-content"},Ke={class:"video-info-item"},He={class:"info-value"},Ye={class:"video-info-item"},Ge={class:"info-value"},Le={class:"video-info-item"},je={class:"info-value"},We=j({__name:"MediaInfoPanel",props:{visible:{type:Boolean,default:!1},mediaInfo:{type:Object,default:()=>({})}},setup(i){const t=i,n=e.ref(null),{controlStyle:o,startDrag:a,resetPosition:s}=le(n,{initialPosition:{right:2,bottom:40},enabled:!0});return e.watch(()=>t.visible,r=>{r&&s()}),(r,A)=>i.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"mediaInfoPanelRef",ref:n,class:"media-info-wrapper",style:e.normalizeStyle(e.unref(o)),onMousedown:A[0]||(A[0]=(...f)=>e.unref(a)&&e.unref(a)(...f))},[e.createElementVNode("div",Je,[e.createElementVNode("div",Ke,[A[1]||(A[1]=e.createElementVNode("span",{class:"info-label"},"分辨率:",-1)),e.createElementVNode("span",He,e.toDisplayString(i.mediaInfo.width+"x"+i.mediaInfo.height),1)]),e.createElementVNode("div",Ye,[A[2]||(A[2]=e.createElementVNode("span",{class:"info-label"},"视频编码:",-1)),e.createElementVNode("span",Ge,e.toDisplayString(i.mediaInfo.encType||"--"),1)]),e.createElementVNode("div",Le,[A[3]||(A[3]=e.createElementVNode("span",{class:"info-label"},"码率:",-1)),e.createElementVNode("span",je,e.toDisplayString(i.mediaInfo.kbps+" KB/S"),1)])])],36)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-825c2b68"]]),Ze={__name:"ContextMenu",props:{actualFeatures:{type:Array,default:()=>[]}},emits:["menuAction"],setup(i,{expose:t,emit:n}){const o=i,a=n,s=e.ref(!1),r=e.shallowRef(null),A=e.shallowRef(null),f=e.shallowRef(null),p=e.shallowRef(null);e.onMounted(async()=>{try{const C=await Promise.resolve().then(()=>st);r.value=C.default,A.value=C.ContextMenuItem,f.value=C.ContextMenuGroup,p.value=C.ContextMenuSeparator,s.value=!0}catch{console.warn("[EasyPlayer] @imengyu/vue3-context-menu 未安装,右键菜单功能不可用。如需使用请安装: npm install @imengyu/vue3-context-menu")}});const c=e.ref(!1),g=e.ref(null),E=e.ref({}),k=e.reactive({zIndex:9999,minWidth:160,x:500,y:200}),F=[{type:"item",label:"暂停播放",action:"playPause"},{type:"item",label:"画面截图",action:"screenshot"},{type:"item",label:"画面连续截图",action:"continuousScreenshot"},{type:"item",label:"云台控制",action:"ptzControl"},{type:"group",label:"清晰度切换",action:"quality",children:[{type:"item",action:"quality",params:{quality:"标清"}},{type:"separator"},{type:"item",action:"quality",params:{quality:"高清"}},{type:"separator"},{type:"item",action:"quality",params:{quality:"超清"}}]},{type:"item",label:"关闭视频",action:"stopPlay"},{type:"item",action:"fullscreen"}],P=e.computed(()=>F.filter(u=>o.actualFeatures.includes(u.action)).map(u=>{const b={...u};switch(u.action){case"recordScreen":b.label=E.value.recording?"停止录屏":"画面录屏";break;case"fullscreen":b.label=E.value.fullscreen?"退出全屏":"全屏播放";break;default:!b.label&&u.action&&(b.label=u.label)}return u.type==="group"&&u.children&&(b.children=u.children.map(V=>{var R;const U={...V};if(V.action==="quality"){const m=(R=V.params)==null?void 0:R.quality;U.label=m+(E.value.currentQuality===m?" ✓":"")}return U})),b})),B=C=>{a("menuAction",{action:C.action,value:C.params}),c.value=!1},Q=()=>{const C=document.querySelector("#mx-menu-default-container");C&&g.value&&g.value.appendChild(C)};return t({init:(C,u,b)=>{s.value&&(g.value=b,Q(),c.value=!0,k.x=C.x,k.y=C.y,E.value={...u,volume:Math.floor((u.volume||0)*100),speakerVolume:20})}}),(C,u)=>s.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0,show:c.value,"onUpdate:show":u[0]||(u[0]=b=>c.value=b),options:k},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(b,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V},[b.type==="item"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A.value),{key:0,label:b.label,onClick:U=>B(b)},null,8,["label","onClick"])):b.type==="group"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),{key:1,label:b.label},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.children,(U,R)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:R},[U.type==="separator"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),{key:0})):U.type==="item"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(A.value),{key:1,label:U.label,onClick:m=>B(U)},null,8,["label","onClick"])):e.createCommentVNode("",!0)],64))),128))]),_:2},1032,["label"])):e.createCommentVNode("",!0)],64))),128))]),_:1},40,["show","options"])):e.createCommentVNode("",!0)}};class Xe{constructor(t){if(!t.url)throw new Error("url不能为空");if(t.max&&typeof t.max!="number")throw new Error("max必须是数字");if(t.interval&&typeof t.interval!="number")throw new Error("interval必须是数字");this.url=t.url,this.socket=null,this.reconnectAttempts=0,this.maxReconnectAttempts=t.max||3,this.reconnectInterval=t.interval||5*1e3,this.reconnectTimeout=null,this.config=t}connect(){return new Promise((t,n)=>{this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.socket=new WebSocket(this.url),this.socket.onopen=()=>{console.log("[EasyPlayer] WebSocket 连接成功"),this.reconnectAttempts=0,t()},this.socket.onerror=o=>{console.error("[EasyPlayer] WebSocket 连接失败:",o),n(o)},this.socket.onmessage=()=>{},this.socket.onclose=()=>{this.config.onclosed&&this.config.onclosed instanceof Function&&this.config.onclosed(),console.log("[EasyPlayer] WebSocket 连接关闭")}})}reconnect(t){return new Promise((n,o)=>{this.reconnectAttempts<this.maxReconnectAttempts?this.reconnectTimeout=setTimeout(()=>{this.reconnectAttempts++,console.log(`[EasyPlayer] 尝试第 ${this.reconnectAttempts} 次重新连接...`),n(this.connect())},this.reconnectInterval):(console.log("[EasyPlayer] 达到最大重试次数,停止重新连接"),o(t),this.reconnectAttempts=0)})}sendMessage(t){var n;this.socket&&this.socket.readyState===WebSocket.OPEN?this.socket.send(t):console.error("[EasyPlayer] WebSocket 未连接,无法发送消息",(n=this.socket)==null?void 0:n.readyState)}close(){this.socket&&(this.reconnectTimeout&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.socket.close(),this.socket=null)}isConnected(){return this.socket&&this.socket.readyState===WebSocket.OPEN}}let qe=class ${constructor(){if($.instance)return $.instance;this.instances=new Map,this.mode="single",$.instance=this}register(t,n,o){this.instances.set(t,{voiceState:"idle",deviceInfo:o,updateStateFn:n})}unregister(t){this.instances.delete(t)}updateInstanceState(t,n){const o=this.instances.get(t);o&&(o.voiceState=n)}checkConflict(t){if(this.mode==="multiple")return{allowed:!0};const n=this.getActiveInstances(t);return n.length===0?{allowed:!0}:{allowed:!1,conflictInstances:n[0]}}getActiveInstances(t){const n=[];return this.instances.forEach((o,a)=>{a!==t&&(o.voiceState==="recording"||o.voiceState==="pending")&&n.push({instanceId:a,deviceName:o.deviceInfo.deviceName,deviceInfo:o.deviceInfo})}),n}async stopConflictInstances(t){const n=this.instances.get(t.instanceId);return n&&n.updateStateFn?Promise.resolve(n.updateStateFn("idle")):Promise.resolve()}};const H=new qe;function _e(i,t,n){const o=new Uint8Array([89,86,238,1,102,0,0,0,0,0,0,0,0,0,66,89,0,0,0,0,0,0]);if(!i||i.length!==36)throw new Error("任务GUID必须是36字符长度的字符串");if(t.length!==n)throw new Error(`PCM数据必须是 ${n} 字节`);const a=new Uint8Array(36);for(let f=0;f<i.length;f++)a[f]=i.charCodeAt(f);const s=o.length+a.length+t.length,r=new Uint8Array(s);let A=0;return r.set(o,A),A+=o.length,r.set(a,A),A+=a.length,r.set(t,A),r.buffer}let Z=null;const $e=async()=>{if(Z)return Z;try{const i=await Promise.resolve().then(()=>rt);return await Promise.resolve().then(()=>it),Z=i.default||i,Z}catch{return console.warn("[EasyPlayer] recorder-core 未安装,语音对讲功能不可用。如需使用请安装: npm install recorder-core"),null}},et=i=>{const t=Date.now(),n=Math.random().toString(36).substr(2,6);return`voice_${i==null?void 0:i.deviceCode}_${i==null?void 0:i.channelCode}_${t}_${n}`},tt=(i,t,n,o,a)=>{const s=e.ref(null),r=e.ref(!1),A=e.ref(!1),f=e.ref(0),p=e.ref(null),c=e.ref(null),g=440;let E=new Uint8Array(0);const k=et(i.value),F=e.ref(""),P=y=>{t.voiceState=y,H.updateInstanceState(k,y)};H.register(k,P,i.value);const B=async()=>{const{allowed:y,conflictInstances:h}=H.checkConflict(k);return y?Promise.resolve():new Promise((v,S)=>{const x=a.value||a;x&&x.confirm?x.confirm({title:"语音对讲冲突",content:`当前 ${h.deviceName} 正在进行语音对讲,是否停止并切换?`,okText:"确认停止",cancelText:"取消",onOk:async()=>{await H.stopConflictInstances(h),v()},onCancel:()=>{S()}}):H.stopConflictInstances(h).then(()=>{v()})})},Q=async()=>{const y=await $e();if(!y)throw new Error("recorder-core 未安装");return new Promise((h,v)=>{s.value=y({type:"pcm",sampleRate:22050,bitRate:16,onProcess:function(S,x,J){const K=S[S.length-1];b(K),f.value=Date.now(),p.value&&p.value.input(S[S.length-1],x,J)}}),s.value.open(function(){r.value=!0,y.WaveView&&(p.value=y.WaveView({elem:".recwave"})),h(!0)},function(S,x){r.value=!1;const J=o.value||o,K=a.value||a;x?J&&J.error&&J.error("已拒绝麦克风权限,无法正常使用录音功能"):S.includes("https")?K&&K.confirm&&K.confirm({title:"麦克风权限受限",content:"为保护您的隐私安全,浏览器出于安全限制无法访问麦克风。请使用HTTPS协议访问页面。",okText:"知道了",showCancel:!1}):console.error("[EasyPlayer] 录音初始化出错:",S),v(S)})})},z=()=>{A.value=!0,s.value.start();const y=s.value.watchDogTimer=setInterval(function(){if(!s.value||y!=s.value.watchDogTimer){clearInterval(y);return}Date.now()<s.value.wdtPauseT||Date.now()-(f.value||h)>1500&&(clearInterval(y),console.error(f.value?"[EasyPlayer] 录音被中断":"[EasyPlayer] 录音未能正常开始"),A.value=!1)},1e3),h=Date.now();s.value.wdtPauseT=0,f.value=0},C=()=>new Promise((y,h)=>{s.value.watchDogTimer=0,s.value.stop(function(v){A.value=!1;const S=window.URL.createObjectURL(v);s.value.close(),s.value=null,y({blob:v,localUrl:S})},function(v){h(v),U(),s.value.close(),s.value=null})}),u=y=>{const h=new Uint8Array(y.buffer,y.byteOffset,y.byteLength),v=new Uint8Array(E.length+h.length);v.set(E,0),v.set(h,E.length),E=v},b=y=>{for(u(y);E.length>=g;){const h=E.slice(0,g),v=_e(F.value,h,g);c.value.sendMessage(v),E=E.slice(g)}},V=async()=>{const y=n.value||n;if(!y||!y.start)throw new Error("[EasyPlayer] 未配置语音对讲API (voiceIntercomApi.start)");const{data:h}=await y.start({channelCode:i.value.channelCode,terminalType:"pc"});F.value=h.taskId;let v;if(y.wsUrlBuilder)v=y.wsUrlBuilder(h);else if(h.testDomain)v=`wss://${h.testDomain}`;else if(h.ip&&h.port)v=`wss://${h.ip}:${h.port}`;else throw new Error("[EasyPlayer] 无法构建WebSocket连接地址");c.value=new Xe({url:v,onclosed:m}),await c.value.connect(),z()},U=async()=>{E=new Uint8Array(0),c.value&&c.value.close(),c.value=null;const y=n.value||n;if(y&&y.stop)try{await y.stop({channelCode:i.value.channelCode,terminalType:"pc"})}catch(h){console.warn("[EasyPlayer] 停止语音对讲服务失败:",h)}},R=async()=>{if(t.voiceState==="idle")try{await B(),P("pending"),await Q(),await V(),P("recording")}catch{m()}},m=async()=>{if(t.voiceState!=="idle")try{await C(),await U(),P("idle")}catch{P("idle")}},ee=async()=>{t.voiceState==="idle"?R():m()};return e.onBeforeUnmount(()=>{H.unregister(k),t.voiceState!=="idle"&&m()}),{instanceId:k,startIntercom:R,stopIntercom:m,toggleIntercom:ee}},nt={ref:"PlayerContainer",class:"player-box"},ot={class:"loading"},se=3,re={__name:"EasyPlayer",props:{data:{type:Object,required:!0,default:()=>({deviceCode:"",channelCode:"",channelStatus:"N"})},loadingConfig:{type:Object,default:()=>({})},excludeFeatures:{type:Array,default:()=>[]},visibleHeader:{type:Boolean,default:!0},warning:{type:Boolean,default:!1},closeHeader:{type:Boolean,default:!0},customerGetVideoUrl:{type:Function,default:null},visibleContextMenu:{type:Boolean,default:!1},onPtzControl:{type:Function,default:null},voiceIntercomApi:{type:Object,default:null},messageService:{type:Object,default:null},modalService:{type:Object,default:null}},emits:["close","play","clickHandle","warn"],setup(i,{expose:t,emit:n}){const o=n,a=i,s=e.inject("sldzEasyPlayerConfig",{}),r=(l,d)=>l||(s[d]?s[d]:null),A=e.computed(()=>r(a.messageService,"messageService")||{error:l=>console.error("[EasyPlayer]",l),success:l=>console.log("[EasyPlayer]",l),warning:l=>console.warn("[EasyPlayer]",l),info:l=>console.info("[EasyPlayer]",l)}),f=e.computed(()=>r(a.modalService,"modalService")||{confirm:({title:l,content:d,onOk:I,onCancel:M})=>{confirm(`${l}
|
|
2
|
+
${typeof d=="string"?d:"请确认"}`)?I&&I():M&&M()}}),p=e.computed(()=>r(a.voiceIntercomApi,"voiceIntercomApi")),c=e.computed(()=>a.customerGetVideoUrl?a.customerGetVideoUrl:s.getVideoUrl?s.getVideoUrl:null),g=e.computed(()=>a.onPtzControl?a.onPtzControl:s.onPtzControl?s.onPtzControl:null),E=["audio","record","quality","screenshot","mediaInfo","fullscreen","continuousScreenshot","playPause","stopPlay"],k=e.computed(()=>{const{ptzFlag:l=0,voiceFlag:d=0}=a.data||{},I=[...E];l==1&&I.push("ptzControl"),d==1&&p.value&&I.push("voiceIntercom");const M=new Set(a.excludeFeatures);return I.filter(ae=>!M.has(ae))}),F=["audio","record","quality","screenshot"],P=e.computed(()=>Object.fromEntries(F.filter(l=>!k.value.includes(l)).map(l=>[l,!1])));e.watch(()=>a.data,()=>{gt(),Y()});const B=e.ref(null),Q=e.useTemplateRef("PlayerContainer"),z=e.useTemplateRef("easyPlayerProRef"),C=e.ref(null),u=e.reactive({quieting:!0,recording:!1,kbps:0,width:0,height:0,encType:"",encTypeAudio:"",sampleRate:"",channels:"",currentQuality:"超清",userPaused:!1}),b=e.computed(()=>a.visibleHeader&&!u.recording),V=e.computed(()=>a.warning&&m.playing),U=e.ref(""),R=e.reactive({visible:!1,status:"loading",config:{}}),m=e.reactive({voiceState:"idle",voiceDisabled:!1,ptzControl:!1,mediaInfo:!1,fullscreen:!1,playing:!1}),{toggleIntercom:ee,stopIntercom:y}=tt(e.computed(()=>a.data),m,e.computed(()=>p.value),A,f),h=(l,d={})=>{R.visible=!0,R.status=l,R.config={...a.loadingConfig[l],...d}},v=()=>{R.visible=!1},S=async l=>{switch(l){case"close":X(),o("close");break;case"warn":if(!B.value)return;{const d=B.value.screenshot("warn","png",.5,"blob");o("warn",{file:new File([d],"warn.png",{type:d.type})})}break}},x=async()=>{B.value=new me(Q.value,{btns:P.value}),Et(),await Y()},J=async()=>{ce(),C.value=new Pe(Q.value,{eventCallbacks:{voiceStateChange:K,ptzControlToggle:ie,mediaInfoToggle:ct,fullscreenToggle:te,playToggle:Ae}}),await C.value.init(k.value,m),q()},K=({states:l})=>{l.voiceState==="idle"?ee():l.voiceState==="recording"&&y()};e.watch(()=>m.voiceState,()=>{C.value&&C.value.updateStates(m)});const ie=()=>{m.ptzControl=!m.ptzControl},ct=()=>{m.mediaInfo=!m.mediaInfo},At=({command:l})=>{g.value?g.value(l,a.data):console.warn("[EasyPlayer] 未配置 onPtzControl 回调,无法执行云台控制")},N=e.ref(null),dt=()=>{N.value&&clearTimeout(N.value),N.value=setTimeout(()=>{o("clickHandle",{...a.data})},300)},te=()=>{var l;N.value&&(clearTimeout(N.value),N.value=null),m.fullscreen=!m.fullscreen,(l=C.value)==null||l.updateStates(m),ut()},Y=async()=>{if(a.data.channelStatus!="Y"){h("offline");return}try{m.playing=!1,h("loading");const l={超清:"orig",高清:"hd",标清:"sd"},d={...a.data,quality:l[u.currentQuality]},I=c.value;if(!I)return console.error("[EasyPlayer] 未配置获取视频流地址的方法,请通过 customerGetVideoUrl prop 或插件配置 getVideoUrl 提供"),h("failed"),m.playing=!1,Promise.reject(new Error("未配置视频流获取方法"));const{url:M}=await I(d);return U.value=M,ne(M),Promise.resolve()}catch(l){return h("failed"),m.playing=!1,Promise.reject(l)}},ne=l=>{B.value&&B.value.play(l)},G=e.ref(0),oe=l=>{m.playing=!1,G.value<se?(G.value++,console.log(`[EasyPlayer] ${l},当前重试次数: ${G.value}/${se}`),Y()):X()},X=()=>{h("failed"),B.value&&(B.value.destroy(),B.value=null),clearInterval(L.value),ce(),v(),o("close")},ce=()=>{m.voiceState="idle",m.ptzControl=!1,m.mediaInfo=!1,m.fullscreen=!1,C.value&&(C.value.destroy(),C.value=null)},ut=async()=>{const l=z.value;l&&(document.fullscreenElement===l?await document.exitFullscreen():(document.fullscreenElement&&await document.exitFullscreen(),await l.requestFullscreen()),q())},q=()=>{if(!Q.value)return;const l=Q.value.querySelector(".easyplayer-controls"),d=Q.value.querySelector(".easyplayer-controls-right");if(!l||!d)return;const I=l.getBoundingClientRect().left,M=l.offsetWidth,ae=I+M,_=Array.from(d.children);_.forEach(D=>{D.style.display=""});const Bt=()=>{const D=_.filter(kt=>kt.style.display!=="none"),ue=D[0],fe=D[D.length-1];if(!ue||!fe)return!1;const bt=ue.getBoundingClientRect(),vt=fe.getBoundingClientRect();return bt.left<I||vt.right>ae};for(let D=_.length-1;D>=0&&Bt();D--){if(D===0)return;_[D].style.display="none"}},ft=()=>{h("loading"),ne(U.value)},O=e.ref(null),mt=()=>{O.value&&(clearTimeout(O.value),O.value=null);const l=Q.value.querySelector(".easyplayer-controls");l&&(l.style.opacity="1")},pt=()=>{O.value&&clearTimeout(O.value),O.value=setTimeout(()=>{var d;const l=(d=Q.value)==null?void 0:d.querySelector(".easyplayer-controls");l&&(l.style.opacity="0",O.value=null)},5e3)},Ae=()=>{m.playing=!m.playing,C.value.updateStates(m),m.playing?(h("loading"),ne(U.value)):(B.value.pause(),u.userPaused=!0)},gt=()=>{G.value=0,u.currentQuality="超清"},de=e.ref(null),yt=l=>{l.preventDefault(),B.value&&a.visibleContextMenu&&m.playing&&de.value.init(l,{...u,...m},z.value)},L=e.ref(null),ht=(l=5,d=2e3)=>{let I=0;L.value=setInterval(()=>{B.value.screenshot(),I++,I>=l&&(clearInterval(L.value),console.log(`[EasyPlayer] 截图完成,共截取了${l}张图片`))},d)},Ct=l=>{B.value&&B.value.setMute(l)},wt=({action:l,value:d})=>{switch(l){case"playPause":Ae();break;case"screenshot":B.value.screenshot();break;case"continuousScreenshot":ht(5,2e3);break;case"quality":u.currentQuality=d.quality,B.value.setQuality(d.quality),Y();break;case"setVideoVolume":break;case"recordScreen":break;case"ptzControl":ie();break;case"stopPlay":X();break;case"fullscreen":te();break}},Et=()=>{if(!B.value)return;const l=B.value;l.on("videoInfo",d=>{u.width=d.width,u.height=d.height,u.encType=d.encType}),l.on("audioInfo",d=>{u.encTypeAudio=d.encType==="ALAW"?"ALAW(g711a)":d.encType,u.sampleRate=d.sampleRate,u.channels=d.channels}),l.on("error",()=>{oe("出错了")}),l.on("timeout",()=>{oe("加载超时")}),l.on("qualityChange",d=>{u.currentQuality!=d&&(u.currentQuality=d,Y())}),l.on("kBps",d=>{u.kbps=d}),l.on("play",()=>{l.setQuality(u.currentQuality),u.userPaused=!1,J(),G.value=0,m.playing=!0,v(),o("play")}),l.on("liveEnd",()=>{u.userPaused||oe("实时流中断")}),l.on("mute",d=>{u.quieting=d}),l.on("pause",()=>{m.playing=!1}),l.on("recordStart",()=>{u.recording=!0}),l.on("recordEnd",()=>{u.recording=!1})};return e.onMounted(()=>{x(),window.addEventListener("resize",q)}),e.onUnmounted(()=>{X(),window.removeEventListener("resize",q),N.value&&clearTimeout(N.value),O.value&&clearTimeout(O.value),L.value&&clearInterval(L.value)}),t({getPlayUrl:Y,handleSetMute:Ct,state:u,buttonStates:m,easyPlayer:B}),(l,d)=>(e.openBlock(),e.createElementBlock("div",{ref:"easyPlayerProRef",class:"easy-player-pro",onClick:e.withModifiers(dt,["stop"]),onDblclick:e.withModifiers(te,["stop"]),onContextmenu:yt},[e.createElementVNode("div",nt,null,512),u.userPaused?(e.openBlock(),e.createElementBlock("div",{key:0,class:"player-pause-box",onClick:e.withModifiers(ft,["stop"]),onMousemove:mt,onMouseleave:pt},null,32)):e.createCommentVNode("",!0),e.createVNode(Ee,{visible:b.value,warning:V.value,closeHeader:i.closeHeader,"data-info":i.data,onHandle:S},null,8,["visible","warning","closeHeader","data-info"]),e.createElementVNode("div",ot,[e.renderSlot(l.$slots,"loading",{loadingState:R},()=>[e.createVNode(Ie,{visible:R.visible,status:R.status,"custom-config":R.config},null,8,["visible","status","custom-config"])])]),e.createVNode(Ne,{visible:m.ptzControl,onPtzControl:At,onDblclick:d[0]||(d[0]=e.withModifiers(()=>{},["stop"]))},null,8,["visible"]),e.createVNode(We,{visible:m.mediaInfo,mediaInfo:u,onDblclick:d[1]||(d[1]=e.withModifiers(()=>{},["stop"]))},null,8,["visible","mediaInfo"]),e.createVNode(Ze,{ref_key:"contextMenuRef",ref:de,actualFeatures:k.value,onMenuAction:wt},null,8,["actualFeatures"])],544))}};function at(i,{maxWidth:t=2560,maxHeight:n=1440,quality:o=.92}={}){return i?new Promise(a=>{const s=URL.createObjectURL(i),r=new Image;r.onload=()=>{const A=Math.min(t/r.width,n/r.height,1),f=Math.floor(r.width*A),p=Math.floor(r.height*A),c=document.createElement("canvas");c.width=f,c.height=p;const g=c.getContext("2d");g.fillStyle="#ffffff",g.fillRect(0,0,f,p),g.drawImage(r,0,0,f,p),URL.revokeObjectURL(s);const E=c.toDataURL("image/jpeg",o);c.toBlob(k=>{a({blob:k,dataUrl:E,format:"jpeg",quality:o,timestamp:Date.now(),width:f,height:p,size:k.size})},"image/jpeg",o)},r.onerror=()=>{URL.revokeObjectURL(s),a(null)},r.src=s}):Promise.resolve(null)}const lt=(i,t={})=>{i.provide("sldzEasyPlayerConfig",t),i.component("EasyPlayer",re)},st=Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})),rt=Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})),it=Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"}));T.EasyPlayer=re,T.install=lt,T.resizeBlobToJpeg=at,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.player-header[data-v-ec1dbde0]{display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;width:100%;height:40px;background:#0000004d;z-index:999;padding:0 20px;box-sizing:border-box}.player-header .player-header-title[data-v-ec1dbde0]{font-size:14px;color:#fff;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-header .player-header-title span[data-v-ec1dbde0]{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:6px}.player-header .player-header-content[data-v-ec1dbde0]{flex:1}.player-header .player-header-right[data-v-ec1dbde0]{display:flex;align-items:center}.player-header .player-header-right img[data-v-ec1dbde0]{width:24px;height:24px;cursor:pointer}.player-header .player-header-right .close[data-v-ec1dbde0]{margin-left:20px}.loading-status-wrapper[data-v-e1a38b30]{position:absolute;top:0;left:0;right:0;bottom:0;background:#525866;display:flex;align-items:center;justify-content:center;z-index:100;color:#fff}.loading-status-wrapper .loading-content[data-v-e1a38b30]{text-align:center;max-width:300px}.loading-status-wrapper .loading-content .status-icon img[data-v-e1a38b30]{width:44px;height:44px;object-fit:contain}.loading-status-wrapper .loading-content .status-icon .default-icon[data-v-e1a38b30]{width:64px;height:64px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px}.loading-status-wrapper .loading-content .status-icon .default-icon.loading-icon[data-v-e1a38b30]{position:relative}.loading-status-wrapper .loading-content .status-icon .default-icon.loading-icon[data-v-e1a38b30]:after{content:"";position:absolute;top:50%;left:50%;width:35px;height:35px;border:2px solid transparent;border-top:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);animation:spin-e1a38b30 1s linear infinite}.loading-status-wrapper .loading-content .status-title[data-v-e1a38b30]{font-size:14px;font-weight:600;margin:0 0 8px;color:#fff}.loading-status-wrapper .loading-content .status-description[data-v-e1a38b30]{font-size:12px;color:#ccc;margin:0 0 20px;line-height:1.4}.loading-status-wrapper .loading-content .status-actions[data-v-e1a38b30]{display:flex;gap:12px;justify-content:center}.loading-status-wrapper .loading-content .status-actions button[data-v-e1a38b30]{padding:8px 16px;border:1px solid transparent;border-radius:4px;background:#409eff;color:#fff;cursor:pointer;font-size:14px;transition:all .3s}.loading-status-wrapper .loading-content .status-actions button[data-v-e1a38b30]:hover{background:#66b1ff}.loading-status-wrapper .loading-content .status-actions button.refresh-btn[data-v-e1a38b30]{background:transparent;border-color:#409eff;color:#409eff}.loading-status-wrapper .loading-content .status-actions button.refresh-btn[data-v-e1a38b30]:hover{background:#409eff;color:#fff}@keyframes spin-e1a38b30{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.ptz-control[data-v-4376ba31]{position:absolute;z-index:999;-webkit-user-select:none;user-select:none}.ptz-control .box .icon-content[data-v-4376ba31]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAQAElEQVR4Aey9CaClZ1Wm+757n1NT5lRGAkkISUiCGEYZVUJ7RUUUREBRBBRFWhHFRqQBDQqKQDdcuQioNAEUUFGwAUEFQb02oNBASyCQQEKYMqeSVGo8e3/3edf3//ucU1XBMAe9a6/xXesb/2//ezqpTPT/02IH3vWud206//zz73ThhRf+4Kc+dckvX3rpZ57/uc997nWXXXb531555dUfvPbaay++/vrrr92xY+cNu3fvbrPZrK2szFr8HTt23HDddddfec011158+eVX/OvnP3/Z337mM599zcUXf/qFn/jEJ5/0sY994qEf/vBHv+Vd7zr/4MWA/7+j/7AHkMN21P/6X+97wPve9y9Pf//7P/DGD37w/1y4devRN9jTD7amN7XWXjCft/+C/yOck++S2p0kn4wcTq4OEVYj4Qc7ivhk299CPW304+C/aOtFxG+YTPSvhx8+u+H97//gxe9977/82T/90/ue/g//8E8PfPOb35V2+o9I/2EO4Jvf/Oaj/uqv/vrH/uZv3vEH73znuz82mSxfOZ/P3z6ft2dzyB7MATl1NpsvcefS+973fv3lX761vexlr9C55/62fuEXnqIf//Gfbg960MPafb/9u9s97nFOO/PMu7XTT78Lcmedeebdwe7f7n//79cP/MAj9NjH/mf94i8+Tc9+9gvaK17xav3P//lX+ud//oA++9nPaTabiUN5MvLDrc2fzfhv2bLFV/71X7/zY29969/8wZvf/FePeO1r3/wf5kD+uz6Ar3/9X5z9hje86elvfOP//JfWpl/gDvNHHLbHYc/YvWePLrjgE43D0V784pdxYH5VD3vYo9pP//TP69d+7Tntxf/Py/Unf/IX7Z3v/PvGHUufuPAicTi9/Ybt2rFjpyU4qoy0c+cub9u2TV/4wuXpVx/4wAfbO97xLr/+9X/efu/3/rD9xm8+r/38E5/SHvnIn9JTnvLM9ru/+/L2tre9o33845+g7e4cyjNaa4/jQL5+48b5lX/6p3/xnte+9k+f/spX/jF3Xv27pX93B/C888673atf/ce/+Ud/9PqPtTb70Hw+zx3ubnv27Fk6//wL9IY3/GV7znNe0J7ws7+Ifb5e//o3+B/+8T2N93t5T5cL3ZTD1VAcLl4+0Wo8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) no-repeat;background-size:100% 100%;border-radius:50%;width:160px;height:160px;position:relative}.ptz-control .box .icon-content .icon-t[data-v-4376ba31]{position:absolute;top:12px;left:50%;transform:translate(-50%)}.ptz-control .box .icon-content .icon-b[data-v-4376ba31]{position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ptz-control .box .icon-content .icon-l[data-v-4376ba31]{position:absolute;left:12px;top:50%;transform:translateY(-50%)}.ptz-control .box .icon-content .icon-r[data-v-4376ba31]{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.ptz-control .box .icon-content img[data-v-4376ba31]{cursor:pointer}.ptz-control .box .focal[data-v-4376ba31]{display:flex;align-items:center;justify-content:center;margin-top:12px}.ptz-control .box .focal img[data-v-4376ba31]{width:50px;height:50px;cursor:pointer}.media-info-wrapper[data-v-825c2b68]{position:absolute;bottom:40px;right:2px;width:200px;background-color:#00000040;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);z-index:1000;color:#fff;font-size:12px;box-shadow:0 4px 12px #0000004d}.media-info-content[data-v-825c2b68]{padding:12px 16px}.video-info-item[data-v-825c2b68]{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.video-info-item[data-v-825c2b68]:last-child{border-bottom:none}.info-label[data-v-825c2b68]{color:#ffffffb3;min-width:80px}.info-value[data-v-825c2b68]{color:#fff;font-weight:500;text-align:right;flex:1}.easy-player-pro{width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.easyplayer-controls-code-wrap,.easyplayer-loading,.easyplayer-contextmenu-btn,.easyplayer-play-big{display:none!important}.easyplayer-volume-panel-wrap{transform:translate(-50%);height:108px!important}.easyplayer-fullscreen .icon-title-tips{left:-12px!important}.voiceIntercom-btn{width:100%;height:100%;cursor:pointer}.voiceIntercom-btn img{width:18px;height:18px}.ptzControl-btn,.mediaInfo-btn,.fullscreen-btn,.playPause-btn{width:100%;height:100%;cursor:pointer}.ptzControl-btn img,.mediaInfo-btn img,.fullscreen-btn img,.playPause-btn img{width:16px;height:16px}@keyframes blink{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.voice-pending,.voice-recording{animation:blink .8s infinite}.easyplayer-controls{transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#0000004d!important;height:38px!important;font-size:14px!important;padding-left:13px!important;padding-right:13px!important;z-index:3}.easyplayer-controls .easyplayer-controls-item{padding:0 8px!important}.easyplayer-controls .easyplayer-controls-item .easyplayer-icon{width:16px;height:16px}.easyplayer-controls .easyplayer-speed{font-size:14px;width:90px}.easyplayer-controls .easyplayer-quality-icon-text{font-size:14px;height:20px;line-height:20px;min-width:28px}.player-pause-box{position:absolute;top:0;height:100%;width:100%;z-index:2;background:#0006}.player-pause-box:after{cursor:pointer;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:48px;height:48px;background-repeat:no-repeat;background-position:50%;background-image:url(data:image/png;base64,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);background-size:100% 100%}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sldz-easyplayer",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "基于 EasyPlayerPro SDK 封装的 Vue 3 视频播放器组件,支持直播流播放、云台控制、语音对讲、多清晰度切换等功能",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/sldz-easyplayer.umd.cjs",
|
|
7
|
+
"module": "./dist/sldz-easyplayer.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/sldz-easyplayer.js",
|
|
11
|
+
"require": "./dist/sldz-easyplayer.umd.cjs"
|
|
12
|
+
},
|
|
13
|
+
"./dist/style.css": "./dist/style.css"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"sideEffects": [
|
|
19
|
+
"**/*.css",
|
|
20
|
+
"**/*.scss"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "vite build",
|
|
24
|
+
"preview": "vite preview"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"easyplayer",
|
|
28
|
+
"video",
|
|
29
|
+
"player",
|
|
30
|
+
"live",
|
|
31
|
+
"streaming",
|
|
32
|
+
"flv",
|
|
33
|
+
"hls",
|
|
34
|
+
"vue3",
|
|
35
|
+
"ptz",
|
|
36
|
+
"voice-intercom",
|
|
37
|
+
"surveillance"
|
|
38
|
+
],
|
|
39
|
+
"author": "",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": ""
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"vue": "^3.2.0",
|
|
47
|
+
"@imengyu/vue3-context-menu": "^1.5.0",
|
|
48
|
+
"recorder-core": "^1.3.0"
|
|
49
|
+
},
|
|
50
|
+
"peerDependenciesMeta": {
|
|
51
|
+
"@imengyu/vue3-context-menu": {
|
|
52
|
+
"optional": true
|
|
53
|
+
},
|
|
54
|
+
"recorder-core": {
|
|
55
|
+
"optional": true
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@vitejs/plugin-vue": "^5.0.0",
|
|
60
|
+
"sass": "^1.72.0",
|
|
61
|
+
"vite": "^5.1.0",
|
|
62
|
+
"vue": "^3.4.0"
|
|
63
|
+
}
|
|
64
|
+
}
|