今天主要是讲如何简单的播放视频,我们要用到的一个框架——vitamio,这个框架及其强大,播放视频,直播神马都可以。话不多说,我们来看看今天的任务,今天要教大家的是,vitamio的基础用法。先上效果图:
效果解析
1. 播放视频
2. 点击视频视图,下面出现系统自带的进度条
3. 视频加载的过程中,界面下面显示加载圈,网速,和缓冲率
好了,至于我为什么不把加载圈这些东西放到视频视图上,我怕你们看不见嘛。
要完成这种效果,我们需要2个东西
- vitamio
- 视频真实地址
vitamio大家可以很方便的在官网上下载—-传送门 —-vitamio
那么。。。什么是视频真实地址,视频真实地址就是,纯粹的视频地址,而不是我们随便点开的一个视频网站中的一个视频,像优酷什么的,点开后虽然在播放视频,但是周围有广告啊,评论什么的,这怎么能是真实的视频地址呢,我们怎么拿到真实的视频地址?
解:点量软件
官方给我们提供了一个的网站http://www.flvurl.cn/
看到这个网站后,我相信聪明的你马上就能学会怎么使用它。
导入vitamio
将下载好的vitamio作为module导入到android studio中,期间可能会出现一个小问题,android studio可能会报个文件错误,如图:
将红框中对应的值修改为你当前版本的值就行了,比如我就改成了这样:
你们的不一定是这样,总之要按照自己的设定修改
播放视频
将vitamio提供的视频控件放置到我们的布局文件中
activity_main.xml
<io.vov.vitamio.widget.VideoView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/videoview"/>
使用vitamio之前一定要初始化vitamio
// 初始化vitamio 初始化后,vitamio才能使用
Vitamio.isInitialized(this);
videoview的基础设置
//设置视频真实地址
videoview.setVideoPath(videoUrl);
//屏幕长亮
videoview.setKeepScreenOn(true);
//获取焦点
videoview.requestFocus();
//设置控制视图
videoview.setMediaController(new MediaController(this));
播放视频:
videoview.start();
设置监听:
//缓存监听,当前缓存了多少,百分比
videoview.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
// percent代表缓冲率
}
});
//video状态监听
videoview.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
// what代表视频状态
// extra代表网速
switch (what) {
//开始缓存 这里面可以写播放前要做的事,比如显示缓冲视图什么的
case MediaPlayer.MEDIA_INFO_BUFFERING_START:
break;
//结束缓存 这里面可以写缓冲后要做的事,比如隐藏缓冲视图什么的
case MediaPlayer.MEDIA_INFO_BUFFERING_END:
videoview.start();//结束缓存,开始播放视频
break;
//缓存时,这里表示视频正在缓冲中,可以利用下extra这个参数,显示缓冲时的网速
case MediaPlayer.MEDIA_INFO_DOWNLOAD_RATE_CHANGED:
break;
}
return true;
}
});
基本的视频使用已经讲完了,简单播放个视频,我想你们应该学会了,
这里我提供个直播的真实地址,你们试试看。
rtmp://live.hkstv.hk.lxdns.com/live/hks