mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-02-10 15:29:57 +01:00
Change: allow 3 seconds of audio player time not increasing before pausing #180
This commit is contained in:
parent
91e44bc2f9
commit
8316a8c18b
@ -226,6 +226,7 @@ export default {
|
|||||||
clearInterval(this.listenTimeInterval)
|
clearInterval(this.listenTimeInterval)
|
||||||
var lastTime = this.$refs.audio.currentTime
|
var lastTime = this.$refs.audio.currentTime
|
||||||
var lastTick = Date.now()
|
var lastTick = Date.now()
|
||||||
|
var noProgressCount = 0
|
||||||
this.listenTimeInterval = setInterval(() => {
|
this.listenTimeInterval = setInterval(() => {
|
||||||
if (!this.$refs.audio) {
|
if (!this.$refs.audio) {
|
||||||
console.error('Canceling audio played interval no audio player')
|
console.error('Canceling audio played interval no audio player')
|
||||||
@ -245,13 +246,18 @@ export default {
|
|||||||
var currentTime = this.$refs.audio.currentTime
|
var currentTime = this.$refs.audio.currentTime
|
||||||
var differenceFromExpected = expectedAudioTime - currentTime
|
var differenceFromExpected = expectedAudioTime - currentTime
|
||||||
if (currentTime === lastTime) {
|
if (currentTime === lastTime) {
|
||||||
|
noProgressCount++
|
||||||
|
if (noProgressCount > 3) {
|
||||||
console.error('Audio current time has not increased - cancel interval and pause player')
|
console.error('Audio current time has not increased - cancel interval and pause player')
|
||||||
this.cancelListenTimeInterval()
|
this.cancelListenTimeInterval()
|
||||||
this.pause()
|
this.pause()
|
||||||
|
}
|
||||||
} else if (Math.abs(differenceFromExpected) > 0.1) {
|
} else if (Math.abs(differenceFromExpected) > 0.1) {
|
||||||
|
noProgressCount = 0
|
||||||
console.warn('Invalid time between interval - resync last', differenceFromExpected)
|
console.warn('Invalid time between interval - resync last', differenceFromExpected)
|
||||||
lastTime = currentTime
|
lastTime = currentTime
|
||||||
} else {
|
} else {
|
||||||
|
noProgressCount = 0
|
||||||
var exactPlayTimeDifference = currentTime - lastTime
|
var exactPlayTimeDifference = currentTime - lastTime
|
||||||
// console.log('Difference from expected', differenceFromExpected, 'Exact play time diff', exactPlayTimeDifference)
|
// console.log('Difference from expected', differenceFromExpected, 'Exact play time diff', exactPlayTimeDifference)
|
||||||
lastTime = currentTime
|
lastTime = currentTime
|
||||||
|
Loading…
Reference in New Issue
Block a user