Seek to millisecond rather than flooring to second

This commit is contained in:
Kyrluckechuck
2026-04-14 09:56:28 -04:00
parent 1571bcd9f3
commit d4e7d0abf9
3 changed files with 5 additions and 4 deletions
@@ -325,10 +325,10 @@ class AbsAudioPlayer : Plugin() {
@PluginMethod
fun seek(call: PluginCall) {
val time:Int = call.getInt("value", 0) ?: 0 // Value in seconds
val time: Double = call.getDouble("value", 0.0) ?: 0.0 // Value in seconds, fractional
Log.d(tag, "seek action to $time")
Handler(Looper.getMainLooper()).post {
playerNotificationService.seekPlayer(time * 1000L) // convert to ms
playerNotificationService.seekPlayer((time * 1000L).toLong())
call.resolve()
}
}
+2 -1
View File
@@ -615,7 +615,8 @@ export default {
this.seekedTime = time
this.seekLoading = true
AbsAudioPlayer.seek({ value: Math.floor(time) })
// Pass fractional seconds so seeks to non-integer chapter starts don't truncate
AbsAudioPlayer.seek({ value: time })
if (this.$refs.playedTrack) {
const perc = time / this.totalDuration
+1 -1
View File
@@ -226,7 +226,7 @@ export default {
console.log('Already streaming item', startTime)
if (startTime !== undefined && startTime !== null) {
// seek to start time
AbsAudioPlayer.seek({ value: Math.floor(startTime) })
AbsAudioPlayer.seek({ value: startTime })
} else if (this.$refs.audioPlayer) {
this.$refs.audioPlayer.play()
}