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 @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
@@ -615,7 +615,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
@@ -226,7 +226,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()
} }