(九)稍后播功能实现

来源:互联网 发布:实体店出票软件 编辑:程序博客网 时间:2024/05/20 09:21

简聆音乐现在已经能进行播放了,那么如果用户希望接下来播放指定的一首歌曲呢?

这就需要实现稍后播功能了

首先要在音乐列表加入一个按钮,如下图


用户点击了加号按钮后,表示下一曲要播放这首指定的歌曲。

因为这个页面是Activity

而播放音乐是在service里进行的

所以需要将这个稍后播的歌曲传入service中去

具体实现步骤如下:

1:给recycleview的加号按钮做一个点击监听

点击这个按钮后,将这个按钮的position以广播方式传入service

2:定义一个稍后播的集合

用来存储传入的position集合

/** * 稍后播音乐列表 */public List<Integer> waitPlaymusicList;
对这个列表进行初始化

waitPlaymusicList = new ArrayList<Integer>();//初始化稍后播列表对象

3:接收到广播后这样处理:

case "waitplaymusic"://稍后播放广播    int waitindex = intent.getIntExtra("waitplaymusicposition", -1);//稍后播放的歌曲号码    //加入到稍后播列表    waitPlaymusicList.add(waitindex);    break;


最后一步,在需要的地方进行判断

比如下一曲和播放完成后,判断这个集合是否有内容

如果有,先播放这个position所代表的歌曲

没有则执行相关的播放逻辑。

因为这里还没有实现单曲循环和随机播放

所以没有稍后播的话就是顺序播放

注意,播放稍后播的音乐时,记得移除掉稍后播里的第一个数据

代表这首歌曲已经在播放了。