@5stones/react-native-audio-browser 0.1.6 → 0.2.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.
Files changed (44) hide show
  1. package/android/src/main/java/com/audiobrowser/AudioBrowser.kt +34 -9
  2. package/android/src/main/java/com/audiobrowser/player/MediaSessionCallback.kt +57 -17
  3. package/android/src/main/java/com/audiobrowser/player/TransformingDataSource.kt +33 -11
  4. package/ios/Browser/BrowserManager.swift +2 -17
  5. package/ios/CarPlay/CarPlayController.swift +75 -27
  6. package/ios/HybridAudioBrowser.swift +42 -12
  7. package/ios/TrackPlayer.swift +39 -32
  8. package/lib/commonjs/features/remoteControls.js +24 -1
  9. package/lib/commonjs/features/remoteControls.js.map +1 -1
  10. package/lib/commonjs/web/NativeAudioBrowser.js +34 -5
  11. package/lib/commonjs/web/NativeAudioBrowser.js.map +1 -1
  12. package/lib/module/features/remoteControls.js +22 -0
  13. package/lib/module/features/remoteControls.js.map +1 -1
  14. package/lib/module/web/NativeAudioBrowser.js +34 -5
  15. package/lib/module/web/NativeAudioBrowser.js.map +1 -1
  16. package/lib/typescript/src/features/remoteControls.d.ts +26 -0
  17. package/lib/typescript/src/features/remoteControls.d.ts.map +1 -1
  18. package/lib/typescript/src/specs/audio-browser.nitro.d.ts +3 -1
  19. package/lib/typescript/src/specs/audio-browser.nitro.d.ts.map +1 -1
  20. package/lib/typescript/src/web/NativeAudioBrowser.d.ts +11 -1
  21. package/lib/typescript/src/web/NativeAudioBrowser.d.ts.map +1 -1
  22. package/nitrogen/generated/android/AudioBrowserOnLoad.cpp +2 -0
  23. package/nitrogen/generated/android/c++/JFunc_void_RemoteLoadEvent.hpp +89 -0
  24. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.cpp +39 -0
  25. package/nitrogen/generated/android/c++/JHybridAudioBrowserSpec.hpp +4 -0
  26. package/nitrogen/generated/android/c++/JRemoteLoadEvent.hpp +94 -0
  27. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/Func_void_RemoteLoadEvent.kt +80 -0
  28. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/HybridAudioBrowserSpec.kt +28 -0
  29. package/nitrogen/generated/android/kotlin/com/margelo/nitro/audiobrowser/RemoteLoadEvent.kt +44 -0
  30. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.cpp +8 -0
  31. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Bridge.hpp +40 -0
  32. package/nitrogen/generated/ios/AudioBrowser-Swift-Cxx-Umbrella.hpp +3 -0
  33. package/nitrogen/generated/ios/c++/HybridAudioBrowserSpecSwift.hpp +17 -0
  34. package/nitrogen/generated/ios/swift/Func_void_RemoteLoadEvent.swift +47 -0
  35. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec.swift +2 -0
  36. package/nitrogen/generated/ios/swift/HybridAudioBrowserSpec_cxx.swift +51 -0
  37. package/nitrogen/generated/ios/swift/RemoteLoadEvent.swift +70 -0
  38. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.cpp +4 -0
  39. package/nitrogen/generated/shared/c++/HybridAudioBrowserSpec.hpp +7 -0
  40. package/nitrogen/generated/shared/c++/RemoteLoadEvent.hpp +85 -0
  41. package/package.json +1 -1
  42. package/src/features/remoteControls.ts +35 -0
  43. package/src/specs/audio-browser.nitro.ts +3 -0
  44. package/src/web/NativeAudioBrowser.ts +34 -5
@@ -176,17 +176,20 @@ class TrackPlayer {
176
176
  final class LoadSeekCoordinator {
177
177
  enum State {
178
178
  case idle
179
- case pendingSeek(time: TimeInterval, completion: (@Sendable (Bool) -> Void)?)
180
- case seekInFlight
179
+ case pendingSeek(time: TimeInterval)
180
+ case seekInFlight(time: TimeInterval)
181
181
  }
182
182
 
183
183
  private let logger = Logger(subsystem: "com.audiobrowser", category: "LoadSeekCoordinator")
184
184
  private(set) var state: State = .idle
185
185
 
186
- /// The pending seek time, if any. Used by `seekBy()` to offset from the deferred position.
186
+ /// The deferred seek time, if any. Used by `seekBy()` to offset from the deferred position.
187
187
  var pendingTime: TimeInterval? {
188
- if case let .pendingSeek(time, _) = state { return time }
189
- return nil
188
+ switch state {
189
+ case let .pendingSeek(time): return time
190
+ case let .seekInFlight(time): return time
191
+ case .idle: return nil
192
+ }
190
193
  }
191
194
 
192
195
  /// Whether to suppress state transitions to `.ready`.
@@ -199,13 +202,12 @@ class TrackPlayer {
199
202
  }
200
203
 
201
204
  /// Called from `seekTo()` when `TrackPlayer.state == .loading`.
202
- /// Cancels any previous pending seek before storing the new one.
203
- func capture(position: Double, completion: (@Sendable (Bool) -> Void)?) {
204
- // Cancel previous pending seek if any
205
- if case let .pendingSeek(_, oldCompletion) = state {
206
- oldCompletion?(false)
205
+ /// Supersedes any previous pending or in-flight seek.
206
+ func capture(position: Double) {
207
+ if case .seekInFlight = state {
208
+ logger.debug("overriding in-flight seek with new target \(position)s")
207
209
  }
208
- state = .pendingSeek(time: position, completion: completion)
210
+ state = .pendingSeek(time: position)
209
211
  logger.debug("captured pending seek to \(position)s")
210
212
  }
211
213
 
@@ -214,10 +216,10 @@ class TrackPlayer {
214
216
  ///
215
217
  /// Returns `true` if a seek was initiated — caller should NOT transition to `.ready` yet.
216
218
  func executeIfPending(on player: AVPlayer, delegate: TrackPlayer?) -> Bool {
217
- guard case let .pendingSeek(time, completion) = state else { return false }
219
+ guard case let .pendingSeek(time) = state else { return false }
218
220
 
219
221
  logger.debug("executing deferred seek to \(time)s")
220
- state = .seekInFlight
222
+ state = .seekInFlight(time: time)
221
223
 
222
224
  let cmTime = CMTime(seconds: time, preferredTimescale: 1000)
223
225
  player
@@ -225,26 +227,34 @@ class TrackPlayer {
225
227
  Task { @MainActor in
226
228
  delegate?.handleSeekCompleted(to: time, didFinish: finished)
227
229
  }
228
- completion?(finished)
229
230
  }
230
231
 
231
232
  return true
232
233
  }
233
234
 
234
235
  /// Called from `handleSeekCompleted`.
235
- /// Returns `true` if this was a load-seek (caller should transition `.loading` → `.ready`).
236
- func seekDidComplete() -> Bool {
237
- guard case .seekInFlight = state else { return false }
238
- logger.debug("seek landed, clearing coordinator")
239
- state = .idle
240
- return true
236
+ /// Returns `true` if the coordinator is done and the caller should transition
237
+ /// `.loading` `.ready`. Returns `false` if a new seek was queued while the
238
+ /// previous one was in-flight (caller should NOT transition yet).
239
+ func seekDidComplete(on player: AVPlayer, delegate: TrackPlayer?) -> Bool {
240
+ switch state {
241
+ case .seekInFlight:
242
+ logger.debug("seek landed, clearing coordinator")
243
+ state = .idle
244
+ return true
245
+ case .pendingSeek:
246
+ // A new seek arrived while the previous one was in-flight.
247
+ // Execute it now — don't transition to .ready yet.
248
+ logger.debug("seek landed, but a new seek is pending — re-executing")
249
+ _ = executeIfPending(on: player, delegate: delegate)
250
+ return false
251
+ case .idle:
252
+ return false
253
+ }
241
254
  }
242
255
 
243
256
  /// Reset when track changes or item is cleared.
244
257
  func reset() {
245
- if case let .pendingSeek(_, completion) = state {
246
- completion?(false)
247
- }
248
258
  state = .idle
249
259
  }
250
260
  }
@@ -692,7 +702,10 @@ class TrackPlayer {
692
702
  func seekTo(_ seconds: TimeInterval, completion: @escaping @Sendable (Bool) -> Void) {
693
703
  // If a track is currently being loaded asynchronously, defer the seek until it's ready.
694
704
  if state == .loading {
695
- loadSeekCoordinator.capture(position: seconds, completion: completion)
705
+ loadSeekCoordinator.capture(position: seconds)
706
+ // The coordinator executes the deferred seek once the item is ready; replay() is the
707
+ // only caller that uses completion, and it's never called during loading.
708
+ completion(false)
696
709
  } else if avPlayer.currentItem != nil {
697
710
  let time = CMTime(seconds: seconds, preferredTimescale: 1000)
698
711
  let seekSeconds = seconds
@@ -1061,13 +1074,6 @@ class TrackPlayer {
1061
1074
  self.avItemDidUpdatePlaybackLikelyToKeepUp(true)
1062
1075
  }
1063
1076
  }
1064
-
1065
- // If the item is already buffered (e.g., cached HTTP response), KVO
1066
- // with [.new] won't fire because isPlaybackLikelyToKeepUp never
1067
- // changed. Transition state explicitly so it doesn't stay .loading.
1068
- if avItem.isPlaybackLikelyToKeepUp {
1069
- self.avItemDidUpdatePlaybackLikelyToKeepUp(true)
1070
- }
1071
1077
  }
1072
1078
  } catch {
1073
1079
  guard !Task.isCancelled else { return }
@@ -1106,7 +1112,8 @@ class TrackPlayer {
1106
1112
 
1107
1113
  private func handleSeekCompleted(to seconds: Double, didFinish: Bool) {
1108
1114
  // If this was a deferred load-seek, transition out of .loading state
1109
- if loadSeekCoordinator.seekDidComplete(), state == .loading {
1115
+ // (unless a new seek was queued while this one was in-flight)
1116
+ if loadSeekCoordinator.seekDidComplete(on: avPlayer, delegate: self), state == .loading {
1110
1117
  logger.debug("[loadSeek] seek landed at \(seconds)s (finished=\(didFinish)) → .ready")
1111
1118
  state = .ready
1112
1119
  }
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.handleRemoteJumpBackward = handleRemoteJumpBackward;
7
7
  exports.handleRemoteJumpForward = handleRemoteJumpForward;
8
+ exports.handleRemoteLoad = handleRemoteLoad;
8
9
  exports.handleRemoteNext = handleRemoteNext;
9
10
  exports.handleRemotePause = handleRemotePause;
10
11
  exports.handleRemotePlay = handleRemotePlay;
11
12
  exports.handleRemotePrevious = handleRemotePrevious;
12
13
  exports.handleRemoteSeek = handleRemoteSeek;
13
14
  exports.handleRemoteStop = handleRemoteStop;
14
- exports.onRemoteStop = exports.onRemoteSkip = exports.onRemoteSetRating = exports.onRemoteSeek = exports.onRemotePrevious = exports.onRemotePlaySearch = exports.onRemotePlayId = exports.onRemotePlay = exports.onRemotePause = exports.onRemoteNext = exports.onRemoteJumpForward = exports.onRemoteJumpBackward = void 0;
15
+ exports.onRemoteStop = exports.onRemoteSkip = exports.onRemoteSetRating = exports.onRemoteSeek = exports.onRemotePrevious = exports.onRemotePlaySearch = exports.onRemotePlayId = exports.onRemotePlay = exports.onRemotePause = exports.onRemoteNext = exports.onRemoteLoad = exports.onRemoteJumpForward = exports.onRemoteJumpBackward = void 0;
15
16
  var _native = require("../native");
16
17
  var _LazyNativeEmitter = require("../utils/LazyNativeEmitter");
17
18
  // MARK: - Event Interfaces
@@ -44,6 +45,10 @@ var _LazyNativeEmitter = require("../utils/LazyNativeEmitter");
44
45
  * Remote skip event (Android only).
45
46
  */
46
47
 
48
+ /**
49
+ * Remote load event, fired when a track is about to be loaded via navigateTrack.
50
+ */
51
+
47
52
  // MARK: - Default Handlers
48
53
 
49
54
  // Install remote control handlers with default behavior immediately when module loads
@@ -193,6 +198,15 @@ function handleRemoteJumpBackward(callback) {
193
198
  _native.nativeBrowser.handleRemoteJumpBackward = callback;
194
199
  }
195
200
 
201
+ /**
202
+ * Sets a custom handler for remote load events, overriding the default track loading behavior.
203
+ * When set, navigateTrack() will call this handler instead of auto-loading/playing the track.
204
+ * @param callback - Called with the track, queue, and startIndex. Pass undefined to restore default behavior.
205
+ */
206
+ function handleRemoteLoad(callback) {
207
+ _native.nativeBrowser.handleRemoteLoad = callback;
208
+ }
209
+
196
210
  // MARK: - Event Callbacks (for listening/debugging only)
197
211
  //
198
212
  // Use these functions when you want to LISTEN to remote control events without overriding
@@ -214,6 +228,15 @@ const onRemoteJumpBackward = exports.onRemoteJumpBackward = _LazyNativeEmitter.L
214
228
  */
215
229
  const onRemoteJumpForward = exports.onRemoteJumpForward = _LazyNativeEmitter.LazyNativeEmitter.emitterize(cb => _native.nativeBrowser.onRemoteJumpForward = cb);
216
230
 
231
+ /**
232
+ * Subscribes to remote load events.
233
+ * Fires whenever a track is about to be loaded via navigateTrack(),
234
+ * regardless of whether handleRemoteLoad is set.
235
+ * @param callback - Called with the track, queue, and startIndex
236
+ * @returns Cleanup function to unsubscribe
237
+ */
238
+ const onRemoteLoad = exports.onRemoteLoad = _LazyNativeEmitter.LazyNativeEmitter.emitterize(cb => _native.nativeBrowser.onRemoteLoad = cb);
239
+
217
240
  /**
218
241
  * Subscribes to remote next events.
219
242
  * @param callback - Called when the user presses the next track button
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_LazyNativeEmitter","handleRemotePlay","callback","nativeBrowser","handleRemotePause","handleRemoteNext","handleRemotePrevious","handleRemoteStop","handleRemoteSeek","handleRemoteJumpForward","handleRemoteJumpBackward","onRemoteJumpBackward","exports","LazyNativeEmitter","emitterize","cb","onRemoteJumpForward","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop"],"sourceRoot":"../../../src","sources":["features/remoteControls.ts"],"mappings":";;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA;;AAEA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAKA;AACA;AACA;;AAMA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAACC,QAAkC,EAAE;EACnEC,qBAAa,CAACF,gBAAgB,GAAGC,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASE,iBAAiBA,CAACF,QAAkC,EAAE;EACpEC,qBAAa,CAACC,iBAAiB,GAAGF,QAAQ;AAC5C;;AAEA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAACH,QAAkC,EAAE;EACnEC,qBAAa,CAACE,gBAAgB,GAAGH,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASI,oBAAoBA,CAACJ,QAAkC,EAAE;EACvEC,qBAAa,CAACG,oBAAoB,GAAGJ,QAAQ;AAC/C;;AAEA;AACA;AACA;AACA;AACO,SAASK,gBAAgBA,CAACL,QAAkC,EAAE;EACnEC,qBAAa,CAACI,gBAAgB,GAAGL,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAC9BN,QAAwD,EACxD;EACAC,qBAAa,CAACK,gBAAgB,GAAGN,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASO,uBAAuBA,CACrCP,QAA+D,EAC/D;EACAC,qBAAa,CAACM,uBAAuB,GAAGP,QAAQ;AAClD;;AAEA;AACA;AACA;AACA;AACO,SAASQ,wBAAwBA,CACtCR,QAAgE,EAChE;EACAC,qBAAa,CAACO,wBAAwB,GAAGR,QAAQ;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMS,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAC/BE,oCAAiB,CAACC,UAAU,CACzBC,EAAE,IAAMZ,qBAAa,CAACQ,oBAAoB,GAAGI,EAChD,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAAJ,OAAA,CAAAI,mBAAA,GAC9BH,oCAAiB,CAACC,UAAU,CACzBC,EAAE,IAAMZ,qBAAa,CAACa,mBAAmB,GAAGD,EAC/C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACO,MAAME,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAAGJ,oCAAiB,CAACC,UAAU,CACrDC,EAAE,IAAMZ,qBAAa,CAACc,YAAY,GAAGF,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAGL,oCAAiB,CAACC,UAAU,CACtDC,EAAE,IAAMZ,qBAAa,CAACe,aAAa,GAAGH,EACzC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMI,YAAY,GAAAP,OAAA,CAAAO,YAAA,GAAGN,oCAAiB,CAACC,UAAU,CACrDC,EAAE,IAAMZ,qBAAa,CAACgB,YAAY,GAAGJ,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMK,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAGP,oCAAiB,CAACC,UAAU,CACvDC,EAAE,IAAMZ,qBAAa,CAACiB,cAAc,GAAGL,EAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMM,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAC7BR,oCAAiB,CAACC,UAAU,CACzBC,EAAE,IAAMZ,qBAAa,CAACkB,kBAAkB,GAAGN,EAC9C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACO,MAAMO,gBAAgB,GAAAV,OAAA,CAAAU,gBAAA,GAAGT,oCAAiB,CAACC,UAAU,CACzDC,EAAE,IAAMZ,qBAAa,CAACmB,gBAAgB,GAAGP,EAC5C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMQ,YAAY,GAAAX,OAAA,CAAAW,YAAA,GAAGV,oCAAiB,CAACC,UAAU,CACrDC,EAAE,IAAMZ,qBAAa,CAACoB,YAAY,GAAGR,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMS,iBAAiB,GAAAZ,OAAA,CAAAY,iBAAA,GAC5BX,oCAAiB,CAACC,UAAU,CACzBC,EAAE,IAAMZ,qBAAa,CAACqB,iBAAiB,GAAGT,EAC7C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACO,MAAMU,YAAY,GAAAb,OAAA,CAAAa,YAAA,GAAGZ,oCAAiB,CAACC,UAAU,CACrDC,EAAE,IAAMZ,qBAAa,CAACsB,YAAY,GAAGV,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMW,YAAY,GAAAd,OAAA,CAAAc,YAAA,GAAGb,oCAAiB,CAACC,UAAU,CACrDC,EAAE,IAAMZ,qBAAa,CAACuB,YAAY,GAAGX,EACxC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_LazyNativeEmitter","handleRemotePlay","callback","nativeBrowser","handleRemotePause","handleRemoteNext","handleRemotePrevious","handleRemoteStop","handleRemoteSeek","handleRemoteJumpForward","handleRemoteJumpBackward","handleRemoteLoad","onRemoteJumpBackward","exports","LazyNativeEmitter","emitterize","cb","onRemoteJumpForward","onRemoteLoad","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop"],"sourceRoot":"../../../src","sources":["features/remoteControls.ts"],"mappings":";;;;;;;;;;;;;;;AAOA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA;;AAEA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAKA;AACA;AACA;;AAMA;AACA;AACA;;AAUA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAACC,QAAkC,EAAE;EACnEC,qBAAa,CAACF,gBAAgB,GAAGC,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASE,iBAAiBA,CAACF,QAAkC,EAAE;EACpEC,qBAAa,CAACC,iBAAiB,GAAGF,QAAQ;AAC5C;;AAEA;AACA;AACA;AACA;AACO,SAASG,gBAAgBA,CAACH,QAAkC,EAAE;EACnEC,qBAAa,CAACE,gBAAgB,GAAGH,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASI,oBAAoBA,CAACJ,QAAkC,EAAE;EACvEC,qBAAa,CAACG,oBAAoB,GAAGJ,QAAQ;AAC/C;;AAEA;AACA;AACA;AACA;AACO,SAASK,gBAAgBA,CAACL,QAAkC,EAAE;EACnEC,qBAAa,CAACI,gBAAgB,GAAGL,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACO,SAASM,gBAAgBA,CAC9BN,QAAwD,EACxD;EACAC,qBAAa,CAACK,gBAAgB,GAAGN,QAAQ;AAC3C;;AAEA;AACA;AACA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","ignoreList":[]}
@@ -98,6 +98,7 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
98
98
  onRemoteJumpBackward = () => {};
99
99
  onRemoteJumpForward = () => {};
100
100
  onRemoteLike = () => {};
101
+ onRemoteLoad = () => {};
101
102
  onRemoteNext = () => {};
102
103
  onRemotePause = () => {};
103
104
  onRemotePlay = () => {};
@@ -124,6 +125,7 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
124
125
  handleRemoteJumpBackward = undefined;
125
126
  handleRemoteJumpForward = undefined;
126
127
  handleRemoteLike = undefined;
128
+ handleRemoteLoad = undefined;
127
129
  handleRemoteNext = undefined;
128
130
  handleRemotePause = undefined;
129
131
  handleRemotePlay = undefined;
@@ -247,6 +249,29 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
247
249
  void this.navigateTrackAsync(track, url);
248
250
  }
249
251
 
252
+ /**
253
+ * Centralizes handleRemoteLoad interception logic.
254
+ * If handleRemoteLoad is set, calls it (intercepted). Otherwise runs defaultBehavior.
255
+ * Always fires onRemoteLoad afterward.
256
+ *
257
+ * @returns true if the handler intercepted, false if defaultBehavior ran
258
+ */
259
+ handleLoad(track, queue, startIndex, defaultBehavior) {
260
+ const event = {
261
+ track,
262
+ queue,
263
+ startIndex
264
+ };
265
+ const handled = !!this.handleRemoteLoad;
266
+ if (this.handleRemoteLoad) {
267
+ this.handleRemoteLoad(event);
268
+ } else {
269
+ defaultBehavior();
270
+ }
271
+ this.onRemoteLoad(event);
272
+ return handled;
273
+ }
274
+
250
275
  /**
251
276
  * Attempts to skip to a track already in the current queue.
252
277
  * Used as an optimization to avoid re-expanding the queue.
@@ -264,8 +289,10 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
264
289
  if (index < 0) {
265
290
  return false;
266
291
  }
267
- this.skip(index);
268
- this.play();
292
+ this.handleLoad(queue[index], queue, index, () => {
293
+ this.skip(index);
294
+ this.play();
295
+ });
269
296
  return true;
270
297
  }
271
298
 
@@ -280,7 +307,9 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
280
307
  if (result.tracks.length === 0) {
281
308
  return false;
282
309
  }
283
- this.setQueue(result.tracks, result.startIndex);
310
+ this.handleLoad(track, result.tracks, result.startIndex, () => {
311
+ this.setQueue(result.tracks, result.startIndex);
312
+ });
284
313
  return true;
285
314
  }
286
315
 
@@ -306,7 +335,7 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
306
335
  }
307
336
 
308
337
  // Fallback: load single track if expansion fails
309
- this.load(track);
338
+ this.handleLoad(track, [track], 0, () => this.load(track));
310
339
  return;
311
340
  }
312
341
 
@@ -320,7 +349,7 @@ class NativeAudioBrowser extends _TrackPlayer.PlaylistPlayer {
320
349
 
321
350
  // Handle playable track (has src but no URL)
322
351
  if (track.src) {
323
- this.load(track);
352
+ this.handleLoad(track, [track], 0, () => this.load(track));
324
353
  return;
325
354
  }
326
355
  throw new Error("Track must have either 'url' or 'src' property");
@@ -1 +1 @@
1
- {"version":3,"names":["_BrowserManager","require","_FavoriteManager","_NavigationErrorManager","_SearchManager","_HttpClient","_RequestConfigBuilder","_NowPlayingManager","_OptionsManager","_TrackPlayer","_BrowserPathHelper","NativeAudioBrowser","PlaylistPlayer","name","equals","dispose","clearUpdateEventInterval","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","_online","navigator","onLine","sleepTimer","SleepTimerManager","constructor","parent","onComplete","console","log","stop","onSleepTimerChanged","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteBookmark","onRemoteDislike","onRemoteJumpBackward","onRemoteJumpForward","onRemoteLike","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onIosOutputChanged","handleRemoteBookmark","undefined","handleRemoteDislike","handleRemoteJumpBackward","handleRemoteJumpForward","handleRemoteLike","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSetRating","handleRemoteSkip","handleRemoteStop","httpClient","HttpClient","favoriteManager","FavoriteManager","navigationErrorManager","NavigationErrorManager","optionsManager","OptionsManager","nowPlayingManager","NowPlayingManager","BrowserManager","searchManager","SearchManager","content","data","error","options","metadata","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","getPlayingStateFromPlayback","playback","pwr","_playWhenReady","playing","buffering","setupProgressUpdates","interval","progressUpdateEventInterval","setInterval","progress","getProgress","event","track","currentIndex","clearInterval","onPlaylistEnded","position","element","currentTime","navigatePath","navigateTrack","url","navigateTrackAsync","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","queue","getQueue","index","findIndex","t","src","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","startIndex","BrowserPathHelper","isContextual","stripTrackId","extractTrackId","load","catch","Error","setNavigationError","onSearch","query","search","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","setFavorites","favorites","setupPlayer","updateOptions","getOptions","resolveMediaUrl","mediaConfig","media","RequestConfigBuilder","callback","requireElement","clearNowPlayingOverride","playlist","_currentIndex","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","setPlayWhenReady","didChange","playWhenReady","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","setRepeatMode","mode","repeatMode","getShuffleEnabled","setShuffleEnabled","enabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","sleepAfter","setSleepTimerToEndOfTrack","setToEndOfTrack","clearSleepTimer","wasRunning","clear","onTrackEnded","startPositionMs","artworkConfig","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","getIosOutput","openIosOutputPicker","exports"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_BrowserManager","require","_FavoriteManager","_NavigationErrorManager","_SearchManager","_HttpClient","_RequestConfigBuilder","_NowPlayingManager","_OptionsManager","_TrackPlayer","_BrowserPathHelper","NativeAudioBrowser","PlaylistPlayer","name","equals","dispose","clearUpdateEventInterval","window","onlineHandler","removeEventListener","offlineHandler","currentLoadId","_online","navigator","onLine","sleepTimer","SleepTimerManager","constructor","parent","onComplete","console","log","stop","onSleepTimerChanged","path","browserManager","value","tabs","_value","configuration","onPathChanged","onContentChanged","onTabsChanged","onNavigationError","onFormattedNavigationError","onChapterMetadata","onTrackMetadata","onTimedMetadata","onPlaybackActiveTrackChanged","onPlaybackError","onPlaybackPlayWhenReadyChanged","onPlaybackPlayingState","onPlaybackProgressUpdated","onPlaybackQueueEnded","onPlaybackQueueChanged","onPlaybackRepeatModeChanged","onPlaybackShuffleModeChanged","onPlaybackChanged","onRemoteBookmark","onRemoteDislike","onRemoteJumpBackward","onRemoteJumpForward","onRemoteLike","onRemoteLoad","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop","onOptionsChanged","onFavoriteChanged","onNowPlayingChanged","onOnlineChanged","onEqualizerChanged","onBatteryWarningPendingChanged","onBatteryOptimizationStatusChanged","onSystemVolumeChanged","onIosOutputChanged","handleRemoteBookmark","undefined","handleRemoteDislike","handleRemoteJumpBackward","handleRemoteJumpForward","handleRemoteLike","handleRemoteLoad","handleRemoteNext","handleRemotePause","handleRemotePlay","handleRemotePlayId","handleRemotePlaySearch","handleRemotePrevious","handleRemoteSeek","handleRemoteSetRating","handleRemoteSkip","handleRemoteStop","httpClient","HttpClient","favoriteManager","FavoriteManager","navigationErrorManager","NavigationErrorManager","optionsManager","OptionsManager","nowPlayingManager","NowPlayingManager","BrowserManager","searchManager","SearchManager","content","data","error","options","metadata","addEventListener","state","newState","oldState","didStateChange","didErrorChange","code","message","getPlayingStateFromPlayback","playback","pwr","_playWhenReady","playing","buffering","setupProgressUpdates","interval","progressUpdateEventInterval","setInterval","progress","getProgress","event","track","currentIndex","clearInterval","onPlaylistEnded","position","element","currentTime","navigatePath","navigateTrack","url","navigateTrackAsync","handleLoad","queue","startIndex","defaultBehavior","handled","trySkipToExistingQueueTrack","trackId","parentPath","queueSourcePath","getQueue","index","findIndex","t","src","skip","play","expandQueueAndPlay","result","resolveMediaItemsForPlayback","tracks","length","setQueue","BrowserPathHelper","isContextual","stripTrackId","extractTrackId","load","catch","Error","setNavigationError","onSearch","query","search","getContent","getNavigationError","getFormattedNavigationError","notifyContentChanged","setFavorites","favorites","setupPlayer","updateOptions","getOptions","resolveMediaUrl","mediaConfig","media","RequestConfigBuilder","callback","requireElement","clearNowPlayingOverride","playlist","_currentIndex","lastTrack","current","lastPosition","lastIndex","_loadInProgress","_pendingSeek","loadId","doLoad","resolvedTrack","loadedTrack","nowPlaying","getNowPlaying","playbackError","togglePlayback","setPlayWhenReady","didChange","playWhenReady","getPlayWhenReady","getPlayback","getPlayingState","getRepeatMode","setRepeatMode","mode","repeatMode","getShuffleEnabled","setShuffleEnabled","enabled","getPlaybackError","getSleepTimer","time","sleepWhenPlayedToEnd","setSleepTimer","seconds","sleepAfter","setSleepTimerToEndOfTrack","setToEndOfTrack","clearSleepTimer","wasRunning","clear","onTrackEnded","startPositionMs","artworkConfig","artwork","map","hydratedTrack","hydrateFavorite","transformTrackArtwork","getActiveTrackIndex","requirePlayer","getActiveTrack","setActiveTrackFavorited","favorited","addFavorite","removeFavorite","updatedTrack","toggleActiveTrackFavorited","isFavorited","updateNowPlaying","update","duration","getOnline","getEqualizerSettings","setEqualizerEnabled","_enabled","setEqualizerPreset","_preset","setEqualizerLevels","_levels","getBatteryWarningPending","getBatteryOptimizationStatus","dismissBatteryWarning","openBatterySettings","getSystemVolume","setSystemVolume","_volume","getIosOutput","openIosOutputPicker","exports"],"sourceRoot":"../../../src","sources":["web/NativeAudioBrowser.ts"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,10 @@ import { LazyNativeEmitter } from '../utils/LazyNativeEmitter';
33
33
  * Remote skip event (Android only).
34
34
  */
35
35
 
36
+ /**
37
+ * Remote load event, fired when a track is about to be loaded via navigateTrack.
38
+ */
39
+
36
40
  // MARK: - Default Handlers
37
41
 
38
42
  // Install remote control handlers with default behavior immediately when module loads
@@ -182,6 +186,15 @@ export function handleRemoteJumpBackward(callback) {
182
186
  nativeBrowser.handleRemoteJumpBackward = callback;
183
187
  }
184
188
 
189
+ /**
190
+ * Sets a custom handler for remote load events, overriding the default track loading behavior.
191
+ * When set, navigateTrack() will call this handler instead of auto-loading/playing the track.
192
+ * @param callback - Called with the track, queue, and startIndex. Pass undefined to restore default behavior.
193
+ */
194
+ export function handleRemoteLoad(callback) {
195
+ nativeBrowser.handleRemoteLoad = callback;
196
+ }
197
+
185
198
  // MARK: - Event Callbacks (for listening/debugging only)
186
199
  //
187
200
  // Use these functions when you want to LISTEN to remote control events without overriding
@@ -203,6 +216,15 @@ export const onRemoteJumpBackward = LazyNativeEmitter.emitterize(cb => nativeBro
203
216
  */
204
217
  export const onRemoteJumpForward = LazyNativeEmitter.emitterize(cb => nativeBrowser.onRemoteJumpForward = cb);
205
218
 
219
+ /**
220
+ * Subscribes to remote load events.
221
+ * Fires whenever a track is about to be loaded via navigateTrack(),
222
+ * regardless of whether handleRemoteLoad is set.
223
+ * @param callback - Called with the track, queue, and startIndex
224
+ * @returns Cleanup function to unsubscribe
225
+ */
226
+ export const onRemoteLoad = LazyNativeEmitter.emitterize(cb => nativeBrowser.onRemoteLoad = cb);
227
+
206
228
  /**
207
229
  * Subscribes to remote next events.
208
230
  * @param callback - Called when the user presses the next track button
@@ -1 +1 @@
1
- {"version":3,"names":["nativeBrowser","LazyNativeEmitter","handleRemotePlay","callback","handleRemotePause","handleRemoteNext","handleRemotePrevious","handleRemoteStop","handleRemoteSeek","handleRemoteJumpForward","handleRemoteJumpBackward","onRemoteJumpBackward","emitterize","cb","onRemoteJumpForward","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop"],"sourceRoot":"../../../src","sources":["features/remoteControls.ts"],"mappings":";;AAMA,SAASA,aAAa,QAAQ,WAAW;AACzC,SAASC,iBAAiB,QAAQ,4BAA4B;;AAE9D;;AAEA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAKA;AACA;AACA;;AAMA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,QAAkC,EAAE;EACnEH,aAAa,CAACE,gBAAgB,GAAGC,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACD,QAAkC,EAAE;EACpEH,aAAa,CAACI,iBAAiB,GAAGD,QAAQ;AAC5C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,gBAAgBA,CAACF,QAAkC,EAAE;EACnEH,aAAa,CAACK,gBAAgB,GAAGF,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAACH,QAAkC,EAAE;EACvEH,aAAa,CAACM,oBAAoB,GAAGH,QAAQ;AAC/C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgBA,CAACJ,QAAkC,EAAE;EACnEH,aAAa,CAACO,gBAAgB,GAAGJ,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,gBAAgBA,CAC9BL,QAAwD,EACxD;EACAH,aAAa,CAACQ,gBAAgB,GAAGL,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASM,uBAAuBA,CACrCN,QAA+D,EAC/D;EACAH,aAAa,CAACS,uBAAuB,GAAGN,QAAQ;AAClD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,wBAAwBA,CACtCP,QAAgE,EAChE;EACAH,aAAa,CAACU,wBAAwB,GAAGP,QAAQ;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,oBAAoB,GAC/BV,iBAAiB,CAACW,UAAU,CACzBC,EAAE,IAAMb,aAAa,CAACW,oBAAoB,GAAGE,EAChD,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAC9Bb,iBAAiB,CAACW,UAAU,CACzBC,EAAE,IAAMb,aAAa,CAACc,mBAAmB,GAAGD,EAC/C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,YAAY,GAAGd,iBAAiB,CAACW,UAAU,CACrDC,EAAE,IAAMb,aAAa,CAACe,YAAY,GAAGF,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,aAAa,GAAGf,iBAAiB,CAACW,UAAU,CACtDC,EAAE,IAAMb,aAAa,CAACgB,aAAa,GAAGH,EACzC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,YAAY,GAAGhB,iBAAiB,CAACW,UAAU,CACrDC,EAAE,IAAMb,aAAa,CAACiB,YAAY,GAAGJ,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,cAAc,GAAGjB,iBAAiB,CAACW,UAAU,CACvDC,EAAE,IAAMb,aAAa,CAACkB,cAAc,GAAGL,EAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,kBAAkB,GAC7BlB,iBAAiB,CAACW,UAAU,CACzBC,EAAE,IAAMb,aAAa,CAACmB,kBAAkB,GAAGN,EAC9C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,gBAAgB,GAAGnB,iBAAiB,CAACW,UAAU,CACzDC,EAAE,IAAMb,aAAa,CAACoB,gBAAgB,GAAGP,EAC5C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,YAAY,GAAGpB,iBAAiB,CAACW,UAAU,CACrDC,EAAE,IAAMb,aAAa,CAACqB,YAAY,GAAGR,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,iBAAiB,GAC5BrB,iBAAiB,CAACW,UAAU,CACzBC,EAAE,IAAMb,aAAa,CAACsB,iBAAiB,GAAGT,EAC7C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,YAAY,GAAGtB,iBAAiB,CAACW,UAAU,CACrDC,EAAE,IAAMb,aAAa,CAACuB,YAAY,GAAGV,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,YAAY,GAAGvB,iBAAiB,CAACW,UAAU,CACrDC,EAAE,IAAMb,aAAa,CAACwB,YAAY,GAAGX,EACxC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["nativeBrowser","LazyNativeEmitter","handleRemotePlay","callback","handleRemotePause","handleRemoteNext","handleRemotePrevious","handleRemoteStop","handleRemoteSeek","handleRemoteJumpForward","handleRemoteJumpBackward","handleRemoteLoad","onRemoteJumpBackward","emitterize","cb","onRemoteJumpForward","onRemoteLoad","onRemoteNext","onRemotePause","onRemotePlay","onRemotePlayId","onRemotePlaySearch","onRemotePrevious","onRemoteSeek","onRemoteSetRating","onRemoteSkip","onRemoteStop"],"sourceRoot":"../../../src","sources":["features/remoteControls.ts"],"mappings":";;AAOA,SAASA,aAAa,QAAQ,WAAW;AACzC,SAASC,iBAAiB,QAAQ,4BAA4B;;AAE9D;;AAEA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAKA;AACA;AACA;;AAMA;AACA;AACA;;AAUA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,QAAkC,EAAE;EACnEH,aAAa,CAACE,gBAAgB,GAAGC,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACD,QAAkC,EAAE;EACpEH,aAAa,CAACI,iBAAiB,GAAGD,QAAQ;AAC5C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,gBAAgBA,CAACF,QAAkC,EAAE;EACnEH,aAAa,CAACK,gBAAgB,GAAGF,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,oBAAoBA,CAACH,QAAkC,EAAE;EACvEH,aAAa,CAACM,oBAAoB,GAAGH,QAAQ;AAC/C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgBA,CAACJ,QAAkC,EAAE;EACnEH,aAAa,CAACO,gBAAgB,GAAGJ,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,gBAAgBA,CAC9BL,QAAwD,EACxD;EACAH,aAAa,CAACQ,gBAAgB,GAAGL,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASM,uBAAuBA,CACrCN,QAA+D,EAC/D;EACAH,aAAa,CAACS,uBAAuB,GAAGN,QAAQ;AAClD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,wBAAwBA,CACtCP,QAAgE,EAChE;EACAH,aAAa,CAACU,wBAAwB,GAAGP,QAAQ;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,gBAAgBA,CAC9BR,QAAwD,EACxD;EACAH,aAAa,CAACW,gBAAgB,GAAGR,QAAQ;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,oBAAoB,GAC/BX,iBAAiB,CAACY,UAAU,CACzBC,EAAE,IAAMd,aAAa,CAACY,oBAAoB,GAAGE,EAChD,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAC9Bd,iBAAiB,CAACY,UAAU,CACzBC,EAAE,IAAMd,aAAa,CAACe,mBAAmB,GAAGD,EAC/C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,YAAY,GAAGf,iBAAiB,CAACY,UAAU,CACrDC,EAAE,IAAMd,aAAa,CAACgB,YAAY,GAAGF,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,YAAY,GAAGhB,iBAAiB,CAACY,UAAU,CACrDC,EAAE,IAAMd,aAAa,CAACiB,YAAY,GAAGH,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,aAAa,GAAGjB,iBAAiB,CAACY,UAAU,CACtDC,EAAE,IAAMd,aAAa,CAACkB,aAAa,GAAGJ,EACzC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,YAAY,GAAGlB,iBAAiB,CAACY,UAAU,CACrDC,EAAE,IAAMd,aAAa,CAACmB,YAAY,GAAGL,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,cAAc,GAAGnB,iBAAiB,CAACY,UAAU,CACvDC,EAAE,IAAMd,aAAa,CAACoB,cAAc,GAAGN,EAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,kBAAkB,GAC7BpB,iBAAiB,CAACY,UAAU,CACzBC,EAAE,IAAMd,aAAa,CAACqB,kBAAkB,GAAGP,EAC9C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMQ,gBAAgB,GAAGrB,iBAAiB,CAACY,UAAU,CACzDC,EAAE,IAAMd,aAAa,CAACsB,gBAAgB,GAAGR,EAC5C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,YAAY,GAAGtB,iBAAiB,CAACY,UAAU,CACrDC,EAAE,IAAMd,aAAa,CAACuB,YAAY,GAAGT,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMU,iBAAiB,GAC5BvB,iBAAiB,CAACY,UAAU,CACzBC,EAAE,IAAMd,aAAa,CAACwB,iBAAiB,GAAGV,EAC7C,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,YAAY,GAAGxB,iBAAiB,CAACY,UAAU,CACrDC,EAAE,IAAMd,aAAa,CAACyB,YAAY,GAAGX,EACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,YAAY,GAAGzB,iBAAiB,CAACY,UAAU,CACrDC,EAAE,IAAMd,aAAa,CAAC0B,YAAY,GAAGZ,EACxC,CAAC","ignoreList":[]}
@@ -95,6 +95,7 @@ export class NativeAudioBrowser extends PlaylistPlayer {
95
95
  onRemoteJumpBackward = () => {};
96
96
  onRemoteJumpForward = () => {};
97
97
  onRemoteLike = () => {};
98
+ onRemoteLoad = () => {};
98
99
  onRemoteNext = () => {};
99
100
  onRemotePause = () => {};
100
101
  onRemotePlay = () => {};
@@ -121,6 +122,7 @@ export class NativeAudioBrowser extends PlaylistPlayer {
121
122
  handleRemoteJumpBackward = undefined;
122
123
  handleRemoteJumpForward = undefined;
123
124
  handleRemoteLike = undefined;
125
+ handleRemoteLoad = undefined;
124
126
  handleRemoteNext = undefined;
125
127
  handleRemotePause = undefined;
126
128
  handleRemotePlay = undefined;
@@ -244,6 +246,29 @@ export class NativeAudioBrowser extends PlaylistPlayer {
244
246
  void this.navigateTrackAsync(track, url);
245
247
  }
246
248
 
249
+ /**
250
+ * Centralizes handleRemoteLoad interception logic.
251
+ * If handleRemoteLoad is set, calls it (intercepted). Otherwise runs defaultBehavior.
252
+ * Always fires onRemoteLoad afterward.
253
+ *
254
+ * @returns true if the handler intercepted, false if defaultBehavior ran
255
+ */
256
+ handleLoad(track, queue, startIndex, defaultBehavior) {
257
+ const event = {
258
+ track,
259
+ queue,
260
+ startIndex
261
+ };
262
+ const handled = !!this.handleRemoteLoad;
263
+ if (this.handleRemoteLoad) {
264
+ this.handleRemoteLoad(event);
265
+ } else {
266
+ defaultBehavior();
267
+ }
268
+ this.onRemoteLoad(event);
269
+ return handled;
270
+ }
271
+
247
272
  /**
248
273
  * Attempts to skip to a track already in the current queue.
249
274
  * Used as an optimization to avoid re-expanding the queue.
@@ -261,8 +286,10 @@ export class NativeAudioBrowser extends PlaylistPlayer {
261
286
  if (index < 0) {
262
287
  return false;
263
288
  }
264
- this.skip(index);
265
- this.play();
289
+ this.handleLoad(queue[index], queue, index, () => {
290
+ this.skip(index);
291
+ this.play();
292
+ });
266
293
  return true;
267
294
  }
268
295
 
@@ -277,7 +304,9 @@ export class NativeAudioBrowser extends PlaylistPlayer {
277
304
  if (result.tracks.length === 0) {
278
305
  return false;
279
306
  }
280
- this.setQueue(result.tracks, result.startIndex);
307
+ this.handleLoad(track, result.tracks, result.startIndex, () => {
308
+ this.setQueue(result.tracks, result.startIndex);
309
+ });
281
310
  return true;
282
311
  }
283
312
 
@@ -303,7 +332,7 @@ export class NativeAudioBrowser extends PlaylistPlayer {
303
332
  }
304
333
 
305
334
  // Fallback: load single track if expansion fails
306
- this.load(track);
335
+ this.handleLoad(track, [track], 0, () => this.load(track));
307
336
  return;
308
337
  }
309
338
 
@@ -317,7 +346,7 @@ export class NativeAudioBrowser extends PlaylistPlayer {
317
346
 
318
347
  // Handle playable track (has src but no URL)
319
348
  if (track.src) {
320
- this.load(track);
349
+ this.handleLoad(track, [track], 0, () => this.load(track));
321
350
  return;
322
351
  }
323
352
  throw new Error("Track must have either 'url' or 'src' property");