Skip to content

Commit 359af5a

Browse files
authored
fix(ts): resolve track resources in TrackPlayer.load (#2522)
1 parent 3e67ee0 commit 359af5a

1 file changed

Lines changed: 14 additions & 12 deletions

File tree

src/trackPlayer.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import type {
1313
TrackMetadataBase,
1414
UpdateOptions,
1515
} from './interfaces';
16-
import resolveAssetSource from './resolveAssetSource';
1716
import TrackPlayer from './NativeTrackPlayer';
17+
import resolveAssetSource from './resolveAssetSource';
1818

1919
const isAndroid = Platform.OS === 'android';
2020
const emitter = new NativeEventEmitter(TrackPlayer);
@@ -35,6 +35,14 @@ function resolveImportedAsset(id?: number) {
3535
: undefined;
3636
}
3737

38+
function resolveTrackAssets(track: AddTrack) {
39+
return {
40+
...track,
41+
url: resolveImportedAssetOrPath(track.url),
42+
artwork: resolveImportedAssetOrPath(track.artwork),
43+
};
44+
}
45+
3846
// MARK: - General API
3947

4048
/**
@@ -99,25 +107,19 @@ export async function add(
99107
tracks: AddTrack | AddTrack[],
100108
insertBeforeIndex = -1
101109
): Promise<number | void> {
102-
const resolvedTracks = (Array.isArray(tracks) ? tracks : [tracks]).map(
103-
(track) => ({
104-
...track,
105-
url: resolveImportedAssetOrPath(track.url),
106-
artwork: resolveImportedAssetOrPath(track.artwork),
107-
})
108-
);
109-
return resolvedTracks.length < 1
110+
const addTracks = Array.isArray(tracks) ? tracks : [tracks];
111+
return addTracks.length < 1
110112
? undefined
111-
: TrackPlayer.add(resolvedTracks, insertBeforeIndex);
113+
: TrackPlayer.add(addTracks.map(resolveTrackAssets), insertBeforeIndex);
112114
}
113115

114116
/**
115117
* Replaces the current track or loads the track as the first in the queue.
116118
*
117119
* @param track The track to load.
118120
*/
119-
export async function load(track: Track): Promise<number | void> {
120-
return TrackPlayer.load(track);
121+
export async function load(track: AddTrack): Promise<number | void> {
122+
return TrackPlayer.load(resolveTrackAssets(track));
121123
}
122124

123125
/**

0 commit comments

Comments
 (0)