导
(Vitamioplayer)
的类库
/* * * * 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工程添加依赖 * * * */
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(); } } }还需要 添加访问网络的权限!!!!!!!!!!!!!
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();方法中
该方法代码如下: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播放网络和本地视频》》点击打开链接