import{e as j,q,c as u,b as y,w as m,T as E,a,g as l,H as T,v as o,h,o as d,n as c,t as x,C as B,_ as z}from"./DamWCzlT.js";const H={class:"vp-root"},K=["src","alt"],U={key:1,class:"vp-title"},$={key:0,class:"vp-loading"},F={key:0,class:"vp-error"},G={class:"vp-error-text"},J=["src","title","autoplay","controls","loop","muted","poster","preload"],Q=j({__name:"VideoPlayer",props:{src:{},title:{},autoplay:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},poster:{},preload:{default:"metadata"},clickToPlay:{type:Boolean,default:!1},defaultPoster:{default:"/images/20260327/defaultNew.png"}},setup(t){const s=t,n=o(),r=o(!1),v=o(!1),k=o(""),P=o(!1),i=o(!1),g=o(!1);function L(){r.value=!1,v.value=!1}function M(R){r.value=!1,v.value=!0;const e=R.target;if(e.error){const C={[MediaError.MEDIA_ERR_ABORTED]:"视频加载被中止",[MediaError.MEDIA_ERR_NETWORK]:"网络错误，请检查网络连接",[MediaError.MEDIA_ERR_DECODE]:"视频解码错误",[MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED]:"视频格式不支持"};k.value=C[e.error.code]??"视频加载失败"}}function _(){i.value&&(r.value=!0)}function D(){r.value=!1,g.value=!0}function b(){P.value=!0}function O(){P.value=!1}async function V(){n.value&&(i.value||(i.value=!0,r.value=!0,await B(),n.value.load()),n.value.play())}async function N(){n.value&&(v.value=!1,r.value=!0,i.value=!0,g.value=!1,await B(),n.value.load(),n.value.play())}const A=h(()=>s.clickToPlay&&!i.value),I=h(()=>s.clickToPlay&&!P.value&&!r.value&&!v.value),S=h(()=>s.clickToPlay&&!i.value?void 0:s.src),f=o(!1),p=o(!1),w=h(()=>p.value||!s.poster?s.defaultPoster:s.poster);function W(){f.value=!0,p.value=!1}function Z(){p.value=!0,f.value=!1}return q(()=>s.poster,()=>{f.value=!1,p.value=!1}),(R,e)=>(d(),u("div",H,[y(E,{name:"vp-fade"},{default:m(()=>[l(A)?(d(),u("div",{key:0,class:"vp-cover",onClick:V},[l(w)?(d(),u("img",{key:0,src:l(w),alt:t.title,class:T(["vp-cover-img",{"vp-cover-img--loaded":l(f)}]),onLoad:W,onError:Z},null,42,K)):c("",!0),e[1]||(e[1]=a("div",{class:"vp-cover-gradient"},null,-1)),t.title?(d(),u("div",U,x(t.title),1)):c("",!0),e[2]||(e[2]=a("div",{class:"vp-play-btn-wrap"},[a("div",{class:"vp-play-pulse"}),a("div",{class:"vp-play-btn"},[a("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none"},[a("path",{d:"M7 4.5L20 12L7 19.5V4.5Z",fill:"white"})])])],-1))])):c("",!0)]),_:1}),y(E,{name:"vp-fade"},{default:m(()=>[l(r)&&!l(v)?(d(),u("div",$,[...e[3]||(e[3]=[a("div",{class:"vp-spinner"},null,-1),a("span",{class:"vp-loading-text"},"缓冲中…",-1)])])):c("",!0)]),_:1}),y(E,{name:"vp-fade"},{default:m(()=>[l(I)&&l(i)?(d(),u("div",{key:0,class:"vp-pause-overlay",onClick:e[0]||(e[0]=C=>l(n)?.play())},[...e[4]||(e[4]=[a("div",{class:"vp-play-btn vp-play-btn--sm"},[a("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none"},[a("path",{d:"M7 4.5L20 12L7 19.5V4.5Z",fill:"white"})])],-1)])])):c("",!0)]),_:1}),y(E,{name:"vp-fade"},{default:m(()=>[l(v)?(d(),u("div",F,[e[5]||(e[5]=a("div",{class:"i-heroicons-exclamation-circle vp-error-icon"},null,-1)),a("p",G,x(l(k)),1),a("button",{class:"vp-retry-btn",onClick:N}," 重新加载 ")])):c("",!0)]),_:1}),a("video",{ref_key:"videoRef",ref:n,class:T(["vp-video",{"vp-video--visible":l(g)}]),src:l(S),title:t.title,autoplay:t.autoplay,controls:t.controls&&(l(i)||!t.clickToPlay),loop:t.loop,muted:t.muted,poster:t.poster,preload:t.clickToPlay?"none":t.preload,onLoadeddata:L,onError:M,onWaiting:_,onCanplay:D,onPlay:b,onPause:O},null,42,J)]))}}),Y=Object.assign(z(Q,[["__scopeId","data-v-c7e53305"]]),{__name:"VideoPlayer"});export{Y as _};
