web-audio-recorder-ts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +62 -0
  2. package/README.md +261 -0
  3. package/dist/core/WebAudioRecorder.d.ts +85 -0
  4. package/dist/core/WebAudioRecorder.d.ts.map +1 -0
  5. package/dist/core/types.d.ts +109 -0
  6. package/dist/core/types.d.ts.map +1 -0
  7. package/dist/encoders/Mp3LameEncoder.d.ts +48 -0
  8. package/dist/encoders/Mp3LameEncoder.d.ts.map +1 -0
  9. package/dist/encoders/OggVorbisEncoder.d.ts +48 -0
  10. package/dist/encoders/OggVorbisEncoder.d.ts.map +1 -0
  11. package/dist/encoders/WavAudioEncoder.d.ts +47 -0
  12. package/dist/encoders/WavAudioEncoder.d.ts.map +1 -0
  13. package/dist/index.cjs.js +770 -0
  14. package/dist/index.cjs.js.map +1 -0
  15. package/dist/index.d.ts +17 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.esm.js +760 -0
  18. package/dist/index.esm.js.map +1 -0
  19. package/dist/index.umd.js +776 -0
  20. package/dist/index.umd.js.map +1 -0
  21. package/dist/lib/Mp3LameEncoder.min.js +18 -0
  22. package/dist/lib/Mp3LameEncoder.min.js.mem +0 -0
  23. package/dist/lib/OggVorbisEncoder.min.js +17 -0
  24. package/dist/lib/OggVorbisEncoder.min.js.mem +0 -0
  25. package/dist/lib/WavAudioEncoder.min.js +1 -0
  26. package/dist/recorders/WebAudioRecorderMp3.d.ts +29 -0
  27. package/dist/recorders/WebAudioRecorderMp3.d.ts.map +1 -0
  28. package/dist/recorders/WebAudioRecorderOgg.d.ts +29 -0
  29. package/dist/recorders/WebAudioRecorderOgg.d.ts.map +1 -0
  30. package/dist/recorders/WebAudioRecorderWav.d.ts +20 -0
  31. package/dist/recorders/WebAudioRecorderWav.d.ts.map +1 -0
  32. package/lib/Mp3LameEncoder.min.js +18 -0
  33. package/lib/Mp3LameEncoder.min.js.mem +0 -0
  34. package/lib/OggVorbisEncoder.min.js +17 -0
  35. package/lib/OggVorbisEncoder.min.js.mem +0 -0
  36. package/lib/WavAudioEncoder.min.js +1 -0
  37. package/package.json +62 -0
  38. package/types/mp3-lame-encoder.d.ts +28 -0
  39. package/types/ogg-vorbis-encoder.d.ts +28 -0
  40. package/types/wav-audio-encoder.d.ts +17 -0
@@ -0,0 +1 @@
1
+ (function(n){var a=Math.min,s=Math.max;var e=function(n,a,e){var s=e.length;for(var t=0;t<s;++t)n.setUint8(a+t,e.charCodeAt(t))};var t=function(t,e){this.sampleRate=t;this.numChannels=e;this.numSamples=0;this.dataViews=[]};t.prototype.encode=function(r){var t=r[0].length,u=this.numChannels,h=new DataView(new ArrayBuffer(t*u*2)),o=0;for(var e=0;e<t;++e)for(var n=0;n<u;++n){var i=r[n][e]*32767;h.setInt16(o,i<0?s(i,-32768):a(i,32767),true);o+=2}this.dataViews.push(h);this.numSamples+=t};t.prototype.finish=function(s){var n=this.numChannels*this.numSamples*2,t=new DataView(new ArrayBuffer(44));e(t,0,"RIFF");t.setUint32(4,36+n,true);e(t,8,"WAVE");e(t,12,"fmt ");t.setUint32(16,16,true);t.setUint16(20,1,true);t.setUint16(22,this.numChannels,true);t.setUint32(24,this.sampleRate,true);t.setUint32(28,this.sampleRate*4,true);t.setUint16(32,this.numChannels*2,true);t.setUint16(34,16,true);e(t,36,"data");t.setUint32(40,n,true);this.dataViews.unshift(t);var a=new Blob(this.dataViews,{type:"audio/wav"});this.cleanup();return a};t.prototype.cancel=t.prototype.cleanup=function(){delete this.dataViews};n.WavAudioEncoder=t})(self);
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Recorder MP3 usando WebAudioRecorder
3
+ *
4
+ * @module recorders/WebAudioRecorderMp3
5
+ */
6
+ import { WebAudioRecorder } from '../core/WebAudioRecorder';
7
+ import { RecorderOptions, Mp3Options } from '../core/types';
8
+ /**
9
+ * Classe para gravação de áudio em formato MP3
10
+ */
11
+ export declare class WebAudioRecorderMp3 extends WebAudioRecorder {
12
+ private mp3Options;
13
+ /**
14
+ * Cria uma instância do recorder MP3
15
+ *
16
+ * @param audioContext - Contexto de áudio Web Audio API
17
+ * @param options - Opções de configuração do recorder
18
+ * @param mp3Options - Opções específicas do encoder MP3
19
+ */
20
+ constructor(audioContext: AudioContext, options?: RecorderOptions, mp3Options?: Mp3Options);
21
+ /**
22
+ * Carrega o script Mp3LameEncoder antes de usar
23
+ *
24
+ * @param scriptUrl - URL do script Mp3LameEncoder.min.js
25
+ * @returns Promise que resolve quando o script é carregado
26
+ */
27
+ static loadEncoder(scriptUrl: string): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=WebAudioRecorderMp3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAudioRecorderMp3.d.ts","sourceRoot":"","sources":["../../src/recorders/WebAudioRecorderMp3.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE5D;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,UAAU,CAAa;IAE/B;;;;;;OAMG;gBAED,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,eAAoB,EAC7B,UAAU,GAAE,UAAe;IAU7B;;;;;OAKG;WACU,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Recorder OGG Vorbis usando WebAudioRecorder
3
+ *
4
+ * @module recorders/WebAudioRecorderOgg
5
+ */
6
+ import { WebAudioRecorder } from '../core/WebAudioRecorder';
7
+ import { RecorderOptions, OggVorbisOptions } from '../core/types';
8
+ /**
9
+ * Classe para gravação de áudio em formato OGG Vorbis
10
+ */
11
+ export declare class WebAudioRecorderOgg extends WebAudioRecorder {
12
+ private oggOptions;
13
+ /**
14
+ * Cria uma instância do recorder OGG Vorbis
15
+ *
16
+ * @param audioContext - Contexto de áudio Web Audio API
17
+ * @param options - Opções de configuração do recorder
18
+ * @param oggOptions - Opções específicas do encoder OGG
19
+ */
20
+ constructor(audioContext: AudioContext, options?: RecorderOptions, oggOptions?: OggVorbisOptions);
21
+ /**
22
+ * Carrega o script OggVorbisEncoder antes de usar
23
+ *
24
+ * @param scriptUrl - URL do script OggVorbisEncoder.min.js
25
+ * @returns Promise que resolve quando o script é carregado
26
+ */
27
+ static loadEncoder(scriptUrl: string): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=WebAudioRecorderOgg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAudioRecorderOgg.d.ts","sourceRoot":"","sources":["../../src/recorders/WebAudioRecorderOgg.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAElE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,UAAU,CAAmB;IAErC;;;;;;OAMG;gBAED,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,eAAoB,EAC7B,UAAU,GAAE,gBAAqB;IAUnC;;;;;OAKG;WACU,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Recorder WAV usando WebAudioRecorder
3
+ *
4
+ * @module recorders/WebAudioRecorderWav
5
+ */
6
+ import { WebAudioRecorder } from '../core/WebAudioRecorder';
7
+ import { RecorderOptions } from '../core/types';
8
+ /**
9
+ * Classe para gravação de áudio em formato WAV
10
+ */
11
+ export declare class WebAudioRecorderWav extends WebAudioRecorder {
12
+ /**
13
+ * Cria uma instância do recorder WAV
14
+ *
15
+ * @param audioContext - Contexto de áudio Web Audio API
16
+ * @param options - Opções de configuração do recorder
17
+ */
18
+ constructor(audioContext: AudioContext, options?: RecorderOptions);
19
+ }
20
+ //# sourceMappingURL=WebAudioRecorderWav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAudioRecorderWav.d.ts","sourceRoot":"","sources":["../../src/recorders/WebAudioRecorderWav.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD;;;;;OAKG;gBACS,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,eAAoB;CAOtE"}