| import{A as e,J as t,K as n,Pt as r,b as i,c as a,kt as o,m as s,ut as c,w as l,x as u,xt as d}from"./vue.runtime.esm-bundler-_ZPRHVd_.js";import{c as f,g as p}from"./dist-Che88T83.js";import{a as m,i as h,n as g,r as _,t as v}from"./output-C8zlODy6.js";import"./__vite-browser-external-BaycPy5b.js";var y=[`value`],b=[`src`],x=e({__name:`audio-record`,setup(e){let{audioInputs:x}=f({constraints:{audio:!0},requestPermissions:!0}),S=d(``);async function C(e){return(await navigator.mediaDevices.getUserMedia({audio:{deviceId:e}})).getAudioTracks()[0]}let w,T,E,D=d([]),O=i(()=>D.value.map(e=>p(new Blob([e],{type:E})).value));async function k(){T=await C(S.value),w=new v({format:new h,target:new m});let e=new g(T,{codec:`pcm-f32`,bitrate:_});e.errorPromise.catch(console.error),w.addAudioTrack(e),E=await w.getMimeType(),await w.start()}async function A(){await w?.finalize();let e=w?.target;e?.buffer&&D.value.push(e.buffer)}function j(){w?.cancel()}return(e,i)=>(n(),l(`div`,null,[u(`div`,null,[c(u(`select`,{"onUpdate:modelValue":i[0]||=e=>S.value=e},[i[1]||=u(`option`,{value:``},` Select `,-1),(n(!0),l(s,null,t(o(x),(e,t)=>(n(),l(`option`,{key:t,value:e.deviceId},r(e.label),9,y))),128))],512),[[a,S.value]])]),u(`div`,{"space-x-2":``},[u(`button`,{onClick:k},` Start `),u(`button`,{onClick:j},` Cancel `),u(`button`,{onClick:A},` Stop `)]),u(`div`,null,[(n(!0),l(s,null,t(O.value,(e,t)=>(n(),l(`audio`,{key:t,controls:``},[u(`source`,{src:e,type:`audio/wav`},null,8,b)]))),128))])]))}});export{x as default}; |