1.下載最新的VitamioBundle?官網(wǎng)?or?github
下載下來的目錄結(jié)構(gòu)應(yīng)該是這樣的
2.? studio 中操作File -> New -> Import Moudle 選中vitamio文件夾或者復(fù)制vitamio的絕對(duì)路徑
3. 修改vitamio 包下的gradle 文件中的和你的app包下的gradle 一致洒敏。
(我的是27? ? buildToolsVersin? '27.0.3')如圖:
4.在setting.gradel中 添加':vitamio' 如圖:
5.添加依賴:implementation project(':vitamio')
6.在自己的AndroidManifest.xm 中添加
? 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" />
7.可以使用了,.首先在xml中添加布局
? ? android:id="@+id/vitamio"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content"
? ? android:layout_marginTop="24dp"/>
8.然后就跟TextView一樣用就好了 不過要先判斷是否支持當(dāng)前cpu架構(gòu)
if (Vitamio.isInitialized(this)) {
? ? ? ? VideoView vitamio = (VideoView) findViewById(R.id.vitamio);
? ? ? ? vitamio.setVideoURI(Uri.parse(
? ? ? ? your vedio url here));
? ? ? ? //默認(rèn)的controller
? ? ? ? MediaController controller = new MediaController(this);
? ? ? ? vitamio.setMediaController(controller);
? ? ? ? vitamio.start();
? ? ? ? //緩沖監(jiān)聽
? ? ? ? vitamio.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onBufferingUpdate(MediaPlayer mp, int percent) {
//percent 當(dāng)前緩沖百分比
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? vitamio.setOnInfoListener(new MediaPlayer.OnInfoListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public boolean onInfo(MediaPlayer mp, int what, int extra) {
? ? ? ? ? ? ? ? switch (what) {
? ? ? ? ? ? ? ? ? ? //開始緩沖
? ? ? ? ? ? ? ? ? ? ? ? case MediaPlayer.MEDIA_INFO_BUFFERING_START:
//? ? ? ? ? ? ? ? ? ? ? ? ? ? percentTv.setVisibility(View.VISIBLE);
//? ? ? ? ? ? ? ? ? ? ? ? ? ? netSpeedTv.setVisibility(View.VISIBLE);
? ? ? ? ? ? ? ? ? ? ? ? mp.pause();
? ? ? ? ? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? ? ? ? ? //緩沖結(jié)束
? ? ? ? ? ? ? ? ? ? case MediaPlayer.MEDIA_INFO_BUFFERING_END:
//? ? ? ? ? ? ? ? ? ? ? ? ? ? percentTv.setVisibility(View.GONE);
//? ? ? ? ? ? ? ? ? ? ? ? ? ? netSpeedTv.setVisibility(View.GONE);
? ? ? ? ? ? ? ? ? ? ? ? mp.start();
? ? ? ? ? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return false;
? ? ? ? ? ? }
? ? ? ? });