前言:Vitamio的中文名称为维他蜜,是一款Android 平台上的全能多媒体开发框架。能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播
使用步骤:
1.导包
去上面的新手入门网址中下载官方的Demo包,约60M,毕竟是支持视频播放的框架,所以体积有些大
下载后解压,然后先在你的AS中新建一个Project,点击File→New→Import Modules…→选择你解压后的文件夹
一共有两个Module,分别是vitamio和vitamio-sample两个Module,都导入进去如图所示:
然后AS可能会报错,这是因为你的gradle与SDK与官方Demo不同导致的,解决方法,把vitamio和vitamio-sample下面的build.gradle里面的
compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion
这些后面的版本号全部改为默认的Module中的版本号一致,点击同步即可
然后点击File→Project Structure…→选择你要写的Module→Dependencies→右侧加号→Module Dependency→记住要选择vitamio而不是vitamio-sample
不然会报错
等待gradle完成
2.配置AndroidManifest.xml清单文件
在清单文件中加入权限代码
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
主要是联网与读写存储的一些权限必写
然后添加以下内容【必添,直接复制粘贴到你的清单文件中即可】
<activity 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" />
3.使用Vitamio
在布局文件中添加VideoView【Vitamio包下的】
<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.usher.vitamio.MainActivity">
<io.vov.vitamio.widget.VideoView
android:layout_centerInParent="true"
android:id="@+id/vitamio_videoview"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</RelativeLayout>
MainActivity.class文件
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private VideoView vitamio_videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//检测Vitamio是否解压解码包,一定要加
if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))
return;
//初始化Vitamio包下的VideoView
vitamio_videoview = (VideoView) findViewById(R.id.vitamio_videoview);
//放入网址
vitamio_videoview.setVideoURI(Uri.parse("http://www.modrails.com/videos/passenger_nginx.mov"));
//设置控制栏
vitamio_videoview.setMediaController(new MediaController(this));
//获取焦点
vitamio_videoview.requestFocus();
//准备播放监听
vitamio_videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setPlaybackSpeed(1.0f);//设置播放速度
}
});
}
}
if (!io.vov.vitamio.LibsChecker.checkVitamioLibs(this))
return;
这句话是用来检测Vitamio是否解压解码包,一定要加
效果如图