音乐播放器之播放模式的构思

来源:互联网 发布:mac海马玩删不了 编辑:程序博客网 时间:2024/06/14 08:31
就在线播放而言,一般都是在某个歌单或者歌手的作品详情页显示歌曲列表。
 * 然后点击列表中的一首歌,此歌曲列表上的歌就加入了播放播放列表。
 *
 * 显示歌曲列表,会获取到歌曲的相关信息作为json字符串的存在。
 * 点击列表的歌,将歌曲的播放地址放到播放方法中去,比如这里的playUrl(String url)
 * 下一首播放的话,就是当前position+1的歌曲信息对应的播放地址。
 * 上一首播放,则播放当前歌曲列表(未加载下一页的信息)的最后一首歌对应的歌曲播放地址。
 *
 * 四个播放模式——单曲循环,列表循环,顺序播放,随机播放
 *
 * 循环播放:
 * 这里先说一下循环播放的一个API方法。
 * mediaPlayer.setLooping(boolen isLoop)  设置是否循环。
 *
 *
 *
 * 随机播放:
 * 这里我的构思是将歌曲的播放地址作为String字符串存进List集合。
 * 再将list集合的数目作为随机总数。即随机的数字在0~list总数的范畴内。
 * 这里直接写死循环。然后就不断的拿到数值。拿到数值之后,根据这个数值也就是歌曲在list集合中的位置,拿到歌曲的信息
 * (因为这里我list集合内存的是歌曲的播放地址,也就是String字符串)
 * 最后将拿到的歌曲播放地址放到播放方法中就行了。
 *          ArrayList<String> list = new ArrayList<>();
            Random random = new Random(list.size());
            while(true){
                int i = random.nextInt();
                String musicInfo = list.get(i).getInfo();//获得播放地址
            }
 *
 *顺序播放:
 * 思路同上,先将歌曲信息存到集合中,再顺序拿出信息。
 * 不同的是这里的循环不是死循环,可以用for循环来写。长度小于list集合长度即可。
 * for(i = 0,i<list.size(),i++){}
 *
 *
 * 单曲循环:
 * 拿到信息后,设置setLooping(true);
 *
 *
 * 列表循环:
 * 列表循环的话,实际上是循环+列表,列表上的歌播放完之后再次播放。
 * 这里应该也是写一个死循环。然后里面就与随机模式不一样了。里面可以照顺序播放写。
 *
 * while(true){//这个循环是最外层为了循环列表
 *     for(int i= 0;i<list.size();i++){//这个循环是播放列表的顺序播放
 *
 *     }
 * }
 *
 *
原创粉丝点击