diff --git a/changes/changelog.d/970.bugfix b/changes/changelog.d/970.bugfix new file mode 100644 index 0000000000000000000000000000000000000000..400e54f74c4db6f6b8163e346d6ebb3c34dd5247 --- /dev/null +++ b/changes/changelog.d/970.bugfix @@ -0,0 +1 @@ +Fixed short audio glitch when switching switching to another track with player paused (#970) diff --git a/front/src/components/audio/Player.vue b/front/src/components/audio/Player.vue index 71365a893373865e3de4bdeefac7bf20cb0f7f03..824007d7c5babe27f70e4a1c7a22bf3b3695cabc 100644 --- a/front/src/components/audio/Player.vue +++ b/front/src/components/audio/Player.vue @@ -361,7 +361,7 @@ export default { self.ended() }, onunlock: function () { - if (self.$store.state.player.playing) { + if (self.$store.state.player.playing && self.sound) { self.soundId = self.sound.play(self.soundId) } }, @@ -581,13 +581,11 @@ export default { } this.currentSound = this.getSound(trackData) this.$store.commit('player/isLoadingAudio', true) - if (this.playing) { - this.soundId = this.currentSound.play() - this.$store.commit('player/errored', false) - this.$store.commit('player/playing', true) - this.$store.dispatch('player/updateProgress', 0) - this.observeProgress(true) - } + this.soundId = this.currentSound.play() + this.$store.commit('player/errored', false) + this.$store.commit('player/playing', true) + this.$store.dispatch('player/updateProgress', 0) + this.observeProgress(true) } }, toggleMobilePlayer () { diff --git a/front/src/store/queue.js b/front/src/store/queue.js index a750dd7f01d78e8a3ea59a314c7b308076fb8afb..5514db92109c9ba56a347283b4a2262c5e9c0ef3 100644 --- a/front/src/store/queue.js +++ b/front/src/store/queue.js @@ -140,7 +140,6 @@ export default { currentIndex ({commit, state, rootState, dispatch}, index) { commit('ended', false) commit('player/currentTime', 0, {root: true}) - commit('player/playing', true, {root: true}) commit('currentIndex', index) if (state.tracks.length - index <= 2 && rootState.radios.running) { dispatch('radios/populateQueue', null, {root: true}) diff --git a/front/tests/unit/specs/store/queue.spec.js b/front/tests/unit/specs/store/queue.spec.js index 140ce071a073ec722753c622b3e29384fe880072..afdf46c905e4c3bbb94f8f32ad250aa8e62c1c0d 100644 --- a/front/tests/unit/specs/store/queue.spec.js +++ b/front/tests/unit/specs/store/queue.spec.js @@ -226,7 +226,6 @@ describe('store/queue', () => { expectedMutations: [ { type: 'ended', payload: false }, { type: 'player/currentTime', payload: 0, options: {root: true} }, - { type: 'player/playing', payload: true, options: {root: true} }, { type: 'currentIndex', payload: 1 } ] }) @@ -239,7 +238,6 @@ describe('store/queue', () => { expectedMutations: [ { type: 'ended', payload: false }, { type: 'player/currentTime', payload: 0, options: {root: true} }, - { type: 'player/playing', payload: true, options: {root: true} }, { type: 'currentIndex', payload: 1 } ] }) @@ -252,7 +250,6 @@ describe('store/queue', () => { expectedMutations: [ { type: 'ended', payload: false }, { type: 'player/currentTime', payload: 0, options: {root: true} }, - { type: 'player/playing', payload: true, options: {root: true} }, { type: 'currentIndex', payload: 1 } ], expectedActions: [