Fix player automatically starting after WebKit reload

This commit is contained in:
ronaldheft
2022-09-15 20:49:25 -04:00
parent 141877f111
commit e7f61e34e8
3 changed files with 16 additions and 18 deletions
+9 -11
View File
@@ -15,10 +15,7 @@ class PlayerHandler {
guard let session = Database.shared.getPlaybackSession(id: sessionId) else { return }
// Clean up the existing player
if player != nil {
player?.destroy()
player = nil
}
resetPlayer()
// Cleanup and sync old sessions
cleanupOldSessions(currentSessionId: sessionId)
@@ -31,15 +28,11 @@ class PlayerHandler {
player = AudioPlayer(sessionId: sessionId, playWhenReady: playWhenReady, playbackRate: playbackRate)
}
public static func stopPlayback() {
public static func stopPlayback(currentSessionId: String? = nil) {
// Pause playback first, so we can sync our current progress
player?.pause()
player?.destroy()
player = nil
cleanupOldSessions(currentSessionId: nil)
resetPlayer()
cleanupOldSessions(currentSessionId: currentSessionId)
NowPlayingInfo.shared.reset()
}
@@ -157,4 +150,9 @@ class PlayerHandler {
debugPrint(error)
}
}
private static func resetPlayer() {
player?.destroy()
player = nil
}
}