Fix #86: skip to next track properly on 40X errors
This commit is contained in:
parent
9b0d5541e0
commit
dac8d6e05e
|
@ -0,0 +1 @@
|
|||
skip to next track properly on 40X errors (#86)
|
|
@ -7,7 +7,11 @@
|
|||
@timeupdate="updateProgress"
|
||||
@ended="ended"
|
||||
preload>
|
||||
<source v-for="src in srcs" :src="src.url" :type="src.type">
|
||||
<source
|
||||
@error="sourceErrored"
|
||||
v-for="src in srcs"
|
||||
src="src.url"
|
||||
:type="src.type">
|
||||
</audio>
|
||||
</template>
|
||||
|
||||
|
@ -25,6 +29,11 @@ export default {
|
|||
startTime: {type: Number, default: 0},
|
||||
autoplay: {type: Boolean, default: false}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
sourceErrors: 0
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
playing: state => state.player.playing,
|
||||
|
@ -65,6 +74,13 @@ export default {
|
|||
errored: function () {
|
||||
this.$store.dispatch('player/trackErrored')
|
||||
},
|
||||
sourceErrored: function () {
|
||||
this.sourceErrors += 1
|
||||
if (this.sourceErrors >= this.srcs.length) {
|
||||
// all sources failed
|
||||
this.errored()
|
||||
}
|
||||
},
|
||||
updateDuration: function (e) {
|
||||
this.$store.commit('player/duration', this.$refs.audio.duration)
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue