@javascriptcommon/react-native-track-player 4.1.12 → 4.1.13
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.
|
@@ -35,7 +35,7 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
35
35
|
private var hasInitialized = false
|
|
36
36
|
private let player = QueuedAudioPlayer()
|
|
37
37
|
private let audioSessionController = AudioSessionController.shared
|
|
38
|
-
private
|
|
38
|
+
private let equalizerTap = EqualizerAudioTap() // Always created, attached at setup
|
|
39
39
|
private var shouldEmitProgressEvent: Bool = false
|
|
40
40
|
private var shouldResumePlaybackAfterInterruptionEnds: Bool = false
|
|
41
41
|
private var forwardJumpInterval: NSNumber? = nil;
|
|
@@ -135,11 +135,12 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
135
135
|
return
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
// configure the FFT audio tap
|
|
138
|
+
// configure the FFT audio tap if specified
|
|
139
139
|
if let fftLength = config["useFFTProcessor"] as? Int {
|
|
140
140
|
player.audioTap = WaveformAudioTap(mFFTLength: fftLength, mEmit: {data in
|
|
141
141
|
self.emit(event:EventType.FFTUpdated, body:data)})
|
|
142
142
|
}
|
|
143
|
+
// Note: Equalizer tap is NOT attached by default. Call setEqualizerEnabled(true) to enable.
|
|
143
144
|
|
|
144
145
|
// configure buffer size
|
|
145
146
|
if let bufferDuration = config["minBuffer"] as? TimeInterval {
|
|
@@ -903,17 +904,9 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
903
904
|
public func setEqualizerEnabled(enabled: Bool, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
904
905
|
if (rejectWhenNotInitialized(reject: reject)) { return }
|
|
905
906
|
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
}
|
|
910
|
-
equalizerTap?.isEnabled = true
|
|
911
|
-
player.audioTap = equalizerTap
|
|
912
|
-
} else {
|
|
913
|
-
equalizerTap?.isEnabled = false
|
|
914
|
-
player.audioTap = nil
|
|
915
|
-
}
|
|
916
|
-
|
|
907
|
+
// Toggle the enabled flag
|
|
908
|
+
// Note: For the equalizer to work, the tap must be attached to the player first
|
|
909
|
+
equalizerTap.isEnabled = enabled
|
|
917
910
|
resolve(NSNull())
|
|
918
911
|
}
|
|
919
912
|
|
|
@@ -921,20 +914,14 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
921
914
|
public func getEqualizerEnabled(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
922
915
|
if (rejectWhenNotInitialized(reject: reject)) { return }
|
|
923
916
|
|
|
924
|
-
|
|
925
|
-
resolve(enabled)
|
|
917
|
+
resolve(equalizerTap.isEnabled)
|
|
926
918
|
}
|
|
927
919
|
|
|
928
920
|
@objc(setEqualizerBand:gain:resolver:rejecter:)
|
|
929
921
|
public func setEqualizerBand(band: Int, gain: Float, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
930
922
|
if (rejectWhenNotInitialized(reject: reject)) { return }
|
|
931
923
|
|
|
932
|
-
|
|
933
|
-
equalizerTap = EqualizerAudioTap()
|
|
934
|
-
player.audioTap = equalizerTap
|
|
935
|
-
}
|
|
936
|
-
|
|
937
|
-
equalizerTap?.setGain(band: band, gainDB: gain)
|
|
924
|
+
equalizerTap.setGain(band: band, gainDB: gain)
|
|
938
925
|
resolve(NSNull())
|
|
939
926
|
}
|
|
940
927
|
|
|
@@ -942,13 +929,8 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
942
929
|
public func setEqualizerBands(gains: [NSNumber], resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
943
930
|
if (rejectWhenNotInitialized(reject: reject)) { return }
|
|
944
931
|
|
|
945
|
-
if equalizerTap == nil {
|
|
946
|
-
equalizerTap = EqualizerAudioTap()
|
|
947
|
-
player.audioTap = equalizerTap
|
|
948
|
-
}
|
|
949
|
-
|
|
950
932
|
let floatGains = gains.map { $0.floatValue }
|
|
951
|
-
equalizerTap
|
|
933
|
+
equalizerTap.setAllGains(floatGains)
|
|
952
934
|
resolve(NSNull())
|
|
953
935
|
}
|
|
954
936
|
|
|
@@ -956,8 +938,7 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
956
938
|
public func getEqualizerBands(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
957
939
|
if (rejectWhenNotInitialized(reject: reject)) { return }
|
|
958
940
|
|
|
959
|
-
|
|
960
|
-
resolve(gains)
|
|
941
|
+
resolve(equalizerTap.getAllGains())
|
|
961
942
|
}
|
|
962
943
|
|
|
963
944
|
@objc(getEqualizerFrequencies:rejecter:)
|
|
@@ -975,13 +956,8 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
975
956
|
return
|
|
976
957
|
}
|
|
977
958
|
|
|
978
|
-
if equalizerTap == nil {
|
|
979
|
-
equalizerTap = EqualizerAudioTap()
|
|
980
|
-
player.audioTap = equalizerTap
|
|
981
|
-
}
|
|
982
|
-
|
|
983
959
|
let preset = presets[presetIndex]
|
|
984
|
-
equalizerTap
|
|
960
|
+
equalizerTap.applyPreset(preset)
|
|
985
961
|
resolve(NSNull())
|
|
986
962
|
}
|
|
987
963
|
|
|
@@ -994,7 +970,7 @@ public class RNTrackPlayer: NSObject, AudioSessionControllerDelegate {
|
|
|
994
970
|
public func resetEqualizer(resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
995
971
|
if (rejectWhenNotInitialized(reject: reject)) { return }
|
|
996
972
|
|
|
997
|
-
equalizerTap
|
|
973
|
+
equalizerTap.resetGains()
|
|
998
974
|
resolve(NSNull())
|
|
999
975
|
}
|
|
1000
976
|
}
|
|
@@ -243,7 +243,45 @@ RCT_EXPORT_MODULE()
|
|
|
243
243
|
- (void)setPlaybackState:(nonnull NSString *)mediaID resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
- (void)switchExoPlayer:(double)fadeDuration fadeInterval:(double)fadeInterval fadeToVolume:(double)fadeToVolume waitUntil:(nonnull NSNumber *)waitUntil resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
246
|
+
- (void)switchExoPlayer:(double)fadeDuration fadeInterval:(double)fadeInterval fadeToVolume:(double)fadeToVolume waitUntil:(nonnull NSNumber *)waitUntil resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// iOS Equalizer methods
|
|
250
|
+
|
|
251
|
+
- (void)setEqualizerEnabled:(BOOL)enabled resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
252
|
+
[trackPlayer setEqualizerEnabled:enabled resolver:resolve rejecter:reject];
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
- (void)getEqualizerEnabled:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
256
|
+
[trackPlayer getEqualizerEnabled:resolve rejecter:reject];
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
- (void)setEqualizerBand:(double)band gain:(double)gain resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
260
|
+
[trackPlayer setEqualizerBand:(NSInteger)band gain:(float)gain resolver:resolve rejecter:reject];
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
- (void)setEqualizerBands:(nonnull NSArray *)gains resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
264
|
+
[trackPlayer setEqualizerBands:gains resolver:resolve rejecter:reject];
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
- (void)getEqualizerBands:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
268
|
+
[trackPlayer getEqualizerBands:resolve rejecter:reject];
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
- (void)getEqualizerFrequencies:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
272
|
+
[trackPlayer getEqualizerFrequencies:resolve rejecter:reject];
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
- (void)applyEqualizerPreset:(double)presetIndex resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
276
|
+
[trackPlayer applyEqualizerPreset:(NSInteger)presetIndex resolver:resolve rejecter:reject];
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
- (void)getEqualizerPresetNames:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
280
|
+
[trackPlayer getEqualizerPresetNames:resolve rejecter:reject];
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
- (void)resetEqualizer:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
|
|
284
|
+
[trackPlayer resetEqualizer:resolve rejecter:reject];
|
|
247
285
|
}
|
|
248
286
|
|
|
249
287
|
@end
|
package/package.json
CHANGED