diff --git a/front/src/components/audio/Player.vue b/front/src/components/audio/Player.vue index 58f76ad07..1c720d952 100644 --- a/front/src/components/audio/Player.vue +++ b/front/src/components/audio/Player.vue @@ -251,6 +251,8 @@ export default { progressInterval: null, maxPreloaded: 3, preloadDelay: 15, + listenDelay: 15, + listeningRecorded: null, soundsCache: [], soundId: null, playTimeout: null, @@ -477,6 +479,13 @@ export default { this.getSound(toPreload) this.nextTrackPreloaded = true } + if (t > this.listenDelay || d - t < 30) { + let onlyTrack = this.$store.state.queue.tracks.length === 1 + if (this.listeningRecorded != this.currentTrack) { + this.listeningRecorded = this.currentTrack + this.$store.dispatch('player/trackListened', this.currentTrack) + } + } } }, seek (step) { diff --git a/front/src/store/player.js b/front/src/store/player.js index 14affce90..f3dbbb8b7 100644 --- a/front/src/store/player.js +++ b/front/src/store/player.js @@ -127,7 +127,6 @@ export default { }) }, trackEnded ({dispatch, rootState}, track) { - dispatch('trackListened', track) let queueState = rootState.queue if (queueState.currentIndex === queueState.tracks.length - 1) { // we've reached last track of queue, trigger a reload