1.在布局文件中添加Vitamio的布局显示代码:
<io.vov.vitamio.widget.CenterLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<SurfaceView
android:id="@+id/surface"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" >
</SurfaceView>
</io.vov.vitamio.widget.CenterLayout>
2.初始化组件同时给SurfaceView添加Callback监听器:
mPreview = (SurfaceView) findViewById(R.id.surface);
holder = mPreview.getHolder();
holder.addCallback(this);
holder.setFormat(PixelFormat.RGBA_8888);
path=Environment.getExternalStorageDirectory()+"/1.mkv";
3.添加判断Vitamio是否支持的代码:
if (!LibsChecker.checkVitamioLibs(this))
return;
不要忘记该语句需要使用使用一个初始的Activity来显示:
<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" />
4.调用缓冲准备的方法开始播放:
如果是流的话需要调用prepareAsyn()来进行异步的准备,其他的就是MediaPlayer的监听器的设置。
<span style="white-space:pre"> </span>mMediaPlayer = new MediaPlayer(this);
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
mMediaPlayer.setOnBufferingUpdateListener(this); //缓冲监听器
mMediaPlayer.setOnCompletionListener(this); //播放完成监听
mMediaPlayer.setOnPreparedListener(this); // 预处理完成的监听
mMediaPlayer.setOnVideoSizeChangedListener(this);//大小变换
setVolumeControlStream(AudioManager.STREAM_MUSIC);
mMediaPlayer.setScreenOnWhilePlaying(true);
mMediaPlayer.start();
这样基本就能够播放了