Skip to content

Commit 20f47f2

Browse files
committed
adding preloadNext & cancelAllPreloads
1 parent 061a9e5 commit 20f47f2

File tree

3 files changed

+27
-6
lines changed

3 files changed

+27
-6
lines changed

SwiftAudioEx/Classes/AVPlayerWrapper/AVPlayerWrapper.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,15 @@ extension AVPlayerWrapper: AVPlayerObserverDelegate {
335335
self.preloadedAssets[url] = nil;
336336
}
337337

338+
func cancelAllPreloads() {
339+
for asset in self.preloadedAssets {
340+
if (self.preloadedAssets[asset.key] != nil){
341+
self.preloadedAssets[asset.key]?.cancelLoading();
342+
self.preloadedAssets[asset.key] = nil;
343+
}
344+
}
345+
}
346+
338347
func preload(item: AudioItem) {
339348
let urlString = item.getSourceUrl();
340349
let url = URL(string: urlString);

SwiftAudioEx/Classes/AudioPlayer.swift

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -190,16 +190,20 @@ public class AudioPlayer: AVPlayerWrapperDelegate {
190190
Preload item.
191191
*/
192192
public func preload(item: AudioItem) {
193-
self.wrapper.preload(item: item);
194-
}
193+
self.wrapper.preload(item: item);
194+
}
195195

196196
/**
197197
cancel preload item.
198198
*/
199-
public func cancelPreload(item: AudioItem) {
200-
self.wrapper.cancelPreload(item: item);
201-
}
202-
199+
public func cancelPreload(item: AudioItem) {
200+
self.wrapper.cancelPreload(item: item);
201+
}
202+
203+
public func cancelAllPreloads() {
204+
self.wrapper.cancelAllPreloads();
205+
}
206+
203207
/**
204208
Toggle playback status.
205209
*/

SwiftAudioEx/Classes/QueuedAudioPlayer.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,4 +231,12 @@ public class QueuedAudioPlayer: AudioPlayer, QueueManagerDelegate {
231231
func onReceivedFirstItem() {
232232
self.event.queueIndex.emit(data: (nil, 0))
233233
}
234+
235+
func preloadNext() {
236+
let nextItems = queueManager.nextItems
237+
238+
if nextItems.count > 0 {
239+
self.preload(item: nextItems[0])
240+
}
241+
}
234242
}

0 commit comments

Comments
 (0)