Android音视频开发之ExoPlayer(二):播放列表常用的功能
播放列表
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() {//当一个视频切换到另一个视频时触发@Overridepublic void onMediaItemTransition(@Nullable MediaItem mediaItem, int reason) {//更新UI}...
}
最后
本篇讲述了播放列表的相关功能,下一篇讲述自定义布局的相关内容。
Android音视频开发之ExoPlayer(二):播放列表常用的功能相关推荐
- Android音视频开发之,全网疯传
int audioFormat, int bufferSizeInBytes, int mode, int sessionId) * streamType,Android手机上提供音频管理策略,按下音 ...
- 深入理解Android音视频同步机制(二)ExoPlayer的avsync逻辑
深入理解Android音视频同步机制(一)概述 深入理解Android音视频同步机制(二)ExoPlayer的avsync逻辑 深入理解Android音视频同步机制(三)NuPlayer的avsync ...
- 迅为RK3399开发板音视频开发之Debian9 多媒体测试
iTOP3399平台 Debian 系统音视频部分应用层软件采用的是 Gstreamer,支持硬件编解码.本节所有的 示例均是基于 Gstreamer 命令行的形式. iTOP3399 平台内部有一个 ...
- 音视频开发基础(二)常用的直播协议
如今网络的发展已经从1G,2G,3G,4G逐渐过渡到5G,5G网络的出现,音视频的使用就变得越来越广.从以前的泛娱乐过渡到了更深次的领域,比如在线教育,在线会议-然而,要想有完美的视屏体验,还是要从很 ...
- linux mp4转h264工具,Linux音视频开发之二:转换YUY2到I420便于压缩成h264
在用libx264做h264压缩的时候,我们可以通过命令ffmpeg -h encoder=libx264来查看它所支持的输入格式 Encoder libx264 [libx264 H.264 / A ...
- WebRTC 音视频开发之路
早在2014年就通过WebRTC实现了PC客户端的实时视频语音,那时P2P连接的建立使用的WebRTC自带的libjingle库,使用peerconnection的API实现的.后来在做远程桌面,文件 ...
- 音视频开发总结之二Android平台相关
一. 音视频采集流程 串联整个音视频录制流程,完成音视频的采集.编码.封包成 mp4 输出. 通过摄像头和麦克风获得实时的音视频数据: 播放流程: 获取流->解码->播放. 录制播放路程: ...
- Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件(学习笔记)
关于 AudioRecord Android SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord,前者是一个更加上层一点的API,它可以直接把手机麦克风 ...
- Android 音视频开发(二) -- Camera1 实现预览、拍照功能
音视频 系列文章 Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍 ...
- Android音视频视频基础(H264)二 SPS分析
学习目标: SPS分析与读取 图中的标识为哥伦布编码的,均需要通过哥伦布编码解析实际值. 学习内容: 首先肯定得截个sps数据的图来看分析了. 上图红框内就是sps数据了.67是sps标识,不清楚的小 ...
最新文章
- 20165239其米仁增3
- java 传递intent_Android中使用Intent在Activity之间传递对象(使用Serializable或者Parcelable)的方法...
- 2021-09-30
- python牛客网编程题_【面经】小米软件开发一面(python)面经 2020 2020
- 诺基亚2亿欧元建越南新工场
- 数据库杂谈(一)——数据库基本概念
- Gentle中的数据表实体类相关自定义属性的设置和获得
- ppython_Python pcom包_程序模块 - PyPI - Python中文网
- Oracle单个数据文件超过32G后需要扩容
- JAVA锁之可重入锁和递归锁及示例代码
- java格式化时间博客园_Java 日期格式化工具类
- redis数据类型语法及与java连接
- 安装包制作工具 SetupFactory使用 详解
- 在nginx中编写html,码头不会在nginx html根目录中创建文件夹
- PUE 1.2,总投资达36.4亿,17600个机柜!天和防务拟建陕西最大数据中心
- Python之禅及其翻译
- 量子通信——量子的概念与量子力学
- update语句修改mysql密码_修改 mysql 密码
- 英语影视台词---绿皮书(2)(利普 我以为你要把那家伙打死了)
- 用户画像基础之数据架构
热门文章
- 港科报道 | 8位校友入选香港25青年科创先锋人物
- 蝉妈妈对话曹颖:5月带货1.1亿,踩过的坑都变成了卖货的筹码
- office使用latex公式
- C# ManualResetEvent 与 AutoResetEvent 区别
- 哪个软件测试上传速度最准,哪个软件测网速准确,360怎么测网速
- 最新Everest 企业版(AIDA64)使用SQL保存数据的方法介绍
- “AI超人”李开复慢下来的投资节奏
- excel做地图热力图_如何用excel制作中国地图热力数据图
- java浮动广告_浮动的广告代码
- ubuntu20.04 3060 显卡 安装NVIDIA显卡驱动