天天看點

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播放網絡和本地視訊》》點選打開連結