天天看点

VideoView (Vitamioplayer使用)播放网络视频VideoView 网络视频播放

VideoView 网络视频播放

/*
    * 
    *
    * 1.创建一个空的Library
    * 
    * 2.将Vitamio库文件中的res,src,AndroidManifest.xml文件拷贝到新创建的Library的src\main目录下
    * 
    * 3.将Vitamio库文件中的libs文件夹下的四个文件夹拷贝到新创建的库文件的Libs文件夹下
    * 
    * 4.在新创建的文件下创建一个jniLibs文件夹(new-->Folder-->JNI Folder),在创建的过程中,选择change folder location,然后将
    * 
    * 文件名修改为jniLibs
    * 
    * 5.修改库文件的gradle,将sourceSets { main { jni.srcDirs = ['src/main/jni', 'src/main/jniLibs'] } }改为
    * 
    * sourceSets { main { jniLibs.srcDirs = ['libs'] } }
    * 
    * 6.给App工程添加依赖
    *
    *
    * */

      

详细导类库》》》》点击打开链接:Studio详细导类库做法

MainActivity代码如下:      
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import io.vov.vitamio.Vitamio;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;

public class MainActivity extends AppCompatActivity {
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化 Vitamio.initialize();
        if ( Vitamio.initialize(this)){
            //之后的设置 和google 官方提供的VideoView的配置差不多
            VideoView videoView = (VideoView) findViewById(R.id.videoView);
            videoView.setVideoURI(Uri.parse("http://112.253.22.157/17/z/z/y/u/zzyuasjwufnqerzvyxgkuigrkcatxr/hc.yinyuetai.com/D046015255134077DDB3ACA0D7E68D45.flv"));
            //使用类库提供的MediaController (注意是Vitamio包下的)
            MediaController controller = new MediaController(this);
            //双重绑定
            videoView.setMediaController(controller);
            controller.setMediaPlayer(videoView);
            //播放视频
            videoView.start();
        }
    }
}
           
还需要 添加访问网络的权限!!!!!!!!!!!!!

也可以自定义控制栏》》点击转跳到:VideoView自定义控制栏

activity_main xml文件代码:
       
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.yaoan.vitamioplayer.MainActivity">

   <io.vov.vitamio.widget.VideoView
       android:id="@+id/videoView"
       android:layout_width="match_parent"
       android:layout_height="250dp" />
</RelativeLayout>
           
版主福利: demo下载(不包含Vitaminoplayer)点击打开链接
最新Vitaminoplayer下载(百度云)
点击打开链接
提取码:zj5a
      
如需添加一些播放信息请看一下内容: 在onCreate();方法中

videoView.start();方法之前设置监听事件:

VideoView (Vitamioplayer使用)播放网络视频VideoView 网络视频播放
该方法代码如下:
private void initDownDataListener() {
        //显示当前缓冲的百分比
        final TextView tv_percent = (TextView) findViewById(R.id.tv_percent);
        //显示缓冲速率
        final TextView tv_speed = (TextView) findViewById(R.id.tv_bfb);
        //VideoView的缓冲监听
        videoView.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
            // percent缓冲的百分比
            @Override
            public void onBufferingUpdate(MediaPlayer mp, int percent) {

                tv_percent.setText(percent+"%");
            }
        });
        //缓冲状态
        videoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
            @Override
            public boolean onInfo(MediaPlayer mp, int what, int extra) {
                switch (what) {
                    //开始缓冲
                    case MediaPlayer.MEDIA_INFO_BUFFERING_START:
                        tv_percent.setVisibility(View.VISIBLE);
                        tv_speed.setVisibility(View.VISIBLE);
                        videoView.pause();
                        break;
                    //结束缓冲
                    case MediaPlayer.MEDIA_INFO_BUFFERING_END:
                        tv_speed.setVisibility(View.GONE);
                        tv_percent.setVisibility(View.GONE);
                        videoView.start();
                        break;
                    //正在缓冲   缓冲发生改变
                    case MediaPlayer.MEDIA_INFO_DOWNLOAD_RATE_CHANGED:
                        tv_speed.setText(extra+"kb/s");
                        break;
                }
                return false;
            }
        });

    }
           
上述的2个Textview 自行添加到activity_main xml中 使用SurfaceView 和Mediaplayer播放网络和本地视频》》点击打开链接