1.下载VitamioBundle的最新稳定,这里下载的是最新版4.2.2。

2.解压缩后,导入 Vitamio 库工程(即vitamio)和Demo工程(即vitamio--sample)到 Eclipse,详细步骤如下图。

步骤:通过File -> Import -> Android -> Existing Android Code Into Workspace来导入工程,然后修改一下相应的工程名称(也可以不修改)。

3.如果出现下面图示的错误,是因为Vitamio库项目需要使用SDK API 17(即Android 4.2.2)编译,使用Android SDK Manager下载相应版本再导入即可。

4.若要在自己的新建的工程中引入Vitamio库,可按照以下步骤执行:

1)参照上面的步骤,导入Vitamio库工程(即vitamio)到Eclipse。

2)将Vitamio库工程作为Android Library引入自己的新建使用即可,如图:

3)在需要播放视频的Activity的onCreate方法中载入解码器的lib:

   public void onCreate(Bundle icicle) {
super.onCreate(icicle);
if (!LibsChecker.checkVitamioLibs(this))
return;
//其他代码...
}

4)在 AndroidManifest.xml 中声明InitActivity:

        <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" />

5)开始使用Vitamio的API。

5.API使用

Vitamio的API与Android原生的API十分相似,主要是MediaPlayer和VideoView的使用。

1)MediaPlayer主要API,详细用法请看测试DEMO:

在布局文件中添加SurfaceView,视频显示在SurfaceView上。

  <SurfaceView
android:id="@+id/surface"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
</SurfaceView>

Java代码中的API使用:

 //获得SurfaceView
mPreview = (SurfaceView) findViewById(R.id.surface);
//获取SurfaceView的SurfaceHolder
holder = mPreview.getHolder();
holder.addCallback(this); //创建一个MediaPlayer,并设置监听器
mMediaPlayer = new MediaPlayer(this);
//设置资源路径
mMediaPlayer.setDataSource(path);
//设置SurfaceHolder
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
setVolumeControlStream(AudioManager.STREAM_MUSIC);

2)VideoView主要API使用,详细用法请看测试DEMO:

在布局文件中增加VideoView:

<io.vov.vitamio.widget.VideoView
android:id="@+id/surface_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:text="@string/openvideo1"
android:onClick="openVideo"/>

Java代码的API调用:

//载入解码库
if (!LibsChecker.checkVitamioLibs(this))
return;
mVideoView = (VideoView) findViewById(R.id.surface_view);
//为VideoView设置视频路径
mVideoView.setVideoPath(path);
//设置是否有播放控制条
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus(); mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
//设置播放速度
mediaPlayer.setPlaybackSpeed(1.0f);
}
});
} }

简要介绍如何集成Vitamio安卓版SDK的更多相关文章

  1. (转载)持续集成(第二版)[来自:Martin Fowler]

    转载自:iTech的博客 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以 ...

  2. 集成IOS 环信SDK

    集成IOS SDK 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. 下载SDK 通过Cocoapods下载地址 不包含实时语音版本SDK(EaseMobC ...

  3. 中国首个 SaaS 模式的云告警平台安卓版 APP 上线

    今年一月底,国内首个 SaaS 模式的云告警平台 OneAlert 正式发布了 iOS 版 App 客户端,今天上午,安卓版 App 客户端也正式上线了!每个安卓用户,无需电脑,都可以通过手机全程跟踪 ...

  4. Dalvik虚拟机简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8852432 我们知道,Android应用程序是 ...

  5. WCF简要介绍

    什么是WCF WCF的全称是:Windows Communication Foundation.从本质上来说,它是一套软件开发包,是微软公司推出的符合SOA思想的技术框架.WCF为程序员提供了丰富的功 ...

  6. Android应用程序的Activity启动过程简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6685853 在Android系统中,Activ ...

  7. Android资源管理框架(Asset Manager)简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分 ...

  8. Android应用程序组件Content Provider简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6946067 在Android系统中,Conte ...

  9. Android应用程序窗口(Activity)实现框架简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8170307 前面我们学习了SurfaceFli ...

随机推荐

  1. ubuntu的web开发环境搭建

    为了保持mac的干净整洁,决定用PD搭建一条web开发环境,记下整个过程. ubuntu 首先是操作系统,本着习惯就好的原则,选用了Ubuntu server 12.04.4版.系统的安装很简单,ht ...

  2. 原来你们是这种key-value存储

    上周毛老师,在内部分享为我们扫盲了一下Memcached和Redis的支持,讲了很多东西,我一般比较懒不愿意去记东西喜欢把总结成blog,当我忘记的时候可以回头看看.好的废话就说这么多.先看Memca ...

  3. 设计模式&UML学习

    1. 1.1 1.2 2. 2.1 2.2 3.参考文档 [1] 陈金荣:http://blog.csdn.net/cjr15233661143/article/details/8532997 [2] ...

  4. xml to json

    // Changes XML to JSONfunction xmlToJson(xml) {    // Create the return object    var obj = {};    i ...

  5. AvalonEdit 移除自身ScrollViewer (可配合外部自定义ScrollViewer 使用)

    http://community.sharpdevelop.net/forums/p/11977/42764.aspx#42764 1: <Style TargetType="{x:T ...

  6. Jmeter数据库连接

    1.添加配置元件:测试计划右键-->配置元件-->JDBC Connection Configuration如下图: 注意:上述的Variable Name:在后续的JDBC Reques ...

  7. Color 颜色码-英文名称-十六进制-RGB对照表

      色 英文代码 形像颜色 HEX格式 RGB格式 LightPink 浅粉红 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 猩红 # ...

  8. 【剑指Offer学习】【面试题56:链表中环的入口结点】

    题目:一个链表中包括环.怎样找出环的入口结点? 解题思路 能够用两个指针来解决问题.先定义两个指针P1和P2指向链表的头结点.假设链表中环有n个结点,指针P1在链表上向前移动n步,然后两个指针以同样的 ...

  9. 開始学习swift开发

    近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.

  10. CH BR8(小学生放假了-clock()/CLOCKS_PER_SEC-斜率优化常错集锦)

    小学生放假了 总时限 26s 内存限制 256MB 出题人 zsyzzsoft 提交情况 16/150 初始分值 1500 锁定情况 背景 我们能见到的最可怕的事情,莫过于小学生放假了! 描述 小学生 ...