import{o as b,a as W,i as _}from"./lifecycle.MLiOCzKC.js";import{c as x,f as I,a as k,p as R,b as j,s as n,m as s,g as e,d as a}from"./template.CyUWgh-J.js";import{i as q}from"./functions.LP-DBi81.js";import"./config.B4FKKqOZ.js";import"./zh_TW.CqrCsd4X.js";function N(B,F){j(F,!1);let o=a(!1),c=a(0),d=a(0),S=a(.7),l=a(!1),m=a(!1),v=a(0),w=a(""),h=a(!1),f=a({title:"示例歌曲",artist:"示例艺术家",cover:"/favicon/favicon-light-192.png",url:"",duration:0}),u=a([]),i=a(0),t=a();function E(){if(e(u).length<=1)return;let r;if(e(m))do r=Math.floor(Math.random()*e(u).length);while(r===e(i)&&e(u).length>1);else r=e(i)=e(u).length)return;const $=e(o);n(i,r),e(t)&&e(t).pause(),T(e(u)[e(i)]),($||!e(o))&&setTimeout(()=>{e(t)&&(e(t).readyState>=2?e(t).play().catch(()=>{}):e(t).addEventListener("canplay",()=>{e(t).play().catch(()=>{})},{once:!0}))},100)}function M(r){return r.startsWith("http://")||r.startsWith("https://")||r.startsWith("/")?r:`/${r}`}function T(r){!r||!e(t)||(n(f,{...r}),r.url?(n(l,!0),e(t).pause(),s(t,e(t).currentTime=0),n(c,0),n(d,r.duration??0),e(t).removeEventListener("loadeddata",p),e(t).removeEventListener("error",g),e(t).removeEventListener("loadstart",L),e(t).addEventListener("loadeddata",p,{once:!0}),e(t).addEventListener("error",g,{once:!0}),e(t).addEventListener("loadstart",L,{once:!0}),s(t,e(t).src=M(r.url)),e(t).load()):n(l,!1))}function p(){n(l,!1),e(t)?.duration&&e(t).duration>1&&(n(d,Math.floor(e(t).duration)),e(u)[e(i)]&&s(u,e(u)[e(i)].duration=e(d)),s(f,e(f).duration=e(d)))}function g(r){n(l,!1),y(`无法播放 "${e(f).title}",正在尝试下一首...`),e(u).length>1?setTimeout(()=>E(),1e3):y("播放列表中没有可用的歌曲")}function L(){}function y(r){n(w,r),n(h,!0),setTimeout(()=>{n(h,!1)},3e3)}function C(){e(t)&&(e(t).addEventListener("play",()=>{n(o,!0)}),e(t).addEventListener("pause",()=>{n(o,!1)}),e(t).addEventListener("timeupdate",()=>{n(c,e(t).currentTime)}),e(t).addEventListener("ended",()=>{e(v)===1?(s(t,e(t).currentTime=0),e(t).play().catch(()=>{})):e(v)===2||e(i){n(l,!1)}),e(t).addEventListener("stalled",()=>{}),e(t).addEventListener("waiting",()=>{}))}b(()=>{n(t,new Audio),s(t,e(t).volume=e(S)),C()}),W(()=>{e(t)&&(e(t).pause(),s(t,e(t).src=""))}),_();var A=x(),P=I(A);q(P,r=>{}),k(B,A),R()}export{N as default};