diff --git a/front/src/components/audio/Player.vue b/front/src/components/audio/Player.vue index d3a3decae630e89e37919568de6924171454441e..0c451bdacc6a62ca77eff1c3aee708100b1e4953 100644 --- a/front/src/components/audio/Player.vue +++ b/front/src/components/audio/Player.vue @@ -391,6 +391,7 @@ export default { self.$store.commit('player/duration', this.duration()) }, onloaderror: function (sound, error) { + self.removeFromCache(this) if (this != self.currentSound) { return } @@ -544,6 +545,17 @@ export default { }) this.soundsCache = _.reverse(toKeep) }, + removeFromCache (sound) { + let toKeep = [] + this.soundsCache.forEach((e) => { + if (e.sound === sound) { + e.sound.unload() + } else { + toKeep.push(e) + } + }) + this.soundsCache = toKeep + }, async loadSound (newValue, oldValue) { let trackData = newValue let oldSound = this.currentSound