From 3963ffa0e226654edf8cc505e844bc04ca163a0c Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 6 Mar 2023 15:46:07 -0600 Subject: [PATCH] iOS implement start time override --- ios/App/App/plugins/AbsAudioPlayer.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ios/App/App/plugins/AbsAudioPlayer.swift b/ios/App/App/plugins/AbsAudioPlayer.swift index 78ceb12a..bec79abe 100644 --- a/ios/App/App/plugins/AbsAudioPlayer.swift +++ b/ios/App/App/plugins/AbsAudioPlayer.swift @@ -66,6 +66,7 @@ public class AbsAudioPlayer: CAPPlugin { let episodeId = call.getString("episodeId") let playWhenReady = call.getBool("playWhenReady", true) let playbackRate = call.getFloat("playbackRate", 1) + let startTimeOverride = call.getDouble("startTime") if libraryItemId == nil { logger.error("provide library item id") @@ -84,6 +85,9 @@ public class AbsAudioPlayer: CAPPlugin { } do { + if (startTimeOverride != nil) { + playbackSession.currentTime = startTimeOverride! + } try playbackSession.save() try self.startPlaybackSession(playbackSession, playWhenReady: playWhenReady, playbackRate: playbackRate) call.resolve(try playbackSession.asDictionary()) @@ -95,6 +99,9 @@ public class AbsAudioPlayer: CAPPlugin { } else { // Playing from the server ApiClient.startPlaybackSession(libraryItemId: libraryItemId!, episodeId: episodeId, forceTranscode: false) { [weak self] session in do { + if (startTimeOverride != nil) { + session.currentTime = startTimeOverride! + } try session.save() try self?.startPlaybackSession(session, playWhenReady: playWhenReady, playbackRate: playbackRate) call.resolve(try session.asDictionary())