{"_id":"@cantoo/capacitor-audio-capture","_rev":"8-40ef32119308f71fe4c02b40893c6935","name":"@cantoo/capacitor-audio-capture","dist-tags":{"latest":"0.3.4"},"versions":{"0.1.1":{"name":"@cantoo/capacitor-audio-capture","version":"0.1.1","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.1.1","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"1b26c8015e26f171a99e038796c12b0fc448bf28","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.1.1.tgz","fileCount":26,"integrity":"sha512-kT6/XUQnk4PAPOQkTEQRq81iR5i5uEQF85AmutUspy+bc4U3rY8/0qAiJGaCVIp6utT4XaoTTKSGCuSkOL8CRg==","signatures":[{"sig":"MEUCIEWkyoo/faktLz59ad9iRDYYgdWpCbA93S9wcFlTosRMAiEAmfnwCPxYoKQE46CMynpB4JPOr8kNFwMI3WKeGBKftY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107414},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"a20690917e5e442531ca35a67d7540b1291671ee","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"11.11.0","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.1.1_1778485274340_0.195895809827207","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cantoo/capacitor-audio-capture","version":"0.1.2","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.1.2","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"af9be71e6b4ac2ca70057e1c0c0a0e7956f1b0c1","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.1.2.tgz","fileCount":26,"integrity":"sha512-XLNC6btfiGMOs4IyVtdR+g2eXa4gCOdDslZw3eJZdq3DyMiQYbUtftIrjTKTYdinI0HWLZwRRa5LkvY3gv7/LQ==","signatures":[{"sig":"MEUCIEXRsvF0DckfpeZ9eOSu6j5q/kyt5vhIG5lZY4Ldbxl7AiEAkFHPERDN6xKZP/NGfmfZEFB1NfEWtNdyLRuloPbO7JM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106317},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"2409780875463cffc3759c848812721a52417175","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"11.11.0","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.1.2_1778487611799_0.12732179421534595","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cantoo/capacitor-audio-capture","version":"0.1.3","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.1.3","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"edd47080009ef2224c8d3b8d17b933e98af8c154","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.1.3.tgz","fileCount":26,"integrity":"sha512-loe0A3P3MeUa6DGTJpz6eEIvaDnWxug2Pnqx4f7cGLD8NijOPRNcSw2TjjbcL4Gpt60sT6HRcdHJmYXn6IygKw==","signatures":[{"sig":"MEUCIQCwHemx2XYX36ubOYVs4jpeFnUtN8Ot7TbB7JRKvf9IaQIgYtjphoVnc/VsFOIbjYbOF3XNePQqf8cM4XNlCbedBbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119174},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"d2e0399d92b71758dde1c222f5bf4f32cbc1c3f2","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"11.11.0","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.1.3_1778490496987_0.7650900723040932","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cantoo/capacitor-audio-capture","version":"0.3.0","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.3.0","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"e801827afb8c5b207e306c82dbe514f7ce9d9f58","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.3.0.tgz","fileCount":26,"integrity":"sha512-dhNijH6nigXhsAQQTcfC99ySllOqAttMPBC3yStICJ5QB/wvSzySqTXtnHIdV4AMCnyfYFxO/TBPQ5KSuCRUZg==","signatures":[{"sig":"MEQCIGrm8BjXj2xmBFUKcNrsgTm8Th8IIowhFRqSmTOGKe1OAiB2Y/q4U7BeUKBAnrrI+lPTcEiyMPyUGW4BTOhwiNauqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135533},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"62546d746f08699052d13deaf85ed785d0724ccd","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"11.11.0","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.3.0_1778500360943_0.2146934879807294","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cantoo/capacitor-audio-capture","version":"0.3.1","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.3.1","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"539a3a9328641b3e1b3cfc7fef9da8cfae3deb23","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.3.1.tgz","fileCount":26,"integrity":"sha512-qFwaLbuxUqwbEcwu8AX4Zl0imcUsGkIWfI43qqu/Ht1LpMnzNbTfaN1tS8tI+i3x4Beti4pK3MtyxcVDnEUGJw==","signatures":[{"sig":"MEYCIQCkI3TD/KJS2ZQl1JrEBJYIURqW2sCvy4PtuW1OJqUTCgIhANwDTEsFoU6xe+Eq3Ho6Y7k10YJDelnNT3iudmI/m3hn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143584},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"bfd905a498bb7114c9a9e4146d34ec85a6fd3601","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"11.11.0","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.3.1_1778504021736_0.13383712818439442","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@cantoo/capacitor-audio-capture","version":"0.3.2","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.3.2","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"3043c82241581e18f48b9399e516ce40434340fe","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.3.2.tgz","fileCount":26,"integrity":"sha512-fQontGeOjworjOKRyagLnCXHChrE8Z2d4Z0JQqtkpgbLH9r3LP90j9ekRdb/5R+sUOXQCzMTgohUmFT+n/ii7g==","signatures":[{"sig":"MEYCIQDbijq+bQNQkyKXiGJ6MqglLCNubm6qs4+1a70rHgMgpQIhAJs3IcGLrzVZkuhwEV8uMyntWS+jLuJiezjX3tEdPLgN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147757},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"c4f8398da19d0bbdfed91fa76b2f3a6b8cac3fed","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"11.11.0","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.3.2_1778604957450_0.8417257336491177","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@cantoo/capacitor-audio-capture","version":"0.3.3","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"author":{"name":"Cantoo"},"license":"MIT","_id":"@cantoo/capacitor-audio-capture@0.3.3","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"dist":{"shasum":"084af08a93990e789911957432810248212e151e","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.3.3.tgz","fileCount":26,"integrity":"sha512-sa6R+xsfM+4kTMCZ4Cqd4zVSAqoSGkDSHEuySEz1GymNxZWpwlNWdlDcf6po1TikjhqKHYxLIv439vzuHB4RhA==","signatures":[{"sig":"MEYCIQCFJOyvQjENz1Mns5pmCs62ktMsbJenZXpuGqlhy7DhEAIhANAoHl4rKykP28ckrSAST6bUMDkZPx4r2eoY1AEJTbiO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163387},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"ae86a19b3379f13c053cab2ed14c31bb3f696229","scripts":{"fmt":"biome check --write src","lint":"biome check src","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","verify":"pnpm run verify:web","verify:web":"pnpm run build","inline-workers":"node scripts/inline-workers.mjs","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/cantoo/capacitor-audio-capture.git","type":"git"},"_npmVersion":"10.9.4","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.30.3","devDependencies":{"rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5","@biomejs/biome":"^2.0.0","@capacitor/ios":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/android":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-audio-capture_0.3.3_1779809900725_0.567881732996502","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@cantoo/capacitor-audio-capture","version":"0.3.4","description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","main":"dist/plugin.cjs.js","module":"dist/esm/index.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Cantoo"},"license":"MIT","homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","repository":{"type":"git","url":"git+https://github.com/cantoo/capacitor-audio-capture.git"},"bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"publishConfig":{"access":"public"},"scripts":{"verify":"pnpm run verify:web","verify:web":"pnpm run build","lint":"biome check src","fmt":"biome check --write src","docgen":"docgen --api AudioCapturePlugin --output-readme README.md --output-json dist/docs.json","build":"pnpm run clean && tsc && pnpm run inline-workers && rollup -c rollup.config.mjs","inline-workers":"node scripts/inline-workers.mjs","clean":"rimraf ./dist","watch":"tsc --watch","prepublishOnly":"pnpm run build"},"packageManager":"pnpm@10.30.3","devDependencies":{"@biomejs/biome":"^2.0.0","@capacitor/android":"^7.0.0","@capacitor/core":"^7.0.0","@capacitor/docgen":"^0.3.0","@capacitor/ios":"^7.0.0","@rollup/plugin-commonjs":"^28.0.0","@rollup/plugin-node-resolve":"^16.0.0","rimraf":"^6.0.1","rollup":"^4.22.4","typescript":"~5.4.5"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"_id":"@cantoo/capacitor-audio-capture@0.3.4","gitHead":"4d6910b63971611388f5415c3512c21585865051","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-x6smSBae8p2KTN5hy8P+4QJ1KQQMwkDohbM1BG4Af4khBS11CVw98rTptnoX9ta5kGw3EbT3jVn1cNFMVQEt/A==","shasum":"b522192edf6042b627a795694c4f11a57ddfa339","tarball":"https://registry.npmjs.org/@cantoo/capacitor-audio-capture/-/capacitor-audio-capture-0.3.4.tgz","fileCount":26,"unpackedSize":172179,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCVbJ3FoAo1SA1qVMk6o3J6MSJQ9IRW77NiNt4SlI6cQAIgWFNiN6X6m1HLrnSqs3/5hnraBBUb3EyvKJ3qMb8wxJ4="}]},"_npmUser":{"name":"felipecantoo","email":"felipe@cantoo.fr"},"directories":{},"maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-audio-capture_0.3.4_1780589293476_0.46529340510313966"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T07:41:14.184Z","modified":"2026-06-04T16:08:14.044Z","0.1.1":"2026-05-11T07:41:14.500Z","0.1.2":"2026-05-11T08:20:11.935Z","0.1.3":"2026-05-11T09:08:17.124Z","0.3.0":"2026-05-11T11:52:41.134Z","0.3.1":"2026-05-11T12:53:41.870Z","0.3.2":"2026-05-12T16:55:57.619Z","0.3.3":"2026-05-26T15:38:20.886Z","0.3.4":"2026-06-04T16:08:13.825Z"},"bugs":{"url":"https://github.com/cantoo/capacitor-audio-capture/issues"},"author":{"name":"Cantoo"},"license":"MIT","homepage":"https://github.com/cantoo/capacitor-audio-capture#readme","keywords":["capacitor","capacitor-plugin","capacitor-android","capacitor-ios","audio","audio-capture","audio-recording","microphone","pcm","float32","streaming","audio-worklet"],"repository":{"type":"git","url":"git+https://github.com/cantoo/capacitor-audio-capture.git"},"description":"Capacitor v7 plugin that captures microphone audio and streams raw PCM (base64 Float32) chunks to the consumer (web/Android/iOS).","maintainers":[{"name":"sharcoux","email":"f.billioud@gmail.com"},{"name":"ribeirofmatheus","email":"matheus_f.ribeiro@hotmail.com"},{"name":"matheusrdsantos","email":"matheus.r.d.s10@hotmail.com"},{"name":"gabrielnsd","email":"gabrielnsdantas@gmail.com"},{"name":"felipecantoo","email":"felipe@cantoo.fr"},{"name":"nicodemos234","email":"nicodemos54324@gmail.com"}],"readme":"# @cantoo/capacitor-audio-capture\n\n> Capacitor v7 plugin that captures microphone audio on **web / Android / iOS**\n> and streams **raw PCM** as `Float32Array` (mono) chunks to the consumer.\n> No format conversion, no compression — your app decides what to do with\n> the samples.\n\n[![npm](https://img.shields.io/npm/v/@cantoo/capacitor-audio-capture.svg)](https://www.npmjs.com/package/@cantoo/capacitor-audio-capture)\n[![license](https://img.shields.io/npm/l/@cantoo/capacitor-audio-capture.svg)](./LICENSE)\n\n---\n\n## Platforms\n\n| Platform | Implementation                                                       | Minimum            |\n| -------- | -------------------------------------------------------------------- | ------------------ |\n| Web      | `getUserMedia` + `AudioWorklet` (DSP off the main thread)            | modern browser     |\n| Android  | `AudioRecord` (44.1 kHz PCM16) on a dedicated thread                 | API 23 (Android 6) |\n| iOS      | `AVAudioEngine.installTap` on a dedicated queue                      | iOS 14             |\n\nNative captures mono audio, resamples it to `targetSampleRate` via linear\ninterpolation, applies optional RMS silence filtering, and ships each chunk\nover the bridge as base64 little-endian Float32 PCM. The JS wrapper decodes\nthat base64 once and hands the consumer a `Float32Array` — no further\nencoding/decoding inside the plugin.\n\n## Installation\n\n```bash\npnpm add @cantoo/capacitor-audio-capture\n# or: npm i @cantoo/capacitor-audio-capture\n# or: yarn add @cantoo/capacitor-audio-capture\n\nnpx cap sync\n```\n\n### Permissions\n\n- **iOS** — add to `Info.plist`:\n  ```xml\n  <key>NSMicrophoneUsageDescription</key>\n  <string>Used to record audio while you use the app.</string>\n  ```\n- **Android** — `RECORD_AUDIO` is already declared by the plugin; permission is\n  requested at runtime on the first call to `startCapture`.\n- **Web** — requires a secure context (HTTPS or `localhost`) and the user must\n  grant microphone access.\n\n## Usage\n\n```ts\nimport { AudioCapture } from '@cantoo/capacitor-audio-capture';\n\nawait AudioCapture.startCapture({\n  chunkDurationMs: 250,\n  targetSampleRate: 16000,\n  silenceThreshold: 0.01,\n  listener: (sequence, chunk) => {\n    // chunk: Float32Array, mono, at targetSampleRate (samples in -1..1)\n    console.log(sequence, chunk.length);\n  },\n});\n\n// later\nawait AudioCapture.stopCapture();\nawait AudioCapture.release();\n```\n\n### Examples\n\n**Send to a backend** (base64-encode just before the request):\n\n```ts\nlistener: (_seq, chunk) => {\n  const bytes = new Uint8Array(chunk.buffer);\n  let bin = '';\n  for (let i = 0; i < bytes.length; i++) bin += String.fromCharCode(bytes[i]);\n  const base64 = btoa(bin);\n  fetch('/api/audio', {\n    method: 'POST',\n    headers: { 'Content-Type': 'application/octet-stream' },\n    body: chunk.buffer,\n  });\n}\n```\n\n**Buffer for a client-side WAV**:\n\n```ts\nawait AudioCapture.startCapture({\n  chunkDurationMs: 250,\n  targetSampleRate: 16000,\n  silenceThreshold: 0,\n  accumulate: true,\n});\n// ... user stops ...\nconst { audio } = await AudioCapture.stopCapture();\n// `audio` is a Float32Array of the full session — convert to Int16,\n// prepend a 44-byte WAV header, and you have a playable file.\n```\n\n## API\n\n### `startCapture(options?)`\n\n| Field              | Type                                                  | Default | Description                                                  |\n| ------------------ | ----------------------------------------------------- | ------- | ------------------------------------------------------------ |\n| `chunkDurationMs`  | `number`                                              | `1000`  | Duration of each emitted chunk.                              |\n| `targetSampleRate` | `number`                                              | `16000` | Target sample rate. Audio is resampled to this value.        |\n| `silenceThreshold` | `number` (RMS 0..1)                                   | `0`     | Chunks with RMS below this value are dropped (`0` disables). |\n| `voiceProcessing`  | `boolean`                                             | `true`  | Toggle the platform voice pre-processing bundle (echo cancellation, noise suppression, auto gain) on all platforms. Set `false` for the rawest signal. |\n| `listener`         | `(sequence: number, chunk: Float32Array) => void`     | —       | Stream consumer. Without it, capture runs but emits nothing. |\n| `accumulate`       | `boolean`                                             | `false` | Buffer every emitted chunk and return the concatenated PCM from `stopCapture`. Silent chunks are skipped. |\n\n`sequence` is monotonically increasing per session and resets on every\n`startCapture`. It is incremented even for chunks dropped by silence\ndetection, so consumers can detect temporal gaps.\n\n### `stopCapture()`\n\nStops capture and releases the active capture session. Returns\n`{ audio: Float32Array }`. When the session was started with `accumulate: true`,\n`audio` is the concatenated PCM (mono Float32 at `targetSampleRate`); otherwise\nit is an empty `Float32Array`.\n\n### `release()`\n\nStops capture, removes listeners, and frees every open resource.\n\n### Exported types\n\n```ts\nimport type {\n  AudioCapturePlugin,\n  AudioChunkListener,  // (sequence, chunk: Float32Array) => void\n  AudioCaptureError,\n  AudioCaptureErrorCode,\n  StartCaptureOptions,\n} from '@cantoo/capacitor-audio-capture';\n```\n\n## Error handling\n\nEvery rejected Promise from the plugin carries a `.code` from a closed set,\nidentical across iOS, Android, and Web. Branch on `.code` rather than parsing\nmessages — the messages are short and stable, but only the code is part of the\npublic contract.\n\n| Code                     | When it's raised                                                                              |\n| ------------------------ | --------------------------------------------------------------------------------------------- |\n| `PERMISSION_DENIED`      | User denied microphone access (or never granted it).                                          |\n| `MICROPHONE_UNAVAILABLE` | Microphone missing, busy, or fails to initialize (no input device, hardware/OS-level issue). |\n| `ALREADY_CAPTURING`      | `startCapture` was called while a session is already running.                                 |\n| `UNAVAILABLE`            | Web only: `getUserMedia` or `AudioWorklet` is missing in this environment.                    |\n| `INTERNAL_ERROR`         | Fallback for anything not matching the categories above.                                      |\n\n```ts\nimport { AudioCapture, type AudioCaptureError } from '@cantoo/capacitor-audio-capture';\n\ntry {\n  await AudioCapture.startCapture({ /* ... */ });\n} catch (e) {\n  const code = (e as AudioCaptureError).code;\n  if (code === 'PERMISSION_DENIED') {\n    // prompt user to enable mic access in OS settings\n  } else if (code === 'MICROPHONE_UNAVAILABLE') {\n    // surface a \"no microphone\" state in UI\n  } else if (code === 'ALREADY_CAPTURING') {\n    // ignore or call stopCapture() first\n  }\n}\n```\n\n## Why base64 on the wire, `Float32Array` in the API?\n\nCapacitor's native↔JS bridge can only carry JSON-serializable values.\nEncoding the PCM samples as base64 is ~33% smaller than a JSON number array\nand significantly faster to serialize/deserialize on both sides. The\nplugin's wrapper does the **one** decode (base64 → `Float32Array`) so the\nconsumer always receives the natural representation for audio: a typed\narray of mono samples in `[-1, 1]`.\n\n## Web and Content-Security-Policy\n\nOn web, the `AudioWorkletProcessor` is inlined as a string and loaded via\n`URL.createObjectURL(new Blob([...]))`. If the host app has a strict CSP\nthat doesn't allow `blob:` in `script-src` / `worker-src`, the worklet\nwon't load — simply allow `blob:` in the appropriate directive.\n\n## License\n\n[MIT](./LICENSE) © Cantoo\n","readmeFilename":"README.md"}