昨天修改公司的项目时,用到vitamio,遇到几个小问题.特此记录下来帮助需要帮助的小伙伴,
集成
这里直接按照最简单的方式进行集成
-
下载项目
-
集成项目
- 将VitamioBundle集成到自己的项目中,集成方法很简单,该项目本身就是通过Gradle构建的,因此使用AS直接将
vitamio
作为Module导入项目中,并且添加项目的依赖即可。
- 将VitamioBundle集成到自己的项目中,集成方法很简单,该项目本身就是通过Gradle构建的,因此使用AS直接将
-
配置参数
- 上面介绍到了,Vitamio最高只支持到SDK22,因此需要将项目的
targetSDK
设置到23以下即可,其余的权限以及用到的Activity清单都已经在官方Module中设置好了,因此导入后并不需要自己手动添加。
- 上面介绍到了,Vitamio最高只支持到SDK22,因此需要将项目的
-
简单使用
- 可以说Vitamio这个库应经封装的很好了,而且设计架构也是按照原生的VideoView为参考设计的,因此学习成本非常的低。
- 首先在布局文件中添加对应控件
<io.vov.vitamio.widget.VideoView android:id="@+id/vv" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
- 接下来初始化,设置播放地址就可以了,地址会自动识别是网络还是本地的。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!LibsChecker.checkVitamioLibs(this))
return;
setContentView(R.layout.activity_main);
btn_c= ((Button) findViewById(R.id.btn_c));
mVideoView= ((VideoView) findViewById(R.id.vv));
btn_c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String path = "http://edge.ivideo.sina.com.cn/164894273.mp4?
KID=sina,viask&Expires=1537286400&ssig=vI7yei%2BR5f";
mVideoView.setVideoPath(path);
MediaController mMediaController = new
MediaController(MainActivity.this);//实例化控制器
mMediaController.show(5000);
mVideoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);//设置播放画质 高画质
mVideoView.setMediaController(mMediaController);
mVideoView.requestFocus();
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// optional need Vitamio 4.0
mediaPlayer.setPlaybackSpeed(1.0f);
}
});
}
});
}
简单集成就完了.但是问题来了.代码没有任何问题,模拟器没有任何反应..
查看log日志我们会发现
其实是少了.os文件 观察官方的demo发现
把这个libarm.os文件复制到自己的项目中就可以完美解决问题