1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3721],{18068:(e,t,i)=>{"use strict";i.d(t,{t2:()=>n}),Error("failed to get response body reader"),Error("failed to complete download");let n=async e=>{let t;if("string"==typeof e)t=/data:_data\/([a-zA-Z]*);base64,([^"]*)/.test(e)?atob(e.split(",")[1]).split("").map(e=>e.charCodeAt(0)):await (await fetch(e)).arrayBuffer();else if(e instanceof URL)t=await (await fetch(e)).arrayBuffer();else{if(!(e instanceof File||e instanceof Blob))return new Uint8Array;t=await new Promise((t,i)=>{let n=new FileReader;n.onload=()=>{let{result:e}=n;e instanceof ArrayBuffer?t(new Uint8Array(e)):t(new Uint8Array)},n.onerror=e=>{i(Error(`File could not be read! Code=${e?.target?.error?.code||-1}`))},n.readAsArrayBuffer(e)})}return new Uint8Array(t)}},20923:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>x});var n=i(37876),s=i(14232),r=i(99907),o=i(74118),a=i(72618),l=i(88756),d=i(78460),u=i(59038),c=i(18068),h=i(42298),p=i(18433);function m(){let[e,t]=(0,s.useState)(null),[i,r]=(0,s.useState)(!1),[o,m]=(0,s.useState)(!1),[g,x]=(0,s.use
1State)(null),[v,f]=(0,s.useState)(!1),[b,y]=(0,s.useState)(0),[w,j]=(0,s.useState)(0),[C,N]=(0,s.useState)(0),[z,L]=(0,s.useState)(0),[k,E]=(0,s.useState)("0.00"),[R,M]=(0,s.useState)("0.00"),[S,P]=(0,s.useState)(!1),[D,q]=(0,s.useState)(!1),[B,T]=(0,s.useState)(""),[O,U]=(0,s.useState)(""),[A,F]=(0,s.useState)(0),[_,W]=(0,s.useState)(!1),[V,I]=(0,s.useState)(null),$=(0,s.useRef)(null),H=(0,s.useRef)(null),Y=(0,s.useRef)(null),X=(0,s.useRef)(null),Q=(0,s.useRef)(null),G=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{var e;return null==(e=G.current)?void 0:e.abort()},[]);let K=async()=>{q(!0),T("");try{await (0,p.jO)(),P(!0)}catch(e){P(!1),T((0,p.kP)(e))}finally{q(!1)}};(0,s.useEffect)(()=>{if(!e||!$.current)return;Y.current&&(Y.current.destroy(),Y.current=null),Q.current=null,W(!0),F(0);let t=URL.createObjectURL(e);U(t);let i=u.A.create();X.current=i;let n=d.default.create({container:$.current,waveColor:"#9333ea",progressColor:"#7c3aed",cursorColor:"#ffffff",barWidth:2,barRadius:2,cursorWidth:2,height:128,barGap:1,normalize:!0,plugins:[i]});return Y.current=n,n.on("loading",e=>{F(e)}),n.on("ready",()=>{W(!1),F(100);let e=n.getDuration();y(e),N(0),L(e),E("0.00"),M(e.toFixed(2));let t=i.addRegion({start:0,end:e,color:"rgba(234, 51, 204, 0.5)",drag:!0,resize:!0});Q.current=t,t.on("update-end",()=>{N(t.start),L(t.end),E(t.start.toFixed(2)),M(t.end.toFixed(2))})}),n.on("interaction",()=>{let e=n.getCurrentTime();Q.current&&(e<Q.current.start?(n.pause(),n.seekTo(Q.current.start/n.getDuration()),f(!1)):e>Q.current.end&&(n.pause(),n.seekTo(Q.current.end/n.getDuration()),f(!1)))}),n.on("audioprocess",e=>{j(e),Q.current&&e>=Q.current.end&&n.isPlaying()&&(n.pause(),n.seekTo(Q.current.start/n.getDuration()),f(!1))}),n.on("play",()=>f(!0)),n.on("pause",()=>f(!1)),n.on("finish",()=>f(!1)),n.load(t),()=>{Y.current&&(Y.current.destroy(),Y.current=null),URL.revokeObjectURL(t)}},[e]);let Z=e=>{if(e&&e.type.startsWith("audio/")){let i=(0,p.f4)(e);if(i)return void T(i);t(e),K()}},J=async()=>{if(!e||!Y.current||!S)return void alert("Veuillez attendre le chargement de FFmpeg ou t\xe9l\xe9verser un fichier");m(!0),x("processing");let i=new AbortController;G.current=i;try{var n;let s=(null==(n=e.name.split(".").pop())?void 0:n.toLowerCase())||"mp3",r=await (0,p.U2)({operation:"audio-cutter-fr",inputBytes:e.size,signal:i.signal,onStatus:x},async t=>{let{ffmpeg:n,jobId:r,exec:o}=t,a=(0,p.vw)(r,"input",s),l=(0,p.vw)(r,"output",s);try{await n.writeFile(a,await (0,c.t2)(e),{signal:i.signal}),await o(["-ss",C.toFixed(3),"-i",a,"-t",(z-C).toFixed(3),"-acodec","libmp3lame","-b:a","192k",l]);let t=await n.readFile(l,void 0,{signal:i.signal}),s=t instanceof Uint8Array?t:new TextEncoder().encode(t);return new Blob([new Uint8Array(s)],{type:e.type||"audio/mpeg"})}finally{await (0,p.rX)(n,[a,l])}});O&&URL.revokeObjectURL(O);let o=e.name.startsWith("cut_")?e.name:"cut_".concat(e.name),a=new File([r],o,{type:e.type||"audio/mpeg"});t(a)}catch(e){console.error("Erreur lors du d\xe9coupage audio :",e),alert((0,p.kP)(e))}finally{G.current=null,m(!1),x(null)}},ee=()=>{let e=parseFloat(k);!isNaN(e)&&e>=0&&e<z?(N(e),E(e.toFixed(2)),Q.current&&Q.current.setOptions({start:e})):E(C.toFixed(2))},et=()=>{let e=parseFloat(R);!isNaN(e)&&e>C&&e<=b?(L(e),M(e.toFixed(2)),Q.current&&Q.current.setOptions({end:e})):M(z.toFixed(2))},ei=e=>{let t=Math.floor(e/60),i=Math.floor(e%60),n=Math.floor(e%1*100);return"".concat(String(t).padStart(2,"0"),":").concat(String(i).padStart(2,"0"),".").concat(String(n).padStart(2,"0"))};return(0,n.jsx)("div",{className:"min-h-screen bg-transparent px-4 py-4 text-white",children:(0,n.jsxs)("div",{className:"max-w-4xl mx-auto w-full",children:[(0,n.jsxs)("div",{className:"min-h-screen",children:[(0,n.jsxs)("div",{className:"text-center mb-4",children:[(0,n.jsx)("h1",{className:"tool-audio-cutter-title text-4xl font-bold text-white mb-1",children:"Coupeur audio en ligne"}),(0,n.jsx)("p",{className:"tool-audio-cutter-subtitle text-slate-300",children:"Importez un fichier audio, s\xe9lectionnez pr\xe9cis\xe9ment lâextrait \xe0 conserver et exportez le r\xe9sultat en ligne."})]}),e?(0,n.jsxs)(a.P.div,{initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},className:"bg-white rounded-xl shadow-lg p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3 pb-3 border-b",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"w-8 h-8 bg-purple-100 rounded-lg flex items-center justify-center",children:(0,n.jsx)("svg",{className:"w-4 h-4 text-purple-600",fill:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3h-6z"})})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-900",children:e.name}),(0,n.jsxs)("p",{className:"text-xs text-gray-500",children:[(e.size/1024/1024).toFixed(2)," MB"]})]})]}),(0,n.jsx)(h.$,{type:"button",variant:"ghost",onClick:()=>t(null),className:"px-3 py-1.5 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors",children:"Changer le fichier"})]}),(0,n.jsx)("div",{className:"bg-gray-800 rounded-lg p-4 mb-4",children:(0,n.jsxs)("div",{className:"relative",children:[_&&(0,n.jsx)("div",{className:"absolute inset-0 flex flex-col items-center justify-center bg-gray-800 z-10 rounded-lg",children:(0,n.jsxs)("div",{className:"w-full max-w-md px-8",children:[(0,n.jsxs)("div",{className:"mb-2 text-center text-white",children:["Chargement de l audio... ",A,"%"]}),(0,n.jsx)("div",{className:"w-full bg-gray-700 rounded-full h-2.5",children:(0,n.jsx)("div",{className:"bg-purple-600 h-2.5 rounded-full transition-all duration-300",style:{width:"".concat(A,"%")}})})]})}),(0,n.jsx)("div",{ref:$,className:"w-full"})]})}),(0,n.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[(0,n.jsx)(h.$,{type:"button",size:"icon-lg",onClick:()=>{if(Y.current){let e=Y.current;e.isPlaying()?e.pause():(e.seekTo(C/b),e.play())}},className:"w-10 h-10 bg-purple-600 text-white rounded-full flex items-center justify-center hover:bg-purple-700 transition-colors",children:v?(0,n.jsx)("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M6 4h4v16H6V4zm8 0h4v16h-4V4z"})}):(0,n.jsx)("svg",{className:"w-4 h-4 ml-0.5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M8 5v14l11-7z"})})}),(0,n.jsx)("div",{className:"flex-1",children:(0,n.jsxs)("div",{className:"flex justify-between text-xs text-gray-600",children:[(0,n.jsx)("span",{children:ei(w)}),(0,n.jsx)("span",{children:ei(b)})]})})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-3 mb-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"block text-xs font-medium text-gray-700 mb-1",children:"Temps de d\xe9part (s)"}),(0,n.jsx)("input",{type:"number",value:k,onChange:e=>{E(e.target.value)},onBlur:ee,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),ee(),e.currentTarget.blur())},step:"0.01",className:"text-gray-700 text-sm w-full px-2 py-1.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"block text-xs font-medium text-gray-700 mb-1",children:"Temps de fin (s)"}),(0,n.jsx)("input",{type:"number",value:R,onChange:e=>{M(e.target.value)},onBlur:et,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),et(),e.currentTarget.blur())},step:"0.01",className:"text-gray-700 text-sm w-full px-2 py-1.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent"})]})]}),(0,n.jsx)("div",{className:"bg-gray-50 rounded-lg p-2 mb-3",children:(0,n.jsxs)("p",{className:"text-xs text-gray-600",children:["S\xe9lectionn\xe9 : ",(0,n.jsx)("span",{className:"font-semibold text-gray-900",children:ei(z-C)})," ","(",ei(C)," â ",ei(z),")"]})}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsxs)(h.$,{type:"button",onClick:o?()=>{var e;x("cancelling"),null==(e=G.current)||e.abort()}:S?J:()=>void K(),disabled:!o&&D||"cancelling"===g,className:"flex-1 px-4 py-2 bg-purple-600 text-white text-sm rounded-lg font-medium hover:bg-purple-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z"})}),o?"waiting"===g?"En attente d'une autre op\xe9ration...":"loading"===g?"Chargement du moteur audio...":"cancelling"===g?"Annulation...":"Annuler le traitement":S?"Couper l audio":D?"Chargement du moteur audio...":"R\xe9essayer le moteur audio"]}),(0,n.jsxs)("button",{onClick:()=>
1{if(!e)return;let t=URL.createObjectURL(e),i=document.createElement("a");i.href=t,i.download=e.name,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)},className:"px-4 py-2 bg-black text-white text-sm rounded-lg font-medium hover:bg-gray-900 transition-colors flex items-center justify-center gap-2",children:[(0,n.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})}),"T\xe9l\xe9charger"]})]}),B&&(0,n.jsx)("p",{className:"mt-2 text-sm text-red-600",role:"alert",children:B})]}):(0,n.jsx)(a.P.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"bg-white rounded-xl shadow-lg p-6",children:(0,n.jsxs)("div",{onDragOver:e=>{e.preventDefault(),r(!0)},onDragLeave:()=>{r(!1)},onDrop:e=>{e.preventDefault(),r(!1),Z(e.dataTransfer.files[0])},className:"border-2 border-dashed rounded-lg p-8 text-center transition-colors ".concat(i?"border-purple-600 bg-purple-50":"border-gray-300 hover:border-purple-400"),children:[(0,n.jsx)("div",{className:"w-12 h-12 mx-auto mb-3 bg-purple-600 rounded-full flex items-center justify-center",children:(0,n.jsx)("svg",{className:"tool-upload-music-icon w-6 h-6 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3"})})}),(0,n.jsx)("h3",{className:"text-lg font-semibold text-gray-900 mb-1",children:"T\xe9l\xe9verser un fichier audio"}),(0,n.jsx)("p",{className:"text-sm text-gray-500 mb-3",children:"Glissez-d\xe9posez ou cliquez pour parcourir"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-gray-400",children:"Limite : 250 Mo sur la plupart des appareils, 500 Mo avec au moins 8 Go de m\xe9moire."}),(0,n.jsx)("input",{ref:H,type:"file",accept:"audio/*",onChange:e=>{var t;let i=null==(t=e.target.files)?void 0:t[0];i&&Z(i)},className:"hidden"}),(0,n.jsx)(h.$,{type:"button",onClick:()=>{var e;return null==(e=H.current)?void 0:e.click()},className:"px-6 py-2 bg-purple-600 text-white rounded-lg font-medium hover:bg-purple-700 transition-colors",children:"Choisir un fichier"})]})})]}),(0,n.jsxs)("div",{className:"mt-12 md:mt-16",children:[(0,n.jsx)("div",{className:"mb-12 md:mb-16",children:(0,n.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6",children:[{emoji:"â¡",title:"Coupeur audio rapide et simple",description:"Coupez votre piste en quelques secondes avec notre coupeur audio et MP3. Faites glisser les poign\xe9es ou saisissez le d\xe9but et la fin exacts pour un r\xe9sultat parfait."},{emoji:"\uD83C\uDFB5",title:"Coupeur MP3 intelligent en ligne",description:"Notre coupeur MP3 en ligne vous permet de couper facilement l'audio, de cr\xe9er des sonneries et d'\xe9diter de la musique sans t\xe9l\xe9chargement ni outils compliqu\xe9s."},{emoji:"\uD83E\uDD16",title:"D\xe9coupage audio automatique",description:"Vous manquez de temps ? Utilisez le mode auto pour supprimer rapidement les parties ind\xe9sirables et obtenir un r\xe9sultat propre en un minimum d'efforts."},{emoji:"\uD83D\uDCC9",title:"Compresser un MP3 sans prise de t\xeate",description:"Vous avez besoin d'un fichier plus petit ? Compressez le MP3 en quelques clics en gardant une excellente qualit\xe9 sonoreâid\xe9al pour partager, t\xe9l\xe9charger ou \xe9conomiser de l'espace."},{emoji:"\uD83C\uDF10",title:"Fonctionne \xe0 100% en ligne",description:"Tout fonctionne directement dans votre navigateur. Coupez l audio, compressez un MP3 et \xe9ditez des pistes sur Mac ou Windows."},{emoji:"\uD83D\uDD12",title:"S\xe9curis\xe9",description:"Vos fichiers sont trait\xe9s en toute s\xe9curit\xe9, vous pouvez donc \xe9diter en toute s\xe9r\xe9nit\xe9."}].map((e,t)=>(0,n.jsxs)(a.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.4,delay:.1*t},className:"bg-white rounded-xl border border-gray-200 p-6 shadow-sm hover:shadow-md transition-shadow",children:[(0,n.jsx)("div",{className:"text-3xl mb-3",children:e.emoji}),(0,n.jsx)("h3",{className:"font-bold text-gray-900 text-base mb-2",children:e.title}),(0,n.jsx)("p",{className:"text-gray-600 text-sm leading-relaxed",children:e.description})]},t))})}),(0,n.jsxs)("div",{className:"mb-12 md:mb-16",children:[(0,n.jsx)("h2",{className:"text-xl md:text-2xl font-bold text-gray-900 text-center mb-8",children:"Comment couper un MP3 en ligne â rapide et simple"}),(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-6",children:[(0,n.jsxs)(a.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.4},className:"bg-white rounded-xl border border-gray-200 p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[(0,n.jsx)("div",{className:"inline-flex items-center justify-center w-14 h-14 bg-purple-100 rounded-full mb-4",children:(0,n.jsx)("svg",{className:"w-8 h-8 text-purple-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"})})}),(0,n.jsx)("div",{className:"inline-flex items-center justify-center w-7 h-7 bg-purple-600 text-white text-sm font-bold rounded-full mb-3",children:"1"}),(0,n.jsx)("h3",{className:"font-semibold text-gray-900 text-base mb-2",children:"Ajouter un audio"}),(0,n.jsx)("p",{className:"text-gray-600 text-sm leading-relaxed",children:"T\xe9l\xe9versez un fichier depuis n importe quel appareil (PC, Mac, Android ou iPhone). Vous pouvez aussi glisser
1-d\xe9poser votre piste sur la page ou la charger depuis le cloud."})]}),(0,n.jsxs)(a.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.4,delay:.15},className:"bg-white rounded-xl border border-gray-200 p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[(0,n.jsx)("div",{className:"inline-flex items-center justify-center w-14 h-14 bg-purple-100 rounded-full mb-4",children:(0,n.jsx)("svg",{className:"w-8 h-8 text-purple-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z"})})}),(0,n.jsx)("div",{className:"inline-flex items-center justify-center w-7 h-7 bg-purple-600 text-white text-sm font-bold rounded-full mb-3",children:"2"}),(0,n.jsx)("h3",{className:"font-semibold text-gray-900 text-base mb-2",children:"Couper votre chanson"}),(0,n.jsx)("p",{className:"text-gray-600 text-sm leading-relaxed",children:"Utilisez le coupeur audio (coupeur MP3) pour s\xe9lectionner la partie exacte que vous voulez et couper votre audio en quelques secondes. Pour aller plus vite, utilisez le mode auto pour obtenir une coupe propre rapidement."})]}),(0,n.jsxs)(a.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.4,delay:.3},className:"bg-white rounded-xl border border-gray-200 p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[(0,n.jsx)("div",{className:"inline-flex items-center justify-center w-14 h-14 bg-purple-100 rounded-full mb-4",children:(0,n.jsx)("svg",{className:"w-8 h-8 text-purple-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})})}),(0,n.jsx)("div",{className:"inline-flex items-center justify-center w-7 h-7 bg-purple-600 text-white text-sm font-bold rounded-full mb-3",children:"3"}),(0,n.jsx)("h3",{className:"font-semibold text-gray-900 text-base mb-2",children:"T\xe9l\xe9charger la piste"}),(0,n.jsx)("p",{className:"text-gray-600 text-sm leading-relaxed",children:"T\xe9l\xe9chargez votre fichier \xe9dit\xe9 en haute qualit\xe9 â ou compressez votre MP3 si vous avez besoin d'un fichier plus petit pour partager ou \xe9conomiser de l'espace."})]})]})]}),(0,n.jsxs)("div",{className:"mb-12 md:mb-16",children:[(0,n.jsx)("h2",{className:"text-xl md:text-2xl font-bold text-gray-900 text-center mb-8",children:"Questions fr\xe9quentes"}),(0,n.jsx)("div",{className:"space-y-3",children:[{question:"Qu'est-ce qu un coupeur audio ?",answer:"Un coupeur audio est un outil qui permet de couper ou raccourcir un fichier audio en choisissant le d\xe9but et la fin exacts."},{question:"Un coupeur MP3 est-il identique a un coupeur audio ?",answer:"En pratique oui. Un coupeur MP3 est un coupeur audio specialise aux fichiers MP3, mais la plupart des outils supportent aussi plusieurs formats."},{question:"Comment couper un audio en ligne ?",answer:"Televersez votre fichier, choisissez la partie a conserver puis cliquez sur exporter. La plupart des outils en ligne permettent la coupe audio via une timeline glisser-deposer."},{question:"Que signifie le coupeur automatique ?",answer:"Un coupeur automatique vous permet de couper plus vite en detectant automatiquement les silences ou en appliquant des predefis rapides sans retoucher manuellement."},{question:"Puis-je compresser un MP3 apr\xe8s la coupe ?",answer:"Oui. Une fois le fichier coup\xe9, vous pouvez compresser le MP3 pour r\xe9duire sa tailleâpratique pour partager, t\xe9l\xe9charger ou \xe9conomiser de l'espace."},{question:"Le d\xe9coupage r\xe9duit-il la qualit\xe9 audio ?",answer:"Le d\xe9coupage conserve g\xe9n\xe9ralement la qualit\xe9 car il ne supprime que des parties sans modifier le son."}].map((e,t)=>(0,n.jsxs)(a.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.4,delay:.05*t},className:"bg-white rounded-xl shadow-sm border border-gray-200 overflow-hidden",children:[(0,n.jsxs)("button",{onClick:()=>I(V===t?null:t),className:"w-full px-4 py-4 md:px-6 md:py-5 flex items-center justify-between text-left hover:bg-gray-50 transition-colors","aria-expanded":V===t,children:[(0,n.jsxs)("span",{className:"font-semibold text-sm md:text-base text-gray-900 pr-4",children:[t+1,". ",e.question]}),(0,n.jsx)(a.P.div,{animate:{rotate:180*(V===t)},transition:{duration:.3},className:"flex-shrink-0",children:(0,n.jsx)("svg",{className:"w-5 h-5 text-purple-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]}),(0,n.jsx)(l.N,{initial:!1,children:V===t&&(0,n.jsx)(a.P.div,{initial:{scaleY:0,opacity:0}
1,animate:{scaleY:1,opacity:1,transition:{duration:.25,ease:"easeOut"}},exit:{scaleY:0,opacity:0,transition:{duration:.2,ease:"easeIn"}},style:{originY:0},className:"overflow-hidden",children:(0,n.jsx)("div",{className:"px-4 pb-4 md:px-6 md:pb-5 text-sm md:text-base text-gray-600 leading-relaxed",children:e.answer})})})]},t))})]})]})]})})}var g=i(2470);function x(){let e="Coupeur audio en ligne â D\xe9couper MP3 et audio | NeuralSound",t="Importez un fichier audio, s\xe9lectionnez pr\xe9cis\xe9ment lâextrait \xe0 conserver et exportez le r\xe9sultat en ligne.",i=g.CQ.url.replace(/\/+$/,""),s="".concat(i,"/fr/tools/audio-cutter");return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.bV,{title:e,description:t,canonical:s,openGraph:{url:s,title:e,description:t,images:[{url:"".concat(i,"/images/og-image.png"),width:1200,height:630,alt:"Outil coupeur audio - Neural Sound",type:"image/png"}],siteName:g.CQ.name},additionalMetaTags:[{name:"keywords",content:"coupeur audio, couper un audio, couper audio en ligne, \xe9diteur audio, trimmer audio, fondu en entr\xe9e en sortie, d\xe9coupage audio"}]}),(0,n.jsx)(r.gk,{itemListElements:[{position:1,name:"Accueil",item:i},{position:2,name:"Outils",item:"".concat(i,"/tools")},{position:3,name:"Coupeur audio",item:s}]}),(0,n.jsx)(o.A,{title:"Coupeur audio",description:t,activeTool:"audio-cutter",locale:"fr",children:(0,n.jsx)(m,{})})]})}},53392:(e,t,i)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/fr/tools/audio-cutter",function(){return i(20923)}])},59038:(e,t,i)=>{"use strict";i.d(t,{A:()=>l});class n{constructor(){this.listeners={}}on(e,t,i){if(this.listeners[e]||(this.listeners[e]=new Set),null==i?void 0:i.once){let i=(...n)=>{this.un(e,i),t(...n)};return this.listeners[e].add(i),()=>this.un(e,i)}return this.listeners[e].add(t),()=>this.un(e,t)}un(e,t){var i;null==(i=this.listeners[e])||i.delete(t)}once(e,t){return this.on(e,t,{once:!0})}unAll(){this.listeners={}}emit(e,...t){this.listeners[e]&&this.listeners[e].forEach(e=>e(...t))}}class s extends n{constructor(e){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=e}onInit(){}_init(e){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=e,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(e=>e()),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}}function r(e,t,i,n,s=3,o=0,a=100){if(!e)return()=>{};let l=matchMedia("(pointer: coarse)").matches,d=()=>{},u=r=>{if(r.button!==o)return;r.preventDefault(),r.stopPropagation();let u=r.clientX,c=r.clientY,h=!1,p=Date.now(),m=n=>{if(n.preventDefault(),n.stopPropagation(),l&&Date.now()-p<a)return;let r=n.clientX,o=n.clientY,d=r-u,m=o-c;if(h||Math.abs(d)>s||Math.abs(m)>s){let{left:n,top:s}=e.getBoundingClientRect();h||(null==i||i(u-n,c-s),h=!0),t(d,m,r-n,o-s),u=r,c=o}},g=t=>{if(h){let i=t.clientX,s=t.clientY,{left:r,top:o}=e.getBoundingClientRect();null==n||n(i-r,s-o)}d()},x=e=>{e.relatedTarget&&e.relatedTarget!==document.documentElement||g(e)},v=e=>{h&&(e.stopPropagation(),e.preventDefault())},f=e=>{h&&e.preventDefault()};document.addEventListener("pointermove",m),document.addEventListener("pointerup",g),document.addEventListener("pointerout",x),document.addEventListener("pointercancel",x),document.addEventListener("touchmove",f,{passive:!1}),document.addEventListener("click",v,{capture:!0}),d=()=>{document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",g),document.removeEventListener("pointerout",x),document.removeEventListener("pointercancel",x),document.removeEventListener("touchmove",f),setTimeout(()=>{document.removeEventListener("click",v,{capture:!0})},10)}};return e.addEventListener("pointerdown",u),()=>{d(),e.removeEventListener("pointerdown",u)}}function o(e,t,i){let n=function e(t,i){let n=i.xmlns?document.createElementNS(i.xmlns,t):document.createElement(t);for(let[t,s]of Object.entries(i))if("children"===t&&s)for(let[t,i]of Object.entries(s))i instanceof Node?n.appendChild(i):"string"==typeof i?n.appendChild(document.createTextNode(i)):n.appendChild(e(t,i));else"style"===t?Object.assign(n.style,s):"textContent"===t?n.textContent=s:n.setAttribute(t,s.toString());return n}(e,t||{});return null==i||i.appendChild(n),n}class a extends n{constructor(e,t,i=0){var n,s,r,o,a,l,d,u,c,h;super(),this.totalDuration=t,this.numberOfChannels=i,this.element=null,this.minLength=0,this.maxLength=1/0,this.contentEditable=!1,this.subscriptions=[],this.updatingSide=void 0,this.isRemoved=!1,this.subscriptions=[],this.id=e.id||`region-${Math.random().toString(32).slice(2)}`,this.start=this.clampPosition(e.start),this.end=this.clampPosition(null!=(n=e.end)?n:e.start),this.drag=null==(s=e.drag)||s,this.resize=null==(r=e.resize)||r,this.resizeStart=null==(o=e.resizeStart)||o,this.resizeEnd=null==(a=e.resizeEnd)||a,this.color=null!=(l=e.color)?l:"rgba(0, 0, 0, 0.1)",this.minLength=null!=(d=e.minLength)?d:this.minLength,this.maxLength=null!=(u=e.maxLength)?u:this.maxLength,this.channelIdx=null!=(c=e.channelIdx)?c:-1,this.contentEditable=null!=(h=e.contentEditable)?h:this.contentEditable,this.element=this.initElement(),this.setContent(e.content),this.setPart(),this.renderPosition(),this.initMouseEvents()}clampPosition(e){return Math.max(0,Math.min(this.totalDuration,e))}setPart(){var e;let t=this.start===this.end;null==(e=this.element)||e.setAttribute("part",`${t?"marker":"region"} ${this.id}`)}addResizeHandles(e){let t={position:"absolute",zIndex:"2",width:"6px",height:"100%",top:"0",cursor:"ew-resize",wordBreak:"keep-all"},i=o("div",{part:"region-handle region-handle-left",style:Object.assign(Object.assign({}
1,t),{left:"0",borderLeft:"2px solid rgba(0, 0, 0, 0.5)",borderRadius:"2px 0 0 2px"})},e),n=o("div",{part:"region-handle region-handle-right",style:Object.assign(Object.assign({},t),{right:"0",borderRight:"2px solid rgba(0, 0, 0, 0.5)",borderRadius:"0 2px 2px 0"})},e);this.subscriptions.push(r(i,e=>this.onResize(e,"start"),()=>null,()=>this.onEndResizing("start"),1),r(n,e=>this.onResize(e,"end"),()=>null,()=>this.onEndResizing("end"),1))}removeResizeHandles(e){let t=e.querySelector('[part*="region-handle-left"]'),i=e.querySelector('[part*="region-handle-right"]');t&&e.removeChild(t),i&&e.removeChild(i)}initElement(){if(this.isRemoved)return null;let e=this.start===this.end,t=0,i=100;this.channelIdx>=0&&this.numberOfChannels>0&&this.channelIdx<this.numberOfChannels&&(t=(i=100/this.numberOfChannels)*this.channelIdx);let n=o("div",{style:{position:"absolute",top:`${t}%`,height:`${i}%`,backgroundColor:e?"none":this.color,borderLeft:e?"2px solid "+this.color:"none",borderRadius:"2px",boxSizing:"border-box",transition:"background-color 0.2s ease",cursor:this.drag?"grab":"default",pointerEvents:"all"}});return!e&&this.resize&&this.addResizeHandles(n),n}renderPosition(){if(!this.element)return;let e=this.start/this.totalDuration,t=(this.totalDuration-this.end)/this.totalDuration;this.element.style.left=100*e+"%",this.element.style.right=100*t+"%"}toggleCursor(e){var t;this.drag&&(null==(t=this.element)?void 0:t.style)&&(this.element.style.cursor=e?"grabbing":"grab")}initMouseEvents(){let{element:e}=this;e&&(e.addEventListener("click",e=>this.emit("click",e)),e.addEventListener("mouseenter",e=>this.emit("over",e)),e.addEventListener("mouseleave",e=>this.emit("leave",e)),e.addEventListener("dblclick",e=>this.emit("dblclick",e)),e.addEventListener("pointerdown",()=>this.toggleCursor(!0)),e.addEventListener("pointerup",()=>this.toggleCursor(!1)),this.subscriptions.push(r(e,e=>this.onMove(e),()=>this.toggleCursor(!0),()=>{this.toggleCursor(!1),this.drag&&this.emit("update-end")})),this.contentEditable&&this.content&&(this.contentClickListener=e=>this.onContentClick(e),this.contentBlurListener=()=>this.onContentBlur(),this.content.addEventListener("click",this.contentClickListener),this.content.addEventListener("blur",this.contentBlurListener)))}_onUpdate(e,t,i){var n;if(!(null==(n=this.element)?void 0:n.parentElement))return;let{width:s}=this.element.parentElement.getBoundingClientRect(),r=e/s*this.totalDuration,o=t&&"start"!==t?this.start:this.start+r,a=t&&"end"!==t?this.end:this.end+r,l=void 0!==i;l&&this.updatingSide&&this.updatingSide!==t&&("start"===this.updatingSide?o=i:a=i),o=Math.max(0,o);let d=(a=Math.min(this.totalDuration,a))-o;this.updatingSide=t;let u=d>=this.minLength&&d<=this.maxLength;o<=a&&(u||l)&&(this.start=o,this.end=a,this.renderPosition(),this.emit("update",t))}onMove(e){this.drag&&this._onUpdate(e)}onResize(e,t){this.resize&&(this.resizeStart||"start"!==t)&&(this.resizeEnd||"end"!==t)&&this._onUpdate(e,t)}
1onEndResizing(e){this.resize&&(this.emit("update-end",e),this.updatingSide=void 0)}onContentClick(e){e.stopPropagation(),e.target.focus(),this.emit("click",e)}onContentBlur(){this.emit("update-end")}_setTotalDuration(e){this.totalDuration=e,this.renderPosition()}play(e){this.emit("play",e&&this.end!==this.start?this.end:void 0)}getContent(e=!1){var t;return e?this.content||void 0:this.element instanceof HTMLElement?(null==(t=this.content)?void 0:t.innerHTML)||void 0:""}setContent(e){var t;if(this.element)if(this.content&&this.contentEditable&&(this.contentClickListener&&this.content.removeEventListener("click",this.contentClickListener),this.contentBlurListener&&this.content.removeEventListener("blur",this.contentBlurListener)),null==(t=this.content)||t.remove(),e){if("string"==typeof e){let t=this.start===this.end;this.content=o("div",{style:{padding:`0.2em ${t?.2:.4}em`,display:"inline-block"},textContent:e})}else this.content=e;this.contentEditable&&(this.content.contentEditable="true",this.contentClickListener=e=>this.onContentClick(e),this.contentBlurListener=()=>this.onContentBlur(),this.content.addEventListener("click",this.contentClickListener),this.content.addEventListener("blur",this.contentBlurListener)),this.content.setAttribute("part","region-content"),this.element.appendChild(this.content),this.emit("content-changed")}else this.content=void 0}setOptions(e){var t,i;if(this.element){if(e.color&&(this.color=e.color,this.element.style.backgroundColor=this.color),void 0!==e.drag&&(this.drag=e.drag,this.element.style.cursor=this.drag?"grab":"default"),void 0!==e.start||void 0!==e.end){let n=this.start===this.end;this.start=this.clampPosition(null!=(t=e.start)?t:this.start),this.end=this.clampPosition(null!=(i=e.end)?i:n?this.start:this.end),this.renderPosition(),this.setPart()}if(e.content&&this.setContent(e.content),e.id&&(this.id=e.id,this.setPart()),void 0!==e.resize&&e.resize!==this.resize){let t=this.start===this.end;this.resize=e.resize,this.resize&&!t?this.addResizeHandles(this.element):this.removeResizeHandles(this.element)}void 0!==e.resizeStart&&(this.resizeStart=e.resizeStart),void 0!==e.resizeEnd&&(this.resizeEnd=e.resizeEnd)}}remove(){this.isRemoved=!0,this.emit("remove"),this.subscriptions.forEach(e=>e()),this.element&&(this.element.remove(),this.element=null)}}class l extends s{constructor(e){super(e),this.regions=[],this.regionsContainer=this.initRegionsContainer()}static create(e){return new l(e)}onInit(){if(!this.wavesurfer)throw Error("WaveSurfer is not initialized");this.wavesurfer.getWrapper().appendChild(this.regionsContainer),this.subscriptions.push(this.wavesurfer.on("ready",e=>{this.regions.forEach(t=>t._setTotalDuration(e))}));let e=[];this.subscriptions.push(this.wavesurfer.on("timeupdate",t=>{let i=this.regions.filter(e=>e.start<=t&&(e.end===e.start?e.start+.05:e.end)>=t);i.forEach(t=>{e.includes(t)||this.emit("region-in",t)}),e.forEach(e=>{i.includes(e)||this.emit("region-out",e)}),e=i}))}initRegionsContainer(){return o("div",{part:"regions-container",style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",zIndex:"5",pointerEvents:"none"}})}getRegions(){return this.regions}avoidOverlapping(e){e.content&&setTimeout(()=>{let t=e.content,i=t.getBoundingClientRect(),n=this.regions.map(t=>{if(t===e||!t.content)return 0;let n=t.content.getBoundingClientRect();return i.left<n.left+n.width&&n.left<i.left+i.width?n.height:0}).reduce((e,t)=>e+t,0);t.style.marginTop=`${n}px`},10)}adjustScroll(e){var t,i;if(!e.element)return;let n=null==(i=null==(t=this.wavesurfer)?void 0:t.getWrapper())?void 0:i.parentElement;if(!n)return;let{clientWidth:s,scrollWidth:r}=n;if(r<=s)return;let o=n.getBoundingClientRect(),a=e.element.getBoundingClientRect(),l=a.left-o.left,d=a.right-o.left;l<0?n.scrollLeft+=l:d>s&&(n.scrollLeft+=d-s)}virtualAppend(e,t,i){let n=()=>{if(!this.wavesurfer)return;let n=this.wavesurfer.getWidth(),s=this.wavesurfer.getScroll(),r=t.clientWidth,o=this.wavesurfer.getDuration(),a=Math.round(e.start/o*r),l=a+(Math.round((e.end-e.start)/o*r)||1)>s&&a<s+n;l&&!i.parentElement?t.appendChild(i):!l&&i.parentElement&&i.remove()};setTimeout(()=>{if(!this.wavesurfer||!e.element)return;n();let t=this.wavesurfer.on("scroll",n),i=this.wavesurfer.on("zoom",n);this.subscriptions.push(t,i),e.once("remove",()=>{t(),i()})},0)}saveRegion(e){if(!e.element)return;this.virtualAppend(e,this.regionsContainer,e.element),this.avoidOverlapping(e),this.regions.push(e);let t=[e.on("update",t=>
1{t||this.adjustScroll(e),this.emit("region-update",e,t)}),e.on("update-end",t=>{this.avoidOverlapping(e),this.emit("region-updated",e,t)}),e.on("play",t=>{var i;null==(i=this.wavesurfer)||i.play(e.start,t)}),e.on("click",t=>{this.emit("region-clicked",e,t)}),e.on("dblclick",t=>{this.emit("region-double-clicked",e,t)}),e.on("content-changed",()=>{this.emit("region-content-changed",e)}),e.once("remove",()=>{t.forEach(e=>e()),this.regions=this.regions.filter(t=>t!==e),this.emit("region-removed",e)})];this.subscriptions.push(...t),this.emit("region-created",e)}addRegion(e){var t,i;if(!this.wavesurfer)throw Error("WaveSurfer is not initialized");let n=this.wavesurfer.getDuration(),s=new a(e,n,null==(i=null==(t=this.wavesurfer)?void 0:t.getDecodedData())?void 0:i.numberOfChannels);return this.emit("region-initialized",s),n?this.saveRegion(s):this.subscriptions.push(this.wavesurfer.once("ready",e=>{s._setTotalDuration(e),this.saveRegion(s)})),s}enableDragSelection(e,t=3){var i;let n=null==(i=this.wavesurfer)?void 0:i.getWrapper();if(!(n&&n instanceof HTMLElement))return()=>{};let s=null,o=0,l=0;return r(n,(e,t,i)=>{s&&s._onUpdate(e,i>o?"end":"start",l)},t=>{var i,n;if(o=t,!this.wavesurfer)return;let r=this.wavesurfer.getDuration(),d=null==(n=null==(i=this.wavesurfer)?void 0:i.getDecodedData())?void 0:n.numberOfChannels,{width:u}=this.wavesurfer.getWrapper().getBoundingClientRect();l=o/u*r,s=new a(Object.assign(Object.assign({},e),{start:t/u*r,end:(t+5)/u*r}),r,d),this.emit("region-initialized",s),s.element&&this.regionsContainer.appendChild(s.element)},()=>{s&&(this.saveRegion(s),s.updatingSide=void 0,s=null)},t)}clearRegions(){this.regions.slice().forEach(e=>e.remove()),this.regions=[]}destroy(){this.clearRegions(),super.destroy(),this.regionsContainer.remove()}}},99907:(e,t,i)=>{"use strict";i.d(t,{bV:()=>n.bV,gk:()=>n.gk});var n=i(72167)}},e=>{e.O(0,[2618,4587,4e3,1598,8460,1737,8433,636,6593,8792],()=>e(e.s=53392)),_N_E=e.O()}]);
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.