视频播放框架

来源:互联网 发布:民国时期期刊数据库 编辑:程序博客网 时间:2024/06/06 00:25

前言: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,都导入进去如图所示:

Paste_Image.png
然后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是否解压解码包,一定要加

效果如图
Paste_Image.png

原创粉丝点击