nosnia-audio-recorder 0.5.2 → 0.6.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.
- package/ios/NosniaAudioPlayer.mm +0 -24
- package/ios/NosniaAudioRecorder.mm +14 -27
- package/package.json +1 -1
package/ios/NosniaAudioPlayer.mm
CHANGED
|
@@ -20,30 +20,6 @@
|
|
|
20
20
|
|
|
21
21
|
RCT_EXPORT_MODULE(NosniaAudioPlayer)
|
|
22
22
|
|
|
23
|
-
RCT_EXPORT_METHOD(startPlaying:(NSDictionary *)options
|
|
24
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
25
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
26
|
-
|
|
27
|
-
RCT_EXPORT_METHOD(stopPlaying:(RCTPromiseResolveBlock)resolve
|
|
28
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
29
|
-
|
|
30
|
-
RCT_EXPORT_METHOD(pausePlaying:(RCTPromiseResolveBlock)resolve
|
|
31
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
32
|
-
|
|
33
|
-
RCT_EXPORT_METHOD(resumePlaying:(RCTPromiseResolveBlock)resolve
|
|
34
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
35
|
-
|
|
36
|
-
RCT_EXPORT_METHOD(seekToTime:(double)time
|
|
37
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
38
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
39
|
-
|
|
40
|
-
RCT_EXPORT_METHOD(setVolume:(double)volume
|
|
41
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
42
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
43
|
-
|
|
44
|
-
RCT_EXPORT_METHOD(getPlayerStatus:(RCTPromiseResolveBlock)resolve
|
|
45
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
46
|
-
|
|
47
23
|
- (instancetype)init {
|
|
48
24
|
self = [super init];
|
|
49
25
|
if (self) {
|
|
@@ -20,31 +20,6 @@
|
|
|
20
20
|
|
|
21
21
|
RCT_EXPORT_MODULE(NosniaAudioRecorder)
|
|
22
22
|
|
|
23
|
-
RCT_EXPORT_METHOD(startRecording:(NSDictionary *)options
|
|
24
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
|
25
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
26
|
-
|
|
27
|
-
RCT_EXPORT_METHOD(stopRecording:(RCTPromiseResolveBlock)resolve
|
|
28
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
29
|
-
|
|
30
|
-
RCT_EXPORT_METHOD(pauseRecording:(RCTPromiseResolveBlock)resolve
|
|
31
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
32
|
-
|
|
33
|
-
RCT_EXPORT_METHOD(resumeRecording:(RCTPromiseResolveBlock)resolve
|
|
34
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
35
|
-
|
|
36
|
-
RCT_EXPORT_METHOD(cancelRecording:(RCTPromiseResolveBlock)resolve
|
|
37
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
38
|
-
|
|
39
|
-
RCT_EXPORT_METHOD(getRecorderStatus:(RCTPromiseResolveBlock)resolve
|
|
40
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
41
|
-
|
|
42
|
-
RCT_EXPORT_METHOD(requestAudioPermission:(RCTPromiseResolveBlock)resolve
|
|
43
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
44
|
-
|
|
45
|
-
RCT_EXPORT_METHOD(checkAudioPermission:(RCTPromiseResolveBlock)resolve
|
|
46
|
-
reject:(RCTPromiseRejectBlock)reject)
|
|
47
|
-
|
|
48
23
|
- (instancetype)init {
|
|
49
24
|
self = [super init];
|
|
50
25
|
if (self) {
|
|
@@ -118,9 +93,9 @@ RCT_EXPORT_METHOD(checkAudioPermission:(RCTPromiseResolveBlock)resolve
|
|
|
118
93
|
return [NSString stringWithFormat:@"recording_%@.mp3", timestamp];
|
|
119
94
|
}
|
|
120
95
|
|
|
121
|
-
|
|
96
|
+
RCT_EXPORT_METHOD(startRecording:(NSDictionary *)options
|
|
122
97
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
123
|
-
reject:(RCTPromiseRejectBlock)reject {
|
|
98
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
124
99
|
@try {
|
|
125
100
|
// Safety check: options must not be nil
|
|
126
101
|
if (!options) {
|
|
@@ -167,6 +142,11 @@ RCT_EXPORT_METHOD(checkAudioPermission:(RCTPromiseResolveBlock)resolve
|
|
|
167
142
|
NSNumber *bitrate = options[@"bitrate"];
|
|
168
143
|
if (!bitrate || ![bitrate isKindOfClass:[NSNumber class]] || [bitrate integerValue] <= 0) {
|
|
169
144
|
bitrate = @(128000);
|
|
145
|
+
} else {
|
|
146
|
+
// AAC bitrate should be between 32000 and 320000
|
|
147
|
+
NSInteger br = [bitrate integerValue];
|
|
148
|
+
if (br < 32000) bitrate = @(32000);
|
|
149
|
+
if (br > 320000) bitrate = @(320000);
|
|
170
150
|
}
|
|
171
151
|
|
|
172
152
|
NSNumber *channels = options[@"channels"];
|
|
@@ -180,6 +160,13 @@ RCT_EXPORT_METHOD(checkAudioPermission:(RCTPromiseResolveBlock)resolve
|
|
|
180
160
|
NSNumber *sampleRate = options[@"sampleRate"];
|
|
181
161
|
if (!sampleRate || ![sampleRate isKindOfClass:[NSNumber class]] || [sampleRate integerValue] <= 0) {
|
|
182
162
|
sampleRate = @(44100);
|
|
163
|
+
} else {
|
|
164
|
+
// AAC requires specific sample rates: 8000, 16000, 22050, 24000, 32000, 44100, 48000
|
|
165
|
+
NSInteger rate = [sampleRate integerValue];
|
|
166
|
+
NSArray *validRates = @[@8000, @16000, @22050, @24000, @32000, @44100, @48000];
|
|
167
|
+
if (![validRates containsObject:sampleRate]) {
|
|
168
|
+
sampleRate = @(44100); // Default to 44100 if invalid
|
|
169
|
+
}
|
|
183
170
|
}
|
|
184
171
|
|
|
185
172
|
// Get audio session
|
package/package.json
CHANGED