安卓系统播放视频控件,从VideoView到JiaoZiVideoPlayer

小编

亲爱的安卓迷们,今天我要和你聊聊一个超级实用的话题——安卓系统播放视频控件!是不是觉得视频播放控件平平无奇,其实不然,它可是我们观看视频的好帮手哦!接下来,就让我带你全方位了解安卓系统中的这些小家伙吧!

一、安卓系统自带VideoView控件

说起视频播放控件,不得不提的就是安卓系统自带的VideoView控件。这个控件简单易用,功能强大,简直就是小白玩家的福音!

1. 创建步骤

(1)首先,你需要将视频文件放入res/raw文件夹下。这样,系统就能轻松找到它啦!

(2)接下来,声明并初始化VideoView控件。在布局文件中,你可以这样写:

```xml

android:id=\@+id/videoView\

android:layout_width=\match_parent\

android:layout_height=\match_parent\ />

(3)创建视频文件Uri路径。使用Uri调用parse()方法,传入以下字符串获取资源路径:

android.resource://你的包名/R.raw.video

(4)为视频控件设置播放路径。调用VideoView对象的setVideoURI()方法,传入Uri对象。

(5)开始播放!调用VideoView对象的start()方法,视频就会自动播放啦!

2. 自定义宽高

如果你想让VideoView控件拥有个性化的宽高,可以重写控件onMeasure()方法。通过MeasureSpec对象调用getSize()方法,传入widthMeasureSpec和heighMeasureSpec常量,获取屏幕宽度和高度。调用setMeasuredDimension()方法,传入宽度和高度设置控件的宽度和高度。

3. 控制方法

- start():从当前位置启动视频;

- pause():暂停视频;

- isPlay():判断当前视频是否在播放;

- getDuration():获得当前播放视频的总时长(单位:毫秒);

- getCurrentPosition():获得当前视频播放时长(单位:毫秒)。

4. 监听事件

- setOnPreparedListener:当视频准备就绪时,会触发此监听事件。

二、dkplayer——安卓视频播放器

除了系统自带的VideoView控件,还有许多第三方视频播放器可供选择。其中,dkplayer是一款非常受欢迎的安卓视频播放器。

1. 依赖

在项目中添加RecyclerView、异步加载图片、上拉刷新、下来加载等依赖包后,再添加dkplayer依赖。

```xml

dependencies {

implementation 'com.github.Doikki:DKVideoPlayer:最新版本'

2. 工具类

- 播放器列表播放、无缝播放、画中画;

- 获取当前的播放核心;

- 将View从父控件中移除。

三、MediaPlayer——安卓播放视频的利器

MediaPlayer是安卓系统中用于播放视频和音频的类。它功能强大,支持多种格式,是安卓视频播放的基石。

1. 调用start播放前,要异步线程调用prepare方法准备。系统封装了prepareAsync方法,本身就是异步的,但需要增加监听器setOnPreparedListener,在监听器中的onPrepared方法中调用start开始播放。

2. 调用start播放后,只有声音,并没有画面。官方文档中也没有提到怎么显示画面,需要给MediaPlayer设置显示画面的控件,即setSurface。布局文件xml控件是TextureView,另外,TextureView未初始化完成或者未attached到window就设置到MediaPlayer中是会报错的,所以也是设置一个监听器,监听控件可用后再操作。

四、JieCaoVideoPlayer——安卓视频播放的终极状态

JieCaoVideoPlayer是一款功能强大的安卓视频播放控件,被誉为安卓视频播放的终极状态。

1. 主要特点

- 视频全屏播放和浮层小窗播放;

- 可以完全自定义UI;

- 能在WebView嵌套本地视频控件;

- 支持https和rtsp;

- 小于110KB;

- Home键暂停,返回继续播放。

2. 使用方法

(1)添加类库:在项目中添加JieCaoVideoPlayer依赖。

(2)添加布局:在布局文件中添加JieCaoVideoPlayer控件。

(3)设置视频地址、缩略图地址、标题。

(4)在Activity中设置播放器。

(5)在Fragment中设置播放器。

3. 常规使用

- 列表播放;

- 小窗播放;

- 直接全屏播放;

- 自定义。

五、

通过本文的介绍,相信你对安卓系统播放视频控件有了更深入的了解。无论是系统自带的VideoView控件,还是第三方播放器dkplayer、MediaPlayer、JieCaoVideoPlayer,它们都能满足你的视频播放需求。希望这篇文章能帮助你更好地选择和使用这些控件,让你的安卓