vitamio 简单的视频播放

2018-07-27  本文已影响0人  duwensheng

1.下载最新的VitamioBundle 官网 or github

下载下来的目录结构应该是这样的

2.  studio 中操作File -> New -> Import Moudle 选中vitamio文件夹或者复制vitamio的绝对路径

3. 修改vitamio 包下的gradle 文件中的和你的app包下的gradle 一致。

(我的是27    buildToolsVersin  '27.0.3')如图:

4.在setting.gradel中 添加':vitamio' 如图:

5.添加依赖:implementation project(':vitamio')

6.在自己的AndroidManifest.xm 中添加

  android:name="io.vov.vitamio.activity.InitActivity"

        android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"

        android:launchMode="singleTop"

        android:theme="@android:style/Theme.NoTitleBar"

        android:windowSoftInputMode="stateAlwaysHidden" />

7.可以使用了,.首先在xml中添加布局

    android:id="@+id/vitamio"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_marginTop="24dp"/>

8.然后就跟TextView一样用就好了 不过要先判断是否支持当前cpu架构

if (Vitamio.isInitialized(this)) {

        VideoView vitamio = (VideoView) findViewById(R.id.vitamio);

        vitamio.setVideoURI(Uri.parse(

        your vedio url here));

        //默认的controller

        MediaController controller = new MediaController(this);

        vitamio.setMediaController(controller);

        vitamio.start();

        //缓冲监听

        vitamio.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {

            @Override

            public void onBufferingUpdate(MediaPlayer mp, int percent) {

//percent 当前缓冲百分比

            }

        });

        vitamio.setOnInfoListener(new MediaPlayer.OnInfoListener() {

            @Override

            public boolean onInfo(MediaPlayer mp, int what, int extra) {

                switch (what) {

                    //开始缓冲

                        case MediaPlayer.MEDIA_INFO_BUFFERING_START:

//                            percentTv.setVisibility(View.VISIBLE);

//                            netSpeedTv.setVisibility(View.VISIBLE);

                        mp.pause();

                        return true;

                    //缓冲结束

                    case MediaPlayer.MEDIA_INFO_BUFFERING_END:

//                            percentTv.setVisibility(View.GONE);

//                            netSpeedTv.setVisibility(View.GONE);

                        mp.start();

                        return true;

                }

                return false;

            }

        });

上一篇 下一篇

猜你喜欢

热点阅读