react-native-nitro-player 0.5.5 → 0.5.7
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/README.md +2 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/HybridTrackPlayer.kt +43 -0
- package/android/src/main/java/com/margelo/nitro/nitroplayer/core/NitroPlayerLogger.kt +8 -2
- package/android/src/main/java/com/margelo/nitro/nitroplayer/core/TrackPlayerCore.kt +345 -4
- package/android/src/main/java/com/margelo/nitro/nitroplayer/download/DownloadDatabase.kt +43 -10
- package/android/src/main/java/com/margelo/nitro/nitroplayer/playlist/PlaylistManager.kt +76 -7
- package/android/src/main/java/com/margelo/nitro/nitroplayer/storage/NitroPlayerStorage.kt +9 -2
- package/ios/HybridTrackPlayer.swift +54 -1
- package/ios/core/TrackPlayerCore.swift +254 -2
- package/ios/download/DownloadDatabase.swift +79 -2
- package/ios/download/DownloadManagerCore.swift +81 -2
- package/ios/playlist/PlaylistManager.swift +68 -0
- package/lib/specs/TrackPlayer.nitro.d.ts +47 -0
- package/lib/types/PlayerQueue.d.ts +5 -0
- package/nitrogen/generated/android/NitroPlayerOnLoad.cpp +2 -0
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_TrackItem__double.hpp +104 -0
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.cpp +160 -0
- package/nitrogen/generated/android/c++/JHybridTrackPlayerSpec.hpp +8 -0
- package/nitrogen/generated/android/c++/JPlayerConfig.hpp +7 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/Func_void_std__vector_TrackItem__double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/HybridTrackPlayerSpec.kt +37 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroplayer/PlayerConfig.kt +6 -3
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.cpp +16 -0
- package/nitrogen/generated/ios/NitroPlayer-Swift-Cxx-Bridge.hpp +65 -0
- package/nitrogen/generated/ios/c++/HybridTrackPlayerSpecSwift.hpp +62 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_TrackItem__double.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec.swift +8 -0
- package/nitrogen/generated/ios/swift/HybridTrackPlayerSpec_cxx.swift +173 -0
- package/nitrogen/generated/ios/swift/PlayerConfig.swift +24 -1
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.cpp +8 -0
- package/nitrogen/generated/shared/c++/HybridTrackPlayerSpec.hpp +8 -0
- package/nitrogen/generated/shared/c++/PlayerConfig.hpp +6 -2
- package/package.json +1 -1
- package/src/specs/TrackPlayer.nitro.ts +57 -0
- package/src/types/PlayerQueue.ts +5 -0
|
@@ -87,4 +87,61 @@ export interface TrackPlayer
|
|
|
87
87
|
onAndroidAutoConnectionChange(callback: (connected: boolean) => void): void
|
|
88
88
|
isAndroidAutoConnected(): boolean
|
|
89
89
|
setVolume(volume: number): boolean
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Update entire track objects across all playlists
|
|
93
|
+
* Matches by track.id and updates all properties (url, artwork, title, etc.)
|
|
94
|
+
* Note: Empty string "" is valid for TrackItem.url to support lazy loading
|
|
95
|
+
* @param tracks Array of full TrackItem objects to update
|
|
96
|
+
* @returns Promise that resolves when updates complete
|
|
97
|
+
*/
|
|
98
|
+
updateTracks(tracks: TrackItem[]): Promise<void>
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Get tracks by IDs from all playlists
|
|
102
|
+
* @param trackIds Array of track IDs to fetch
|
|
103
|
+
* @returns Promise resolving to array of matching tracks
|
|
104
|
+
*/
|
|
105
|
+
getTracksById(trackIds: string[]): Promise<TrackItem[]>
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Get tracks with missing/empty URLs from current playlist
|
|
109
|
+
* @returns Promise resolving to array of tracks needing URLs
|
|
110
|
+
*/
|
|
111
|
+
getTracksNeedingUrls(): Promise<TrackItem[]>
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Get next N tracks from current position in playlist
|
|
115
|
+
* Useful for preloading URLs before they're needed
|
|
116
|
+
* @param count Number of upcoming tracks to return
|
|
117
|
+
* @returns Promise resolving to array of next tracks
|
|
118
|
+
*/
|
|
119
|
+
getNextTracks(count: number): Promise<TrackItem[]>
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Get current track index in the active playlist
|
|
123
|
+
* @returns Promise resolving to 0-based index, or -1 if no track playing
|
|
124
|
+
*/
|
|
125
|
+
getCurrentTrackIndex(): Promise<number>
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Register callback that fires when tracks will be needed soon
|
|
129
|
+
* Useful for proactive URL resolution in Android Auto/CarPlay
|
|
130
|
+
* @param callback Function called with tracks needing URLs and lookahead count
|
|
131
|
+
*/
|
|
132
|
+
onTracksNeedUpdate(
|
|
133
|
+
callback: (tracks: TrackItem[], lookahead: number) => void
|
|
134
|
+
): void
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Get the current track index in the active playlist
|
|
138
|
+
* @returns Promise resolving to 0-based index, or -1 if no track playing
|
|
139
|
+
*/
|
|
140
|
+
setPlaybackSpeed(speed: number): Promise<void>
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Get the current playback speed
|
|
144
|
+
* @returns Promise resolving to playback speed
|
|
145
|
+
*/
|
|
146
|
+
getPlaybackSpeed(): Promise<number>
|
|
90
147
|
}
|
package/src/types/PlayerQueue.ts
CHANGED
|
@@ -44,4 +44,9 @@ export interface PlayerConfig {
|
|
|
44
44
|
androidAutoEnabled?: boolean
|
|
45
45
|
carPlayEnabled?: boolean
|
|
46
46
|
showInNotification?: boolean
|
|
47
|
+
/**
|
|
48
|
+
* Number of upcoming tracks to preload URLs for (default: 5)
|
|
49
|
+
* Higher values = more proactive loading, but more network requests
|
|
50
|
+
*/
|
|
51
|
+
lookaheadCount?: number
|
|
47
52
|
}
|