Suppress auto skip for 2s after manual seek

Prevents intro/outro skip from immediately triggering when user
uses jump back, prev chapter, or seeks manually into a skip zone.
This commit is contained in:
Lunatic 2026-02-27 16:39:47 +08:00
parent 888852a128
commit ceeee97e63

View file

@ -280,9 +280,11 @@ export default {
this.playerHandler.playPause() this.playerHandler.playPause()
}, },
jumpForward() { jumpForward() {
this._manualSeekTime = Date.now()
this.playerHandler.jumpForward() this.playerHandler.jumpForward()
}, },
jumpBackward() { jumpBackward() {
this._manualSeekTime = Date.now()
this.playerHandler.jumpBackward() this.playerHandler.jumpBackward()
}, },
setVolume(volume) { setVolume(volume) {
@ -293,6 +295,7 @@ export default {
this.playerHandler.setPlaybackRate(playbackRate) this.playerHandler.setPlaybackRate(playbackRate)
}, },
seek(time) { seek(time) {
this._manualSeekTime = Date.now()
this.playerHandler.seek(time) this.playerHandler.seek(time)
}, },
playbackTimeUpdate(time) { playbackTimeUpdate(time) {
@ -568,6 +571,9 @@ export default {
if (!doSkipIntro && !doSkipOutro) return if (!doSkipIntro && !doSkipOutro) return
if (!this.isPlaying || !this.chapters.length) return if (!this.isPlaying || !this.chapters.length) return
// seek2
if (this._manualSeekTime && Date.now() - this._manualSeekTime < 2000) return
// //
if (this._isSkipping) { if (this._isSkipping) {
if (this._skipTarget != null && currentTime >= this._skipTarget - 0.5) { if (this._skipTarget != null && currentTime >= this._skipTarget - 0.5) {