Closed yv-code closed 5 months ago
具体原因:
PlaybackManager 的 onSkipToNext() 方法调用 mediaQueue.skipQueuePosition(),修改了 MediaQueueManager 的 currentIndex。接着 PlaybackManager 又会调用 onPlayMusicImpl() 方法,这个方法内会调用 mediaQueue.updateIndexBySongId(),再次修改 currentIndex。
问题就在于 MediaQueueManager 的 updateIndexBySongId() 没有考虑是否为随机播放,一律从 MediaSourceProvider 的 songList 去找,就会出现问题。
在两个方法添加了判断。
好的,收到
具体原因:
PlaybackManager 的 onSkipToNext() 方法调用 mediaQueue.skipQueuePosition(),修改了 MediaQueueManager 的 currentIndex。接着 PlaybackManager 又会调用 onPlayMusicImpl() 方法,这个方法内会调用 mediaQueue.updateIndexBySongId(),再次修改 currentIndex。
问题就在于 MediaQueueManager 的 updateIndexBySongId() 没有考虑是否为随机播放,一律从 MediaSourceProvider 的 songList 去找,就会出现问题。
在两个方法添加了判断。