-
Exomedia源码分析
VideoControls 播放器基类
继承自RelativeLayout,播放器基类。作用是提供一些默认的播放器基本组件;提供反射控制器布局、显示加载进度、播放器隐藏显示动画等方法;设置监听回调等等;
- 基类只提供abstract方法,由子类具体实现。
public abstract class VideoControls extends RelativeLayout { //默认的视频播放器组件 protected TextView currentTimeTextView; protected TextView endTimeTextView; protected TextView titleTextView; protected TextView subTitleTextView; protected TextView descriptionTextView; ... /** * 反射默认播放组件(开始/暂停按钮,快进后退,进度条等) */ protected void retrieveViews() { currentTimeTextView = (TextView) findViewById(R.id.exomedia_controls_current_time); endTimeTextView = (TextView) findViewById(R.id.exomedia_controls_end_time); titleTextView = (TextView) findViewById(R.id.exomedia_controls_title); subTitleTextView = (TextView) findViewById(R.id.exomedia_controls_sub_title); descriptionTextView = (TextView) findViewById(R.id.exomedia_controls_description); } ... //设置进度条 public abstract void setPosition(@IntRange(from = 0) long position); //设置总时长 public abstract void setDuration(@IntRange(from = 0) long duration); //更新进度 public abstract void updateProgress(@IntRange(from = 0) long position, @IntRange(from = 0) long duration, @IntRange(from = 0, to = 100) int bufferPercent); //反射播放控制器总体布局 @LayoutRes
Exoplayer+Exomedia打造自定义播放器(二)
最新推荐文章于 2024-08-18 10:38:15 发布
本文介绍了如何基于Exomedia库创建自定义播放器。首先,详细分析了Exomedia的VideoControls基类,然后讲解了如何通过继承和自定义布局实现VideoControlsMobile的默认播放器功能。接着,提供了自定义播放器的步骤,包括将Exomedia作为模块导入项目,修改相关类和XML以实现更灵活的控制。最后,提到了自定义布局中的注意事项和业务逻辑处理,以及相关系列文章链接。
摘要由CSDN通过智能技术生成