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); } }); } }