播放列表
ExoPlayer内置了一个播放列表,可以通过ExoPlayer实例来对播放列表进行增删改查。
在上篇文章中,我们使用setMediaItem方法来添加播放的视频,这个方法调用的时候会先把列表清空,再添加该视频,也就是说,这个方法只支持播放单个视频。
mPlayer.setMediaItem(mediaItem);
如果需要添加多个视频,调用addMediaItem方法即可。
MediaItem mediaItem = MediaItem.fromUri("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4");
MediaItem mediaItem2 = MediaItem.fromUri("http://vjs.zencdn.net/v/oceans.mp4");
mPlayer.addMediaItem(mediaItem);
mPlayer.addMediaItem(mediaItem2);
视频列表的相关方法还有很多,常用的如下所示。
//清空播放列表
mPlayer.clearMediaItems();
//根据下标来移除视频
mPlayer.removeMediaItem(0);
List<MediaItem> itemList = new ArrayList();
MediaItem mediaItem = MediaItem.fromUri("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4");
MediaItem mediaItem2 = MediaItem.fromUri("http://vjs.zencdn.net/v/oceans.mp4");
itemList.add(mediaItem);
itemList.add(mediaItem2);
//添加多个视频
mPlayer.addMediaItems(newItems,true);
播放模式
播放模式是非常常见的功能,ExoPlayer有单循环、列表循环和单次列表播放三种。
//单次列表播放,播放完了就停止
Player.REPEAT_MODE_OFF;
//循环播放单个视频
Player.REPEAT_MODE_ONE;
//列表循环
Player.REPEAT_MODE_ALL;
mPlayer.setRepeatMode(Player.REPEAT_MODE_ONE);
播放列表监听
在上篇文章中讲到了Player.Listener的基本用法。本篇介绍列表监听的常用方法。
mPlayer.addListener(new Player.Listener() {
//当一个视频切换到另一个视频时触发
@Override
public void onMediaItemTransition(@Nullable MediaItem mediaItem, int reason) {
//更新UI
}
...
}
最后
本篇讲述了播放列表的相关功能,下一篇讲述自定义布局的相关内容。
文章评论