nosnia-audio-recorder 0.8.9 → 0.9.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.
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
#import <AVFoundation/AVFoundation.h>
|
|
3
3
|
#import <React/RCTBridgeModule.h>
|
|
4
4
|
#import <React/RCTEventEmitter.h>
|
|
5
|
+
#import <React/RCTLog.h>
|
|
5
6
|
|
|
6
7
|
@interface NosniaAudioRecorder () <AVAudioRecorderDelegate>
|
|
7
8
|
@property (nonatomic, strong) AVAudioRecorder *audioRecorder;
|
|
@@ -34,10 +35,12 @@ RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
- (void)startObserving {
|
|
38
|
+
NSLog(@"[NosniaAudioRecorder] startObserving called - listeners enabled");
|
|
37
39
|
_hasListeners = YES;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
- (void)stopObserving {
|
|
43
|
+
NSLog(@"[NosniaAudioRecorder] stopObserving called - listeners disabled");
|
|
41
44
|
_hasListeners = NO;
|
|
42
45
|
}
|
|
43
46
|
|
|
@@ -45,17 +48,27 @@ RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
|
45
48
|
if (_progressTimer) {
|
|
46
49
|
[_progressTimer invalidate];
|
|
47
50
|
}
|
|
51
|
+
|
|
52
|
+
NSLog(@"[NosniaAudioRecorder] Starting progress timer");
|
|
48
53
|
|
|
49
54
|
_progressTimer = [NSTimer scheduledTimerWithTimeInterval:0.1
|
|
50
55
|
repeats:YES
|
|
51
56
|
block:^(NSTimer * _Nonnull timer) {
|
|
52
|
-
|
|
57
|
+
NSLog(@"[NosniaAudioRecorder] Progress timer fired - audioRecorder: %@, isRecording: %d",
|
|
58
|
+
self->_audioRecorder ? @"yes" : @"no", self->_isRecording);
|
|
59
|
+
|
|
60
|
+
if (self->_audioRecorder && self->_isRecording) {
|
|
53
61
|
NSTimeInterval currentTime = self->_audioRecorder.currentTime;
|
|
62
|
+
NSLog(@"[NosniaAudioRecorder] Sending progress: duration=%f ms", currentTime * 1000);
|
|
63
|
+
|
|
54
64
|
[self sendEventWithName:@"onRecordingProgress"
|
|
55
65
|
body:@{
|
|
56
66
|
@"duration": @(currentTime * 1000),
|
|
57
67
|
@"isRecording": @(self->_audioRecorder.isRecording)
|
|
58
68
|
}];
|
|
69
|
+
} else {
|
|
70
|
+
NSLog(@"[NosniaAudioRecorder] Skipping event: audioRecorder=%@, isRecording=%d",
|
|
71
|
+
self->_audioRecorder ? @"yes" : @"no", self->_isRecording);
|
|
59
72
|
}
|
|
60
73
|
}];
|
|
61
74
|
}
|
|
@@ -106,6 +119,15 @@ RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
|
106
119
|
return [NSString stringWithFormat:@"recording_%@.m4a", timestamp];
|
|
107
120
|
}
|
|
108
121
|
|
|
122
|
+
RCT_EXPORT_METHOD(testEventEmitter) {
|
|
123
|
+
NSLog(@"[NosniaAudioRecorder] testEventEmitter called - sending test event");
|
|
124
|
+
[self sendEventWithName:@"onRecordingProgress"
|
|
125
|
+
body:@{
|
|
126
|
+
@"duration": @(0.0),
|
|
127
|
+
@"isRecording": @(NO)
|
|
128
|
+
}];
|
|
129
|
+
}
|
|
130
|
+
|
|
109
131
|
RCT_EXPORT_METHOD(startRecording:(NSDictionary *)options
|
|
110
132
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
111
133
|
reject:(RCTPromiseRejectBlock)reject) {
|
package/lib/module/index.js
CHANGED
|
@@ -6,7 +6,14 @@ class AudioRecorder {
|
|
|
6
6
|
static instance = null;
|
|
7
7
|
progressListener = null;
|
|
8
8
|
constructor() {
|
|
9
|
-
|
|
9
|
+
console.log('[AudioRecorder] Initializing AudioRecorder');
|
|
10
|
+
const nativeModule = NativeModules.NosniaAudioRecorder;
|
|
11
|
+
console.log('[AudioRecorder] NativeModules.NosniaAudioRecorder:', nativeModule ? 'exists' : 'NOT FOUND');
|
|
12
|
+
if (!nativeModule) {
|
|
13
|
+
throw new Error('NosniaAudioRecorder native module not found');
|
|
14
|
+
}
|
|
15
|
+
this.eventEmitter = new NativeEventEmitter(nativeModule);
|
|
16
|
+
console.log('[AudioRecorder] NativeEventEmitter created');
|
|
10
17
|
}
|
|
11
18
|
static getInstance() {
|
|
12
19
|
if (!AudioRecorder.instance) {
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","NativeModule","AudioRecorder","instance","progressListener","constructor","
|
|
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","NosniaAudioPlayer"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -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;
|
|
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;CAQ3C;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
package/src/index.tsx
CHANGED
|
@@ -17,9 +17,20 @@ class AudioRecorder {
|
|
|
17
17
|
private progressListener: any = null;
|
|
18
18
|
|
|
19
19
|
private constructor() {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
console.log('[AudioRecorder] Initializing AudioRecorder');
|
|
21
|
+
|
|
22
|
+
const nativeModule = NativeModules.NosniaAudioRecorder;
|
|
23
|
+
console.log(
|
|
24
|
+
'[AudioRecorder] NativeModules.NosniaAudioRecorder:',
|
|
25
|
+
nativeModule ? 'exists' : 'NOT FOUND'
|
|
22
26
|
);
|
|
27
|
+
|
|
28
|
+
if (!nativeModule) {
|
|
29
|
+
throw new Error('NosniaAudioRecorder native module not found');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
this.eventEmitter = new NativeEventEmitter(nativeModule);
|
|
33
|
+
console.log('[AudioRecorder] NativeEventEmitter created');
|
|
23
34
|
}
|
|
24
35
|
|
|
25
36
|
static getInstance(): AudioRecorder {
|
|
@@ -39,7 +50,7 @@ class AudioRecorder {
|
|
|
39
50
|
): () => void {
|
|
40
51
|
// Log for debugging
|
|
41
52
|
console.log('[AudioRecorder] Adding recording progress listener');
|
|
42
|
-
|
|
53
|
+
|
|
43
54
|
// Remove existing listener if any
|
|
44
55
|
if (this.progressListener) {
|
|
45
56
|
console.log('[AudioRecorder] Removing existing listener');
|