android视频播放 vitamio的简单运用

今天主要是讲如何简单的播放视频,我们要用到的一个框架——vitamio,这个框架及其强大,播放视频,直播神马都可以。话不多说,我们来看看今天的任务,今天要教大家的是,vitamio的基础用法。先上效果图:
这里写图片描述

效果解析

 1. 播放视频
 2. 点击视频视图,下面出现系统自带的进度条
 3. 视频加载的过程中,界面下面显示加载圈,网速,和缓冲率

好了,至于我为什么不把加载圈这些东西放到视频视图上,我怕你们看不见嘛。

要完成这种效果,我们需要2个东西

  1. vitamio
  2. 视频真实地址

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

源码:http://download.csdn.net/detail/it_xf/9655517

猜你喜欢

转载自blog.csdn.net/it_xf/article/details/52834575