1import{o as e,r as t}from"./chunk-CMxvf4Kt.js";import{n,t as r}from"./jsx-runtime-SsSjplwM.js";import{a as i,c as a,s as o}from"./react-intl-Cop388b4.js";import{c as s,z as c}from"./prop-types-BTvjt2rf.js";import{$ as l,T as ee,at as u,ct as te,ot as ne,w as re}from"./poll-quu7nqu0.js";import{n as d}from"./settings-Cq4pjZIN.js";import{t as f}from"./classnames-CYxIelk8.js";import{a as ie,c as ae,l as oe,n as se,o as ce,r as p,s as le,u as ue}from"./video-Cnn7nKui.js";import{t as de}from"./visualizer-CdTDFwBa.js";var m=e(f()),h=e(n()),g=r(),fe=e=>(0,g.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,height:24,viewBox:`0 -960 960 960`,width:24,...e,children:(0,g.jsx)(`path`,{d:`M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z`})}),pe=({audioElementRef:e})=>{let t=(0,h.useRef)(),n=(0,h.useRef)(),r=(0,h.useRef)();return(0,h.useEffect)(()=>{if(!e.current||typeof AudioContext>`u`)return;let i=t.current??new AudioContext,a=n.current??i.createMediaElementSource(e.current),o=i.createGain();return o.connect(i.destination),a.connect(o),t.current=i,r.current=o,n.current=a,()=>{i.state!==`closed`&&i.close()}},[e]),{audioContextRef:t,sourceRef:n,gainNodeRef:r,playAudio:(0,h.useCallback)(()=>{t.current&&e.current&&(e.current.play(),t.current.resume())},[e]),pauseAudio:(0,h.useCallback)(()=>{t.current&&e.current&&(e.current.pause(),t.current.suspend())},[e])}},_=e=>new Array(...e).map(e=>e===-1/0?0:Math.sqrt(1-Math.max(-100,Math.min(-10,e))*-1/100)),me=({audioContextRef:e,sourceRef:t,numBands:n})=>{let r=(0,h.useRef)(),[i,a]=(0,h.useState)(Array(n).fill(0));return(0,h.useEffect)(()=>{e.current&&(r.current=e.current.createAnalyser(),r.current.smoothingTimeConstant=.6,r.current.fftSize=2048)},[e]),(0,h.useEffect)(()=>{r.current&&t.current&&t.current.connect(r.current);let e=t.current;return()=>{e&&r.current&&e.disconnect(r.current)}},[e,t]),(0,h.useEffect)(()=>{let t=r.current,i=e.current;if(!t||!i)return;let o=t.frequencyBinCount,s=new Float32Array(o),c=setInterval(()=>{t.getFloatFrequencyData(s);let e=_(s.slice(100,600)),r=[],i=Math.ceil(e.length/n);for(let t=0;t<n;t++){let n=e.slice(t*i,(t+1)*i).reduce((e,t)=>e+t,0);r.push(n/i)}a(r)},15);return()=>{clearInterval(c)}},[n,e]),i},v=t({Audio:()=>x,default:()=>x}),y=o({play:{id:`video.play`,defaultMessage:`Play`},pause:{id:`video.pause`,defaultMessage:`Pause`},mute:{id:`video.mute`,defaultMessage:`Mute`},unmute:{id:`video.unmute`,defaultMessage:`Unmute`},download:{id:`video.download`,defaultMessage:`Download file`},hide:{id:`audio.hide`,defaultMessage:`Hide audio`},skipForward:{id:`video.skip_forward`,defaultMessage:`Skip forward`},skipBackward:{id:`video.skip_backward`,defaultMessage:`Skip backward`}}),he=(e,t)=>{d.set(`volume`,e),d.set(`muted`,t)},ge=e=>{let t=d.get(`volume`)??.5,n=d.get(`muted`)??!1;e.volume=t,e.muted=n},b=4e3,x=({src:e,alt:t,lang:n,poster:r,duration:o,sensitive:d,editable:f,blurhash:_,visible:v,onToggleVisibility:x,backgroundColor:S=`#000000`,foregroundColor:C=`#ffffff`,accentColor:w=`#ffffff`,startTime:T,startPlaying:E,startVolume:D,startMuted:O,deployPictureInPicture:_e,matchedFilters:ve})=>{let k=a(),[A,j]=(0,h.useState)(0),[M,N]=(0,h.useState)(o??0),[P,ye]=(0,h.useState)(!0),[F,I]=(0,h.useState)(!1),[L,R]=(0,h.useState)(.5),[be,z]=(0,h.useState)(!1),[xe,Se]=(0,h.useState)(!1),[B,V]=(0,h.useState)(!1),Ce=(0,h.useRef)(null),H=(0,h.useRef)(null),U=(0,h.useRef)(null),W=(0,h.useRef)(null),G=(0,h.useRef)(),{audioContextRef:we,sourceRef:Te,gainNodeRef:K,playAudio:q,pauseAudio:J}=pe({audioElementRef:H}),Ee=me({audioContextRef:we,sourceRef:Te,numBands:3}),[Y,X]=te(()=>({progress:`0%`,buffer:`0%`,volume:`0%`})),De=(0,h.useCallback)(t=>{H.current&&!H.current.paused&&t===null&&_e?.(`audio`,{src:e,poster:r,backgroundColor:S,foregroundColor:C,accentColor:w,currentTime:H.current.currentTime,muted:H.current.muted,volume:H.current.volume}),H.current=t,H.current&&(ge(H.current),R(H.current.volume),I(H.current.muted),K.current&&(K.current.gain.value=H.current.volume),X.start({volume:`${H.current.volume*100}%`}))},[_e,e,r,S,C,w,K,X]);(0,h.useEffect)(()=>
1{H.current&&(H.current.volume=L,H.current.muted=F,K.current&&(K.current.gain.value=F?0:L))},[L,F,K]),(0,h.useEffect)(()=>{V(v===void 0?s===`show_all`||s!==`hide_all`&&!d:v)},[v,d]),(0,h.useEffect)(()=>{B||J()},[J,B]),(0,h.useEffect)(()=>{let e,t=()=>{e=requestAnimationFrame(()=>{H.current&&H.current.duration>0&&X.start({progress:`${H.current.currentTime/H.current.duration*100}%`,config:ne.stiff}),t()})};return t(),()=>{cancelAnimationFrame(e)}},[X]);let Z=(0,h.useCallback)(()=>{H.current&&(H.current.paused?q():J())},[q,J]),Oe=(0,h.useCallback)(()=>{ye(!1)},[]),ke=(0,h.useCallback)(()=>{ye(!0)},[]),Ae=(0,h.useCallback)(()=>{if(!H.current)return;let e=H.current.buffered.length-1;e>-1&&X.start({buffer:`${Math.ceil(H.current.buffered.end(e)/H.current.duration)*100}%`})},[X]),je=(0,h.useCallback)(()=>{H.current&&(R(H.current.volume),I(H.current.muted),X.start({volume:`${H.current.muted?0:H.current.volume*100}%`}),he(H.current.volume,H.current.muted))},[X,R,I]),Me=(0,h.useCallback)(()=>{H.current&&j(H.current.currentTime)},[j]),Q=(0,h.useCallback)(()=>{H.current&&(H.current.muted||H.current.volume===0?(H.current.muted=!1,H.current.volume===0&&(H.current.volume=.05)):H.current.muted=!0)},[]),Ne=(0,h.useCallback)(()=>{x?x():V(e=>!e)},[x,V]),Pe=(0,h.useCallback)(e=>{let t=()=>{document.removeEventListener(`mousemove`,n,!0),document.removeEventListener(`mouseup`,t,!0)},n=e=>{if(!W.current||!H.current)return;let{x:t}=p(W.current,e);isNaN(t)||(H.current.volume=t,H.current.muted=!(t>0),X.start({volume:`${t*100}%`,immediate:!0}))};document.addEventListener(`mousemove`,n,!0),document.addEventListener(`mouseup`,t,!0),n(e.nativeEvent),e.preventDefault(),e.stopPropagation()},[X]),Fe=(0,h.useCallback)(e=>{let t=()=>{document.removeEventListener(`mousemove`,n,!0),document.removeEventListener(`mouseup`,t,!0),Se(!1),q()},n=e=>{if(!U.current||!H.current)return;let{x:t}=p(U.current,e),n=H.current.duration*t;isNaN(n)||(H.current.currentTime=n,X.start({progress:`${t*100}%`,immediate:!0}))};document.addEventListener(`mousemove`,n,!0),document.addEventListener(`mouseup`,t,!0),Se(!0),H.current?.pause(),n(e.nativeEvent),e.preventDefault(),e.stopPropagation()},[q,X]),Ie=(0,h.useCallback)(()=>{z(!0),G.current&&clearTimeout(G.current),G.current=setTimeout(()=>{z(!1)},b)},[z]),Le=(0,h.useCallback)(()=>{z(!0),G.current&&clearTimeout(G.current),G.current=setTimeout(()=>{z(!1)},b)},[z]),Re=(0,h.useCallback)(()=>{z(!1),G.current&&clearTimeout(G.current)},[z]),ze=(0,h.useCallback)(()=>{z(!0),G.current&&clearTimeout(G.current),G.current=setTimeout(()=>{z(!1)},b)},[z]),Be=(0,h.useCallback)(()=>{H.current&&(N(H.current.duration),T!==void 0&&(H.current.currentTime=T),D!==void 0&&(H.current.volume=D),O!==void 0&&(H.current.muted=O))},[N,T,D,O]),Ve=(0,h.useCallback)(()=>{E&&q()},[E,q]),$=e=>{if(!H.current)return;let t=H.current.currentTime+e;isNaN(t)||(H.current.currentTime=t)},He=(0,h.useCallback)(e=>{e.key===` `&&(e.preventDefault(),e.stopPropagation(),Z())},[Z]),Ue=(0,h.useCallback)(()=>{$(-5)},[]),We=(0,h.useCallback)(()=>{$(5)},[]),Ge=(0,h.useCallback)(e=>{let t=e=>{if(!H.current)return;let t=Math.max(0,H.current.volume+e);isNaN(t)||(H.current.volume=t,H.current.muted=!(t>0))};switch(e.key){case`k`:case` `:e.preventDefault(),e.stopPropagation(),Z();break;case`m`:e.preventDefault(),e.stopPropagation(),Q();break;case`j`:case`ArrowLeft`:e.preventDefault(),e.stopPropagation(),$(-5);break;case`l`:case`ArrowRight`:e.preventDefault(),e.stopPropagation(),$(5);break;case`ArrowUp`:e.preventDefault(),e.stopPropagation(),t(.15);break;case`ArrowDown`:e.preventDefault(),e.stopPropagation(),t(-.15);break}},[Z,Q]),Ke=Math.min(A/M*100,100),qe=F||L===0;return(0,g.jsxs)(`div`,{className:(0,m.default)(`audio-player`,{inactive:!B}),ref:Ce,style:{"--player-background-color":S,"--player-foreground-color":C,"--player-accent-color":w},onMouseEnter:Ie,onMouseMove:Le,onMouseLeave:Re,onTouchEnd:ze,role:`button`,tabIndex:0,onKeyDownCapture:Ge,"aria-label":t,lang:n,children:[_&&(0,g.jsx)(re,{hash:_,className:(0,m.default)(`media-gallery__preview`,{"media-gallery__preview--hidden":B}),dummy:!c}),(0,g.jsx)(`audio`,{src:e,ref:De,preload:E?`auto`:`none`,onPlay:Oe,onPause:ke,onProgress:Ae,onLoadedData:Be,onCanPlayThrough:Ve,onTimeUpdate:Me,onVolumeChange:je,crossOrigin:`anonymous`}),(0,g.jsxs)(`div`,{className:`video-player__seek`,"aria-valuemin":0,"aria-valuenow":Ke,"aria-valuemax":100,onMouseDown:Fe,onKeyDownCapture:He,ref:U,role:`slider`,tabIndex:0,children:[(0,g.jsx)(u.div,{className:`video-player__seek__buffer`,style:{width:Y.buffer}}),(0,g.jsx)(u.div,{className:`video-player__seek__progress`,style:{width:Y.progress}}),(0,g.jsx)(u.span,{className:(0,m.default)(`video-player__seek__handle`,{active:xe}),style:{left:Y.progress}})]}),(0,g.jsxs)(`div`,{className:`audio-player__controls`,children:[(0,g.jsx)(`div`,{className:`audio-player__controls__play`,children:(0,g.jsx)(`button`,{type:`button`,title:k.formatMessage(y.skipBackward),"aria-label":k.formatMessage(y.skipBackward),className:`player-button`,onClick:Ue,children:(0,g.jsx)(l,{id:``,icon:ae})})}),(0,g.jsxs)(`div`,{className:`audio-player__controls__play`,children:[(0,g.jsx)(de,{frequencyBands:Ee,poster:r}),(0,g.jsx)(`button`,{type:`button`,title:k.formatMessage(P?y.play:y.pause),"aria-label":k.formatMessage(P?y.play:y.pause),className:`player-button`,onClick:Z,children:(0,g.jsx)(l,{id:P?`play`:`pause`,icon:P?ee:oe})})]}),(0,g.jsx)(`div`,{className:`audio-player__controls__play`,children:(0,g.jsx)(`button`,{type:`button`,title:k.formatMessage(y.skipForward),"aria-label":k.formatMessage(y.skipForward),className:`player-button`,onClick:We,children:(0,g.jsx)(l,{id:``,icon:ue})})})]}),(0,g.jsx)(ie,{hidden:B||f,sensitive:d??!1,onClick:Ne,matchedFilters:ve}),(0,g.jsx)(`div`,{className:(0,m.default)(`video-player__controls`,{active:be}),children:(0,g.jsxs)(`div`,{className:`video-player__buttons-bar`,children:[(0,g.jsxs)(`div`,{className:`video-player__buttons left`,children:[(0,g.jsx)(`button`,{type:`button`,title:k.formatMessage(F?y.unmute:y.mute),"aria-label":k.formatMessage(F?y.unmute:y.mute),className:`player-button`,onClick:Q,children:(0,g.jsx)(l,{id:F?`volume-off`:`volume-up`,icon:F?le:ce})}),(0,g.jsxs)(`div`,{className:`video-player__volume active`,ref:W,onMouseDown:Pe,role:`slider`,"aria-valuemin":0,"aria-valuenow":qe?0:L*100,"aria-valuemax":100,tabIndex:0,children:[(0,g.jsx)(u.div,{className:`video-player__volume__current`,style:{width:Y.volume}}),(0,g.jsx)(u.span,{className:(0,m.default)(`video-player__volume__handle`),style:{left:Y.volume}})]}),(0,g.jsxs)(`span`,{className:`video-player__time`,children:[(0,g.jsx)(`span`,{className:`video-player__time-current`,children:se(Math.floor(A))}),(0,g.jsx)(`span`,{className:`video-player__time-sep`,children:`/`}),(0,g.jsx)(`span`,{className:`video-player__time-total`,children:se(Math.floor(M))})]})]}),(0,g.jsx)(`div`,{className:`video-player__buttons right`,children:!f&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`button`,{type:`button`,className:`player-button`,onClick:Ne,children:(0,g.jsx)(i,{id:`media_gallery.hide`,defaultMessage:`Hide`})}),(0,g.jsx)(`a`,{title:k.formatMessage(y.download),"aria-label":k.formatMessage(y.download),className:`video-player__download__icon player-button`,href:e,download:!0,children:(0,g.jsx)(l,{id:`download`,icon:fe})})]})})]})})]})};export{v as n,x as t}; 2//# sourceMappingURL=audio-D1oadWCu.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.