请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师能不能详细说明下随机播放歌曲的原理

视频里听得迷迷糊糊的,没搞懂随机播放,如果我把数组打乱排序,那歌曲就直接跟着变了,不会继续播放当前歌,还有之前的歌曲列表也跟着变了

正在回答

1回答

ustbhuangyi 2019-08-28 09:47:55

你指的是在播放过程中切换为随机播放?
随机播放首先肯定是要打乱顺序播放的列表,但是打乱后你现在播放的索引肯定会有问题,比如之前你正在播放的歌曲是第一首,打乱后就变成了第三首,因为当前播放的歌曲是根据播放列表+播放索引计算而来的,所以为了保证你当前播放的歌曲不变,你需要更新播放索引。
https://img1.sycdn.imooc.com//szimg/5d65dd450907a59811020882.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 慕函数0445997 #1
    我一打乱数组的排序,那个歌曲就直接播放当前随机的了,还有当前的currentSong也跟着变了,判断id没有用,解决不了啊,这个bug卡了一天了
    回复 有任何疑惑可以回复我~ 2019-08-28 10:49:31
  • ustbhuangyi 回复 提问者 慕函数0445997 #2
    currentSong 是根据 playList 和 currentIndex 计算而来的,你改了 playList,就需要同步改 currentIndex,仔细去对比我源码这块儿的实现吧。
    回复 有任何疑惑可以回复我~ 2019-08-28 14:42:53
  • 提问者 慕函数0445997 回复 ustbhuangyi #3
    你的代码写法看不懂,按照我的逻辑搞定了嘿嘿,就这么神奇,出现对象引用的bug了,这个雷踩得~~~
    回复 有任何疑惑可以回复我~ 2019-08-28 15:56:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信