nosnia-audio-recorder 0.9.4 → 0.9.6
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.
- package/ios/NosniaAudioRecorder.mm +35 -9
- package/lib/module/NativeNosniaAudioRecorder.js.map +1 -1
- package/lib/module/index.js +16 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeNosniaAudioRecorder.d.ts +6 -0
- package/lib/typescript/src/NativeNosniaAudioRecorder.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeNosniaAudioRecorder.ts +7 -0
- package/src/index.tsx +16 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#import "NosniaAudioRecorder.h"
|
|
2
2
|
#import <AVFoundation/AVFoundation.h>
|
|
3
|
+
#import <CoreMedia/CoreMedia.h>
|
|
3
4
|
#import <React/RCTBridgeModule.h>
|
|
4
5
|
#import <React/RCTEventEmitter.h>
|
|
5
6
|
#import <React/RCTLog.h>
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
BOOL _isRecording;
|
|
18
19
|
NSTimer *_progressTimer;
|
|
19
20
|
BOOL _hasListeners;
|
|
21
|
+
CFTimeInterval _recordingStartTime;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
@@ -55,36 +57,47 @@ RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
NSLog(@"[NosniaAudioRecorder] Starting progress timer");
|
|
60
|
+
NSLog(@"[NosniaAudioRecorder] hasListeners: %d, isRecording: %d, audioRecorder: %@",
|
|
61
|
+
_hasListeners, _isRecording, _audioRecorder ? @"YES" : @"NO");
|
|
62
|
+
|
|
63
|
+
// Record the start time for elapsed time calculation
|
|
64
|
+
_recordingStartTime = CACurrentMediaTime();
|
|
58
65
|
|
|
59
66
|
// Send initial duration event immediately
|
|
60
67
|
if (_audioRecorder && _isRecording) {
|
|
61
|
-
|
|
62
|
-
NSLog(@"[NosniaAudioRecorder] Sending initial progress: duration=%f ms",
|
|
68
|
+
double durationMs = 0.0;
|
|
69
|
+
NSLog(@"[NosniaAudioRecorder] Sending initial progress: duration=%f ms (hasListeners=%d)",
|
|
70
|
+
durationMs, _hasListeners);
|
|
63
71
|
|
|
64
72
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
73
|
+
NSLog(@"[NosniaAudioRecorder] About to send initial event on main thread");
|
|
65
74
|
[self sendEventWithName:@"onRecordingProgress"
|
|
66
75
|
body:@{
|
|
67
|
-
@"duration": @(
|
|
76
|
+
@"duration": @(durationMs),
|
|
68
77
|
@"isRecording": @(self->_audioRecorder.isRecording)
|
|
69
78
|
}];
|
|
79
|
+
NSLog(@"[NosniaAudioRecorder] Initial event sent (hasListeners=%d)", self->_hasListeners);
|
|
70
80
|
});
|
|
71
81
|
}
|
|
72
82
|
|
|
73
83
|
_progressTimer = [NSTimer scheduledTimerWithTimeInterval:0.1
|
|
74
84
|
repeats:YES
|
|
75
85
|
block:^(NSTimer * _Nonnull timer) {
|
|
76
|
-
NSLog(@"[NosniaAudioRecorder] Progress timer fired - audioRecorder: %@, isRecording: %d",
|
|
77
|
-
self->_audioRecorder ? @"yes" : @"no", self->_isRecording);
|
|
86
|
+
NSLog(@"[NosniaAudioRecorder] Progress timer fired - hasListeners: %d, audioRecorder: %@, isRecording: %d",
|
|
87
|
+
self->_hasListeners, self->_audioRecorder ? @"yes" : @"no", self->_isRecording);
|
|
78
88
|
|
|
79
89
|
if (self->_audioRecorder && self->_isRecording) {
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
// Use elapsed time instead of currentTime (which doesn't update reliably)
|
|
91
|
+
CFTimeInterval elapsedSeconds = CACurrentMediaTime() - self->_recordingStartTime;
|
|
92
|
+
double durationMs = elapsedSeconds * 1000;
|
|
93
|
+
NSLog(@"[NosniaAudioRecorder] Duration: elapsed=%f seconds, durationMs=%f milliseconds (hasListeners=%d)",
|
|
94
|
+
elapsedSeconds, durationMs, self->_hasListeners);
|
|
82
95
|
|
|
83
96
|
// Ensure event is sent on main thread
|
|
84
97
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
85
98
|
[self sendEventWithName:@"onRecordingProgress"
|
|
86
99
|
body:@{
|
|
87
|
-
@"duration": @(
|
|
100
|
+
@"duration": @(durationMs),
|
|
88
101
|
@"isRecording": @(self->_audioRecorder.isRecording)
|
|
89
102
|
}];
|
|
90
103
|
});
|
|
@@ -144,17 +157,30 @@ RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
|
144
157
|
RCT_EXPORT_METHOD(testEventEmitter) {
|
|
145
158
|
NSLog(@"[NosniaAudioRecorder] testEventEmitter called - sending test event");
|
|
146
159
|
NSLog(@"[NosniaAudioRecorder] hasListeners: %d", _hasListeners);
|
|
160
|
+
NSLog(@"[NosniaAudioRecorder] bridge exists: %@", self.bridge ? @"YES" : @"NO");
|
|
147
161
|
|
|
148
162
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
163
|
+
NSLog(@"[NosniaAudioRecorder] Attempting to send test event from main thread");
|
|
149
164
|
[self sendEventWithName:@"onRecordingProgress"
|
|
150
165
|
body:@{
|
|
151
166
|
@"duration": @(999.0),
|
|
152
167
|
@"isRecording": @(NO)
|
|
153
168
|
}];
|
|
154
|
-
NSLog(@"[NosniaAudioRecorder] Test event sent
|
|
169
|
+
NSLog(@"[NosniaAudioRecorder] Test event sent");
|
|
155
170
|
});
|
|
156
171
|
}
|
|
157
172
|
|
|
173
|
+
RCT_EXPORT_METHOD(debugInfo:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
174
|
+
NSDictionary *info = @{
|
|
175
|
+
@"hasListeners": @(_hasListeners),
|
|
176
|
+
@"hasBridge": @(self.bridge != nil),
|
|
177
|
+
@"isRecording": @(_isRecording),
|
|
178
|
+
@"moduleStatus": @"OK"
|
|
179
|
+
};
|
|
180
|
+
NSLog(@"[NosniaAudioRecorder] Debug info: %@", info);
|
|
181
|
+
resolve(info);
|
|
182
|
+
}
|
|
183
|
+
|
|
158
184
|
RCT_EXPORT_METHOD(startRecording:(NSDictionary *)options
|
|
159
185
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
160
186
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"..\\..\\src","sources":["NativeNosniaAudioRecorder.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"..\\..\\src","sources":["NativeNosniaAudioRecorder.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;AAkCpE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,qBAAqB,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -194,6 +194,22 @@ class AudioRecorder {
|
|
|
194
194
|
console.error('Error testing event emitter:', error);
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
|
+
|
|
198
|
+
// Debug method to check module status
|
|
199
|
+
async debugInfo() {
|
|
200
|
+
try {
|
|
201
|
+
if (!NativeModule) {
|
|
202
|
+
console.error('[AudioRecorder] NativeModule bridge not available');
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
const info = await NativeModule.debugInfo();
|
|
206
|
+
console.log('[AudioRecorder] Debug Info:', info);
|
|
207
|
+
return info;
|
|
208
|
+
} catch (error) {
|
|
209
|
+
console.error('Error getting debug info:', error);
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
197
213
|
}
|
|
198
214
|
export const NosniaAudioRecorder = AudioRecorder.getInstance();
|
|
199
215
|
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","NativeModule","AudioRecorder","instance","progressListener","constructor","console","log","nativeModule","NosniaAudioRecorder","Error","eventEmitter","getInstance","addRecordingProgressListener","callback","remove","addListener","data","error","removeRecordingProgressListener","requestPermission","requestAudioPermission","checkPermission","checkAudioPermission","startRecording","options","hasPermission","config","bitrate","channels","sampleRate","stopRecording","pauseRecording","resumeRecording","cancelRecording","getStatus","getRecorderStatus","testEventEmitter","NosniaAudioPlayer"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","NativeModule","AudioRecorder","instance","progressListener","constructor","console","log","nativeModule","NosniaAudioRecorder","Error","eventEmitter","getInstance","addRecordingProgressListener","callback","remove","addListener","data","error","removeRecordingProgressListener","requestPermission","requestAudioPermission","checkPermission","checkAudioPermission","startRecording","options","hasPermission","config","bitrate","channels","sampleRate","stopRecording","pauseRecording","resumeRecording","cancelRecording","getStatus","getRecorderStatus","testEventEmitter","debugInfo","info","NosniaAudioPlayer"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,12 @@ export interface Spec extends TurboModule {
|
|
|
20
20
|
requestAudioPermission(): Promise<boolean>;
|
|
21
21
|
checkAudioPermission(): Promise<boolean>;
|
|
22
22
|
testEventEmitter(): void;
|
|
23
|
+
debugInfo(): Promise<{
|
|
24
|
+
hasListeners: boolean;
|
|
25
|
+
hasBridge: boolean;
|
|
26
|
+
isRecording: boolean;
|
|
27
|
+
moduleStatus: string;
|
|
28
|
+
}>;
|
|
23
29
|
}
|
|
24
30
|
declare const _default: Spec;
|
|
25
31
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeNosniaAudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/NativeNosniaAudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7C,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,gBAAgB,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeNosniaAudioRecorder.d.ts","sourceRoot":"","sources":["../../../src/NativeNosniaAudioRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7C,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,gBAAgB,IAAI,IAAI,CAAC;IAEzB,SAAS,IAAI,OAAO,CAAC;QACnB,YAAY,EAAE,OAAO,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;;AAED,wBAA6E"}
|
|
@@ -65,6 +65,12 @@ declare class AudioRecorder {
|
|
|
65
65
|
* Test if event emitter is working (iOS/Android debugging)
|
|
66
66
|
*/
|
|
67
67
|
testEventEmitter(): void;
|
|
68
|
+
debugInfo(): Promise<{
|
|
69
|
+
hasListeners: boolean;
|
|
70
|
+
hasBridge: boolean;
|
|
71
|
+
isRecording: boolean;
|
|
72
|
+
moduleStatus: string;
|
|
73
|
+
} | null>;
|
|
68
74
|
}
|
|
69
75
|
export declare const NosniaAudioRecorder: AudioRecorder;
|
|
70
76
|
export { NosniaAudioPlayer, type PlayOptions, type PlayerStatus, type PlaybackProgressCallback, type PlaybackCompleteCallback, } from './AudioPlayer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAqB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB,KAAK,IAAI,CAAC;AAEX,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAa;IAErC,OAAO;IAiBP,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;;;OAIG;IACH,4BAA4B,CAC1B,QAAQ,EAAE,yBAAyB,GAClC,MAAM,IAAI;IAiCb;;OAEG;IACH,+BAA+B,IAAI,IAAI;IAOvC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAS3C;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASzC;;;;OAIG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9D;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAStC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IASrC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAS1C;;OAEG;IACH,gBAAgB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAqB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB,KAAK,IAAI,CAAC;AAEX,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAa;IAErC,OAAO;IAiBP,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;;;OAIG;IACH,4BAA4B,CAC1B,QAAQ,EAAE,yBAAyB,GAClC,MAAM,IAAI;IAiCb;;OAEG;IACH,+BAA+B,IAAI,IAAI;IAOvC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAS3C;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASzC;;;;OAIG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9D;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAStC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IASrC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAStC;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAS1C;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAUlB,SAAS;;;;;;CAchB;AAED,eAAO,MAAM,mBAAmB,eAA8B,CAAC;AAG/D,OAAO,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -23,6 +23,13 @@ export interface Spec extends TurboModule {
|
|
|
23
23
|
requestAudioPermission(): Promise<boolean>;
|
|
24
24
|
checkAudioPermission(): Promise<boolean>;
|
|
25
25
|
testEventEmitter(): void;
|
|
26
|
+
|
|
27
|
+
debugInfo(): Promise<{
|
|
28
|
+
hasListeners: boolean;
|
|
29
|
+
hasBridge: boolean;
|
|
30
|
+
isRecording: boolean;
|
|
31
|
+
moduleStatus: string;
|
|
32
|
+
}>;
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
export default TurboModuleRegistry.getEnforcing<Spec>('NosniaAudioRecorder');
|
package/src/index.tsx
CHANGED
|
@@ -220,6 +220,22 @@ class AudioRecorder {
|
|
|
220
220
|
console.error('Error testing event emitter:', error);
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
+
|
|
224
|
+
// Debug method to check module status
|
|
225
|
+
async debugInfo() {
|
|
226
|
+
try {
|
|
227
|
+
if (!NativeModule) {
|
|
228
|
+
console.error('[AudioRecorder] NativeModule bridge not available');
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
const info = await NativeModule.debugInfo();
|
|
232
|
+
console.log('[AudioRecorder] Debug Info:', info);
|
|
233
|
+
return info;
|
|
234
|
+
} catch (error) {
|
|
235
|
+
console.error('Error getting debug info:', error);
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
223
239
|
}
|
|
224
240
|
|
|
225
241
|
export const NosniaAudioRecorder = AudioRecorder.getInstance();
|