Merge pull request #1848 from Kyrluckechuck/fix/seek-to-exact-time-rather-than-floored-second

Seek to millisecond rather than flooring to second
This commit is contained in:
advplyr
2026-07-31 17:18:55 -04:00
committed by GitHub
3 changed files with 5 additions and 4 deletions
@@ -325,10 +325,10 @@ class AbsAudioPlayer : Plugin() {
@PluginMethod @PluginMethod
fun seek(call: PluginCall) { 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") Log.d(tag, "seek action to $time")
Handler(Looper.getMainLooper()).post { Handler(Looper.getMainLooper()).post {
playerNotificationService.seekPlayer(time * 1000L) // convert to ms playerNotificationService.seekPlayer((time * 1000L).toLong())
call.resolve() call.resolve()
} }
} }
+2 -1
View File
@@ -616,7 +616,8 @@ export default {
this.seekedTime = time this.seekedTime = time
this.seekLoading = true 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) { if (this.$refs.playedTrack) {
const perc = time / this.totalDuration const perc = time / this.totalDuration
+1 -1
View File
@@ -229,7 +229,7 @@ export default {
console.log('Already streaming item', startTime) console.log('Already streaming item', startTime)
if (startTime !== undefined && startTime !== null) { if (startTime !== undefined && startTime !== null) {
// seek to start time // seek to start time
AbsAudioPlayer.seek({ value: Math.floor(startTime) }) AbsAudioPlayer.seek({ value: startTime })
} else if (this.$refs.audioPlayer) { } else if (this.$refs.audioPlayer) {
this.$refs.audioPlayer.play() this.$refs.audioPlayer.play()
} }