mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-29 22:57:16 +02:00
Seek audio player to last known position
This commit is contained in:
@@ -24,7 +24,7 @@ struct Audiobook {
|
|||||||
var title = "No Title"
|
var title = "No Title"
|
||||||
var author = "Unknown"
|
var author = "Unknown"
|
||||||
var playWhenReady = false
|
var playWhenReady = false
|
||||||
var startTime = 0
|
var startTime = 0.0
|
||||||
var cover = ""
|
var cover = ""
|
||||||
var duration = 0
|
var duration = 0
|
||||||
var series = ""
|
var series = ""
|
||||||
@@ -74,7 +74,7 @@ public class MyNativeAudio: CAPPlugin {
|
|||||||
title: call.getString("title") ?? "No Title",
|
title: call.getString("title") ?? "No Title",
|
||||||
author: call.getString("author") ?? "Unknown",
|
author: call.getString("author") ?? "Unknown",
|
||||||
playWhenReady: call.getBool("playWhenReady", false),
|
playWhenReady: call.getBool("playWhenReady", false),
|
||||||
startTime: call.getInt("startTime") ?? 0,
|
startTime: Double(call.getString("startTime") ?? "0") ?? 0.0,
|
||||||
cover: call.getString("cover") ?? "",
|
cover: call.getString("cover") ?? "",
|
||||||
duration: call.getInt("duration") ?? 0,
|
duration: call.getInt("duration") ?? 0,
|
||||||
series: call.getString("series") ?? "",
|
series: call.getString("series") ?? "",
|
||||||
@@ -98,7 +98,7 @@ public class MyNativeAudio: CAPPlugin {
|
|||||||
|
|
||||||
// For play in background
|
// For play in background
|
||||||
do {
|
do {
|
||||||
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.mixWithOthers, .allowAirPlay])
|
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .spokenAudio, options: [.interruptSpokenAudioAndMixWithOthers, .allowAirPlay])
|
||||||
NSLog("[TEST] Playback OK")
|
NSLog("[TEST] Playback OK")
|
||||||
try AVAudioSession.sharedInstance().setActive(true)
|
try AVAudioSession.sharedInstance().setActive(true)
|
||||||
NSLog("[TEST] Session is Active")
|
NSLog("[TEST] Session is Active")
|
||||||
@@ -116,8 +116,11 @@ public class MyNativeAudio: CAPPlugin {
|
|||||||
context: &playerItemContext)
|
context: &playerItemContext)
|
||||||
|
|
||||||
self.audioPlayer = AVPlayer(playerItem: playerItem)
|
self.audioPlayer = AVPlayer(playerItem: playerItem)
|
||||||
let time = self.audioPlayer.currentItem?.currentTime()
|
|
||||||
|
|
||||||
|
let startTime = CMTime(seconds: (audiobook?.startTime ?? 0.0) / 1000, preferredTimescale: 1000)
|
||||||
|
self.audioPlayer.seek(to: startTime)
|
||||||
|
|
||||||
|
let time = self.audioPlayer.currentItem?.currentTime()
|
||||||
print("Audio Player Initialized \(String(describing: time))")
|
print("Audio Player Initialized \(String(describing: time))")
|
||||||
|
|
||||||
call.resolve(["success": true])
|
call.resolve(["success": true])
|
||||||
@@ -206,6 +209,7 @@ public class MyNativeAudio: CAPPlugin {
|
|||||||
self.notifyListeners("onPlayingUpdate", data: [
|
self.notifyListeners("onPlayingUpdate", data: [
|
||||||
"value": true
|
"value": true
|
||||||
])
|
])
|
||||||
|
sendMetadata()
|
||||||
|
|
||||||
playerState = .playing
|
playerState = .playing
|
||||||
setupNowPlaying()
|
setupNowPlaying()
|
||||||
@@ -216,6 +220,7 @@ public class MyNativeAudio: CAPPlugin {
|
|||||||
self.notifyListeners("onPlayingUpdate", data: [
|
self.notifyListeners("onPlayingUpdate", data: [
|
||||||
"value": false
|
"value": false
|
||||||
])
|
])
|
||||||
|
sendMetadata()
|
||||||
|
|
||||||
playerState = .paused
|
playerState = .paused
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user