diff --git a/src/utils/Player.js b/src/utils/Player.js index 19e1ad8..a0073ec 100644 --- a/src/utils/Player.js +++ b/src/utils/Player.js @@ -130,6 +130,8 @@ export default class { if (shuffle) { this._shuffleTheList(); } + // 同步当前歌曲在列表中的下标 + this.current = this.list.indexOf(this.currentTrackID); } get reversed() { return this._reversed; @@ -892,7 +894,7 @@ export default class { if (autoPlayTrackID === 'first') { this._replaceCurrentTrack(this.list[0]); } else { - this.current = trackIDs.indexOf(autoPlayTrackID); + this.current = this.list.indexOf(autoPlayTrackID); this._replaceCurrentTrack(autoPlayTrackID); } } diff --git a/src/views/next.vue b/src/views/next.vue index 3dacf03..0f31462 100644 --- a/src/views/next.vue +++ b/src/views/next.vue @@ -57,7 +57,9 @@ export default { this.player.current + 1, this.player.current + 100 ); - return this.tracks.filter(t => trackIDs.includes(t.id)); + return trackIDs + .map(tid => this.tracks.find(t => t.id === tid)) + .filter(t => t); }, playNextList() { return this.player.playNextList;