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.
@@ -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
- - (void)startRecording:(NSDictionary *)options
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nosnia-audio-recorder",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "This is a modern audio recorder which actually works cross platform",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",