学习了VideoView和SurfaceView之后感觉虽然videoView使用挺方便的但是它毕竟只能播放mp4和3gp格式的视频,不够适用,就想再多了解一下其他的可以播放视频的控件,从而了解到了一个第三方播放视频的类库就是Vitamio。
一Vitamio介绍
这里对Vitamio做一个简短的介绍,相信大家应该听说过FFMPEG,FFMPEG也是一个第三方的库,它的底层是用C语言进行编写的,是免费的开源的音视频编解码器,而Vitamio对FFMPEG的视频播放框架进行了封装,而且对外提供的API全部是javaAPI,感觉以后有时间也可以了解一下FFMPEG,感觉它的前景也不错。
Vitamio 是一款 Android 平台上的全能多媒体开发框架。Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐。到目前,全球已经有超过 1000 种应用在使用 Vitamio,覆盖用户超过 5000 万。
Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频,还可以在 Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。
支持 ARMv6 和 ARMv7 两种 ARM CPU,同时对 VFP, VFPv3, NEON 等指令集都做相应优化。
支持 Android 2.1+ 系统,支持超过 95% 的 Android 市场。同时 Android 2.1 之前的系统也基本支持,不过没做详细测试
二、Vitamio使用
首先我们需要导入库文件,因为Vitamio是一个第三方的库,所以需要我们导入类库,官方给出的并不是一个jar包而是一个project,下面是下载网址:
https://github.com/yixia/VitamioDemo
2、我们需要将我们的project与类库进行关联,点击project—properties—android—勾选islibrary选中vitamio_lib就可以了。
3、布局文件中使用vitamio
<io.vov.vitamio.widget.VideoView
android:id="@+id/vv"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
4、MainActivity调用
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实现vitamio需要硬件支持,大部分都支持的。检测是否支持vitamio
if (!LibsChecker.checkVitamioLibs(this)) {return;}
VideoView vv = (VideoView) findViewById(R.id.vv);
//其他格式的视频文件
vv.setVideoPath(Environment.getExternalStorageDirectory()+"/aa.rmvb");
vv.start();
vv.setMediaController(new MediaController(this));
}