react-native-audio-api 0.11.0-alpha.0 → 0.11.0-alpha.1

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 (38) hide show
  1. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +77 -29
  2. package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +17 -4
  3. package/android/src/main/cpp/audioapi/android/core/utils/AndroidFileWriterBackend.h +6 -2
  4. package/android/src/main/cpp/audioapi/android/core/utils/AndroidRecorderCallback.cpp +187 -0
  5. package/android/src/main/cpp/audioapi/android/core/utils/AndroidRecorderCallback.h +57 -0
  6. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.cpp +22 -24
  7. package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.h +3 -2
  8. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.cpp +40 -8
  9. package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.h +3 -2
  10. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.cpp +24 -7
  11. package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.h +3 -0
  12. package/common/cpp/audioapi/core/inputs/AudioRecorder.cpp +16 -115
  13. package/common/cpp/audioapi/core/inputs/AudioRecorder.h +35 -32
  14. package/ios/audioapi/ios/core/IOSAudioFileOptions.h +1 -0
  15. package/ios/audioapi/ios/core/IOSAudioFileOptions.mm +5 -0
  16. package/ios/audioapi/ios/core/IOSAudioFileWriter.h +16 -3
  17. package/ios/audioapi/ios/core/IOSAudioFileWriter.mm +86 -50
  18. package/ios/audioapi/ios/core/IOSAudioRecorder.h +11 -2
  19. package/ios/audioapi/ios/core/IOSAudioRecorder.mm +76 -31
  20. package/ios/audioapi/ios/core/IOSRecorderCallback.h +57 -0
  21. package/ios/audioapi/ios/core/IOSRecorderCallback.mm +189 -0
  22. package/ios/audioapi/ios/core/NativeAudioRecorder.h +2 -3
  23. package/ios/audioapi/ios/core/NativeAudioRecorder.m +26 -0
  24. package/ios/audioapi/ios/core/utils/AudioDecoder.mm +1 -0
  25. package/lib/commonjs/core/AudioRecorder.js +14 -1
  26. package/lib/commonjs/core/AudioRecorder.js.map +1 -1
  27. package/lib/module/core/AudioRecorder.js +14 -1
  28. package/lib/module/core/AudioRecorder.js.map +1 -1
  29. package/lib/typescript/core/AudioRecorder.d.ts +6 -3
  30. package/lib/typescript/core/AudioRecorder.d.ts.map +1 -1
  31. package/lib/typescript/interfaces.d.ts +5 -3
  32. package/lib/typescript/interfaces.d.ts.map +1 -1
  33. package/lib/typescript/types.d.ts +5 -0
  34. package/lib/typescript/types.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/core/AudioRecorder.ts +27 -10
  37. package/src/interfaces.ts +6 -2
  38. package/src/types.ts +6 -0
@@ -4,6 +4,23 @@
4
4
 
5
5
  @implementation NativeAudioRecorder
6
6
 
7
+ static inline uint32_t nextPowerOfTwo(uint32_t x)
8
+ {
9
+ if (x == 0) {
10
+ return 1;
11
+ }
12
+
13
+ x--;
14
+ x |= x >> 1;
15
+ x |= x >> 2;
16
+ x |= x >> 4;
17
+ x |= x >> 8;
18
+ x |= x >> 16;
19
+ x++;
20
+
21
+ return x;
22
+ }
23
+
7
24
  - (instancetype)initWithReceiverBlock:(AudioReceiverBlock)receiverBlock
8
25
  {
9
26
  if (self = [super init]) {
@@ -30,6 +47,15 @@
30
47
  return [AudioEngine.sharedInstance.audioEngine.inputNode inputFormatForBus:0];
31
48
  }
32
49
 
50
+ - (int)getBufferSize
51
+ {
52
+ // NOTE: this method should be called only after the session is activated
53
+ AVAudioSession *audioSession = [AVAudioSession sharedInstance];
54
+ float bufferDuration = audioSession.IOBufferDuration > 0 ? audioSession.IOBufferDuration : 0.02;
55
+
56
+ return nextPowerOfTwo(ceil(bufferDuration * audioSession.sampleRate));
57
+ }
58
+
33
59
  - (void)start
34
60
  {
35
61
  AudioEngine *audioEngine = [AudioEngine sharedInstance];
@@ -59,6 +59,7 @@ std::shared_ptr<AudioBuffer> AudioDecoder::makeAudioBufferFromFloatBuffer(
59
59
  channelData[i] = buffer[i * outputChannels + ch];
60
60
  }
61
61
  }
62
+
62
63
  return std::make_shared<AudioBuffer>(audioBus);
63
64
  }
64
65
 
@@ -53,6 +53,7 @@ function parseFileOptions(inOptions) {
53
53
  class AudioRecorder {
54
54
  onAudioReadySubscription = null;
55
55
  options_ = null;
56
+ isFileOutputEnabled = false;
56
57
  audioEventEmitter = new _events.AudioEventEmitter(global.AudioEventEmitter);
57
58
  constructor() {
58
59
  this.recorder = global.createAudioRecorder();
@@ -64,6 +65,7 @@ class AudioRecorder {
64
65
  this.options_ = options;
65
66
  const parsedOptions = parseFileOptions(options);
66
67
  this.recorder.enableFileOutput(parsedOptions);
68
+ this.isFileOutputEnabled = true;
67
69
  }
68
70
  get options() {
69
71
  return this.options_;
@@ -71,11 +73,16 @@ class AudioRecorder {
71
73
  disableFileOutput() {
72
74
  this.options_ = null;
73
75
  this.recorder.disableFileOutput();
76
+ this.isFileOutputEnabled = false;
74
77
  }
75
78
 
76
79
  /** Starts the audio recording process with configured output options */
77
80
  start() {
78
- this.recorder.start();
81
+ if (!this.isFileOutputEnabled) {
82
+ this.recorder.start();
83
+ return;
84
+ }
85
+ return this.recorder.start();
79
86
  }
80
87
 
81
88
  /** Stops the audio recording process and releases internal resources */
@@ -184,6 +191,12 @@ class AudioRecorder {
184
191
  isRecording() {
185
192
  return this.recorder.isRecording();
186
193
  }
194
+ isPaused() {
195
+ return this.recorder.isPaused();
196
+ }
197
+ getCurrentDuration() {
198
+ return this.recorder.getCurrentDuration();
199
+ }
187
200
  }
188
201
  exports.default = AudioRecorder;
189
202
  //# sourceMappingURL=AudioRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_types","_utils","_AudioBuffer","_interopRequireDefault","e","__esModule","default","withDefaultOptions","inOptions","directory","FileDirectory","Cache","sampleRate","channels","bitRate","bitDepth","BitDepth","Bit24","ios","format","IOSFormat","M4A","quality","IOSAudioQuality","High","android","AndroidFormat","parseFileOptions","iosFlags","encodeFlags","flacCompressionLevel","androidFlags","AudioRecorder","onAudioReadySubscription","options_","audioEventEmitter","AudioEventEmitter","global","constructor","recorder","createAudioRecorder","enableFileOutput","options","isRecording","Error","parsedOptions","disableFileOutput","start","stop","pause","resume","connect","node","wasConnected","getNode","disconnect","onAudioReady","callback","clearOnAudioReady","remove","addAudioEventListener","event","audioBuffer","AudioBuffer","buffer","setOnAudioReady","bufferLength","channelCount","callbackId","subscriptionId","exports"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_events","require","_types","_utils","_AudioBuffer","_interopRequireDefault","e","__esModule","default","withDefaultOptions","inOptions","directory","FileDirectory","Cache","sampleRate","channels","bitRate","bitDepth","BitDepth","Bit24","ios","format","IOSFormat","M4A","quality","IOSAudioQuality","High","android","AndroidFormat","parseFileOptions","iosFlags","encodeFlags","flacCompressionLevel","androidFlags","AudioRecorder","onAudioReadySubscription","options_","isFileOutputEnabled","audioEventEmitter","AudioEventEmitter","global","constructor","recorder","createAudioRecorder","enableFileOutput","options","isRecording","Error","parsedOptions","disableFileOutput","start","stop","pause","resume","connect","node","wasConnected","getNode","disconnect","onAudioReady","callback","clearOnAudioReady","remove","addAudioEventListener","event","audioBuffer","AudioBuffer","buffer","setOnAudioReady","bufferLength","channelCount","callbackId","subscriptionId","isPaused","getCurrentDuration","exports"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,7 @@ function parseFileOptions(inOptions) {
48
48
  export default class AudioRecorder {
49
49
  onAudioReadySubscription = null;
50
50
  options_ = null;
51
+ isFileOutputEnabled = false;
51
52
  audioEventEmitter = new AudioEventEmitter(global.AudioEventEmitter);
52
53
  constructor() {
53
54
  this.recorder = global.createAudioRecorder();
@@ -59,6 +60,7 @@ export default class AudioRecorder {
59
60
  this.options_ = options;
60
61
  const parsedOptions = parseFileOptions(options);
61
62
  this.recorder.enableFileOutput(parsedOptions);
63
+ this.isFileOutputEnabled = true;
62
64
  }
63
65
  get options() {
64
66
  return this.options_;
@@ -66,11 +68,16 @@ export default class AudioRecorder {
66
68
  disableFileOutput() {
67
69
  this.options_ = null;
68
70
  this.recorder.disableFileOutput();
71
+ this.isFileOutputEnabled = false;
69
72
  }
70
73
 
71
74
  /** Starts the audio recording process with configured output options */
72
75
  start() {
73
- this.recorder.start();
76
+ if (!this.isFileOutputEnabled) {
77
+ this.recorder.start();
78
+ return;
79
+ }
80
+ return this.recorder.start();
74
81
  }
75
82
 
76
83
  /** Stops the audio recording process and releases internal resources */
@@ -179,5 +186,11 @@ export default class AudioRecorder {
179
186
  isRecording() {
180
187
  return this.recorder.isRecording();
181
188
  }
189
+ isPaused() {
190
+ return this.recorder.isPaused();
191
+ }
192
+ getCurrentDuration() {
193
+ return this.recorder.getCurrentDuration();
194
+ }
182
195
  }
183
196
  //# sourceMappingURL=AudioRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioEventEmitter","AndroidFormat","BitDepth","FileDirectory","IOSAudioQuality","IOSFormat","encodeFlags","AudioBuffer","withDefaultOptions","inOptions","directory","Cache","sampleRate","channels","bitRate","bitDepth","Bit24","ios","format","M4A","quality","High","android","parseFileOptions","iosFlags","flacCompressionLevel","androidFlags","AudioRecorder","onAudioReadySubscription","options_","audioEventEmitter","global","constructor","recorder","createAudioRecorder","enableFileOutput","options","isRecording","Error","parsedOptions","disableFileOutput","start","stop","pause","resume","connect","node","wasConnected","getNode","disconnect","onAudioReady","callback","clearOnAudioReady","remove","addAudioEventListener","event","audioBuffer","buffer","setOnAudioReady","bufferLength","channelCount","callbackId","subscriptionId"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioEventEmitter","AndroidFormat","BitDepth","FileDirectory","IOSAudioQuality","IOSFormat","encodeFlags","AudioBuffer","withDefaultOptions","inOptions","directory","Cache","sampleRate","channels","bitRate","bitDepth","Bit24","ios","format","M4A","quality","High","android","parseFileOptions","iosFlags","flacCompressionLevel","androidFlags","AudioRecorder","onAudioReadySubscription","options_","isFileOutputEnabled","audioEventEmitter","global","constructor","recorder","createAudioRecorder","enableFileOutput","options","isRecording","Error","parsedOptions","disableFileOutput","start","stop","pause","resume","connect","node","wasConnected","getNode","disconnect","onAudioReady","callback","clearOnAudioReady","remove","addAudioEventListener","event","audioBuffer","buffer","setOnAudioReady","bufferLength","channelCount","callbackId","subscriptionId","isPaused","getCurrentDuration"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":"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","ignoreList":[]}
@@ -1,21 +1,22 @@
1
1
  import { AudioEventEmitter, AudioEventSubscription } from '../events';
2
2
  import { OnAudioReadyEventType } from '../events/types';
3
3
  import { IAudioRecorder } from '../interfaces';
4
- import { AudioRecorderCallbackOptions, AudioRecorderFileOptions } from '../types';
4
+ import { AudioRecorderCallbackOptions, AudioRecorderFileOptions, FileInfo } from '../types';
5
5
  import RecorderAdapterNode from './RecorderAdapterNode';
6
6
  export default class AudioRecorder {
7
7
  protected onAudioReadySubscription: AudioEventSubscription | null;
8
8
  protected readonly recorder: IAudioRecorder;
9
9
  protected options_: AudioRecorderFileOptions | null;
10
+ private isFileOutputEnabled;
10
11
  protected readonly audioEventEmitter: AudioEventEmitter;
11
12
  constructor();
12
13
  enableFileOutput(options: AudioRecorderFileOptions): void;
13
14
  get options(): AudioRecorderFileOptions | null;
14
15
  disableFileOutput(): void;
15
16
  /** Starts the audio recording process with configured output options */
16
- start(): void;
17
+ start(): string | void;
17
18
  /** Stops the audio recording process and releases internal resources */
18
- stop(): void | string;
19
+ stop(): FileInfo;
19
20
  /** Pauses the audio recording process without tearing down anything */
20
21
  pause(): void;
21
22
  /** Resumes the audio recording process after being paused */
@@ -63,5 +64,7 @@ export default class AudioRecorder {
63
64
  */
64
65
  clearOnAudioReady(): void;
65
66
  isRecording(): boolean;
67
+ isPaused(): boolean;
68
+ getCurrentDuration(): number;
66
69
  }
67
70
  //# sourceMappingURL=AudioRecorder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/core/AudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAEL,4BAA4B,EAC5B,wBAAwB,EAKzB,MAAM,UAAU,CAAC;AAGlB,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AA8CxD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,wBAAwB,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IACzE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC5C,SAAS,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IAE3D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,oBAElC;;IAMF,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAazD,IAAW,OAAO,IAAI,wBAAwB,GAAG,IAAI,CAEpD;IAED,iBAAiB,IAAI,IAAI;IAKzB,wEAAwE;IACjE,KAAK,IAAI,IAAI;IAIpB,wEAAwE;IACjE,IAAI,IAAI,IAAI,GAAG,MAAM;IAI5B,uEAAuE;IAChE,KAAK,IAAI,IAAI;IAIpB,6DAA6D;IACtD,MAAM,IAAI,IAAI;IAIrB;;;;;;;;OAQG;IACI,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAgB/C;;;;;OAKG;IACI,UAAU,IAAI,IAAI;IAIzB;;;;;;;;;;;;;;;OAeG;IACI,YAAY,CACjB,OAAO,EAAE,4BAA4B,EACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAC/C,IAAI;IA8BP;;;;;;OAMG;IACI,iBAAiB,IAAI,IAAI;IAiBzB,WAAW,IAAI,OAAO;CAG9B"}
1
+ {"version":3,"file":"AudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/core/AudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAEL,4BAA4B,EAC5B,wBAAwB,EAGxB,QAAQ,EAGT,MAAM,UAAU,CAAC;AAGlB,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AA8CxD,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,SAAS,CAAC,wBAAwB,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IACzE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC5C,SAAS,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IAC3D,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,oBAElC;;IAMF,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAczD,IAAW,OAAO,IAAI,wBAAwB,GAAG,IAAI,CAEpD;IAED,iBAAiB,IAAI,IAAI;IAMzB,wEAAwE;IACxE,KAAK,IAAI,MAAM,GAAG,IAAI;IAStB,wEAAwE;IACxE,IAAI,IAAI,QAAQ;IAIhB,uEAAuE;IACvE,KAAK,IAAI,IAAI;IAIb,6DAA6D;IAC7D,MAAM,IAAI,IAAI;IAId;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAgBxC;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CACV,OAAO,EAAE,4BAA4B,EACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAC/C,IAAI;IA8BP;;;;;;OAMG;IACH,iBAAiB,IAAI,IAAI;IAiBzB,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,OAAO;IAInB,kBAAkB,IAAI,MAAM;CAG7B"}
@@ -1,5 +1,5 @@
1
1
  import { AudioEventCallback, AudioEventName } from './events/types';
2
- import type { BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, OscillatorType, WindowType } from './types';
2
+ import type { BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, FileInfo, OscillatorType, WindowType } from './types';
3
3
  export type WorkletNodeCallback = (audioData: Array<ArrayBuffer>, channelCount: number) => void;
4
4
  export type WorkletSourceNodeCallback = (audioData: Array<ArrayBuffer>, framesToProcess: number, currentTime: number, startOffset: number) => void;
5
5
  export type WorkletProcessingNodeCallback = (inputData: Array<ArrayBuffer>, outputData: Array<ArrayBuffer>, framesToProcess: number, currentTime: number) => void;
@@ -176,9 +176,10 @@ interface IAudioRecorderCallbackOptions {
176
176
  callbackId: string;
177
177
  }
178
178
  export interface IAudioRecorder {
179
- start: () => void;
180
- stop: () => string | void;
179
+ start: () => string | void;
180
+ stop: () => FileInfo;
181
181
  isRecording: () => boolean;
182
+ isPaused: () => boolean;
182
183
  enableFileOutput: (options: IAudioRecorderFileOptions) => void;
183
184
  disableFileOutput: () => void;
184
185
  pause: () => void;
@@ -187,6 +188,7 @@ export interface IAudioRecorder {
187
188
  disconnect: () => void;
188
189
  setOnAudioReady: (options: IAudioRecorderCallbackOptions) => void;
189
190
  clearOnAudioReady: () => void;
191
+ getCurrentDuration: () => number;
190
192
  }
191
193
  export interface IAudioDecoder {
192
194
  decodeWithMemoryBlock: (arrayBuffer: ArrayBuffer, sampleRate?: number) => Promise<IAudioBuffer>;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -96,4 +96,9 @@ export interface AudioRecorderCallbackOptions {
96
96
  */
97
97
  channelCount: number;
98
98
  }
99
+ export interface FileInfo {
100
+ path: string;
101
+ size: number;
102
+ duration: number;
103
+ }
99
104
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAC;AAElE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,WAAW,CAAC;AAE/D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oBAAY,aAAa;IACvB,QAAQ,IAAI;IACZ,KAAK,IAAI;CACV;AAED,oBAAY,SAAS;IACnB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;CACT;AAED,oBAAY,eAAe;IACzB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;IACR,GAAG,IAAI;CACR;AAED,oBAAY,aAAa;IACvB,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;IACP,IAAI,IAAI;CACT;AAED,oBAAY,oBAAoB;IAC9B,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;CACP;AAED,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,GAAG,CAAC,EAAE,2BAA2B,CAAC;IAClC,OAAO,CAAC,EAAE,+BAA+B,CAAC;CAC3C;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-audio-api",
3
- "version": "0.11.0-alpha.0",
3
+ "version": "0.11.0-alpha.1",
4
4
  "description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
5
5
  "bin": {
6
6
  "setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
@@ -7,6 +7,7 @@ import {
7
7
  AudioRecorderFileOptions,
8
8
  BitDepth,
9
9
  FileDirectory,
10
+ FileInfo,
10
11
  IOSAudioQuality,
11
12
  IOSFormat,
12
13
  } from '../types';
@@ -62,6 +63,7 @@ export default class AudioRecorder {
62
63
  protected onAudioReadySubscription: AudioEventSubscription | null = null;
63
64
  protected readonly recorder: IAudioRecorder;
64
65
  protected options_: AudioRecorderFileOptions | null = null;
66
+ private isFileOutputEnabled: boolean = false;
65
67
 
66
68
  protected readonly audioEventEmitter = new AudioEventEmitter(
67
69
  global.AudioEventEmitter
@@ -82,6 +84,7 @@ export default class AudioRecorder {
82
84
 
83
85
  const parsedOptions = parseFileOptions(options);
84
86
  this.recorder.enableFileOutput(parsedOptions);
87
+ this.isFileOutputEnabled = true;
85
88
  }
86
89
 
87
90
  public get options(): AudioRecorderFileOptions | null {
@@ -91,25 +94,31 @@ export default class AudioRecorder {
91
94
  disableFileOutput(): void {
92
95
  this.options_ = null;
93
96
  this.recorder.disableFileOutput();
97
+ this.isFileOutputEnabled = false;
94
98
  }
95
99
 
96
100
  /** Starts the audio recording process with configured output options */
97
- public start(): void {
98
- this.recorder.start();
101
+ start(): string | void {
102
+ if (!this.isFileOutputEnabled) {
103
+ this.recorder.start();
104
+ return;
105
+ }
106
+
107
+ return this.recorder.start();
99
108
  }
100
109
 
101
110
  /** Stops the audio recording process and releases internal resources */
102
- public stop(): void | string {
111
+ stop(): FileInfo {
103
112
  return this.recorder.stop();
104
113
  }
105
114
 
106
115
  /** Pauses the audio recording process without tearing down anything */
107
- public pause(): void {
116
+ pause(): void {
108
117
  this.recorder.pause();
109
118
  }
110
119
 
111
120
  /** Resumes the audio recording process after being paused */
112
- public resume(): void {
121
+ resume(): void {
113
122
  this.recorder.resume();
114
123
  }
115
124
 
@@ -122,7 +131,7 @@ export default class AudioRecorder {
122
131
  * @param node - The adapter node to connect to the recorder.
123
132
  * @throws If the node has already been connected.
124
133
  */
125
- public connect(node: RecorderAdapterNode): void {
134
+ connect(node: RecorderAdapterNode): void {
126
135
  if (this.recorder.isRecording()) {
127
136
  throw new Error(
128
137
  'Cannot connect adapter node while recording is in progress. Please stop the recorder before connecting new nodes.'
@@ -144,7 +153,7 @@ export default class AudioRecorder {
144
153
  * After calling this method, any connected {@link RecorderAdapterNode} will no
145
154
  * longer receive audio data until reconnected.
146
155
  */
147
- public disconnect(): void {
156
+ disconnect(): void {
148
157
  this.recorder.disconnect();
149
158
  }
150
159
 
@@ -164,7 +173,7 @@ export default class AudioRecorder {
164
173
  * available. The callback receives an {@link OnAudioReadyEventType} object
165
174
  * containing the audio data and associated metadata.
166
175
  */
167
- public onAudioReady(
176
+ onAudioReady(
168
177
  options: AudioRecorderCallbackOptions,
169
178
  callback: (event: OnAudioReadyEventType) => void
170
179
  ): void {
@@ -204,7 +213,7 @@ export default class AudioRecorder {
204
213
  * recording. Calling this method is safe even if no callback is currently
205
214
  * registered.
206
215
  */
207
- public clearOnAudioReady(): void {
216
+ clearOnAudioReady(): void {
208
217
  if (this.recorder.isRecording()) {
209
218
  throw new Error(
210
219
  'Cannot clear onAudioReady callback while recording is in progress. Please stop the recorder before clearing the callback.'
@@ -221,7 +230,15 @@ export default class AudioRecorder {
221
230
  this.onAudioReadySubscription = null;
222
231
  }
223
232
 
224
- public isRecording(): boolean {
233
+ isRecording(): boolean {
225
234
  return this.recorder.isRecording();
226
235
  }
236
+
237
+ isPaused(): boolean {
238
+ return this.recorder.isPaused();
239
+ }
240
+
241
+ getCurrentDuration(): number {
242
+ return this.recorder.getCurrentDuration();
243
+ }
227
244
  }
package/src/interfaces.ts CHANGED
@@ -4,6 +4,7 @@ import type {
4
4
  ChannelCountMode,
5
5
  ChannelInterpretation,
6
6
  ContextState,
7
+ FileInfo,
7
8
  OscillatorType,
8
9
  WindowType,
9
10
  } from './types';
@@ -284,9 +285,10 @@ interface IAudioRecorderCallbackOptions {
284
285
 
285
286
  export interface IAudioRecorder {
286
287
  // default recorder methods
287
- start: () => void;
288
- stop: () => string | void;
288
+ start: () => string | void;
289
+ stop: () => FileInfo;
289
290
  isRecording: () => boolean;
291
+ isPaused: () => boolean;
290
292
 
291
293
  enableFileOutput: (options: IAudioRecorderFileOptions) => void;
292
294
  disableFileOutput: () => void;
@@ -301,6 +303,8 @@ export interface IAudioRecorder {
301
303
 
302
304
  setOnAudioReady: (options: IAudioRecorderCallbackOptions) => void;
303
305
  clearOnAudioReady: () => void;
306
+
307
+ getCurrentDuration: () => number;
304
308
  }
305
309
 
306
310
  export interface IAudioDecoder {
package/src/types.ts CHANGED
@@ -132,3 +132,9 @@ export interface AudioRecorderCallbackOptions {
132
132
  */
133
133
  channelCount: number;
134
134
  }
135
+
136
+ export interface FileInfo {
137
+ path: string;
138
+ size: number;
139
+ duration: number;
140
+ }