今天主要是講如何簡單的播放視頻,我們要用到的一個框架——vitamio,這個框架及其強大,播放視頻,直播神馬都可以。話不多說,我們來看看今天的任務,今天要教大家的是,vitamio的基礎用法。先上效果圖:
效果解析
1. 播放視頻
2. 點擊視頻視圖,下面出現系統自帶的進度條
3. 視頻加載的過程中,界面下面顯示加載圈,網速,和緩衝率
好了,至於我爲什麼不把加載圈這些東西放到視頻視圖上,我怕你們看不見嘛。
要完成這種效果,我們需要2個東西
- vitamio
- 視頻真實地址
vitamio大家可以很方便的在官網上下載—-傳送門 —-vitamio
那麼。。。什麼是視頻真實地址,視頻真實地址就是,純粹的視頻地址,而不是我們隨便點開的一個視頻網站中的一個視頻,像優酷什麼的,點開後雖然在播放視頻,但是周圍有廣告啊,評論什麼的,這怎麼能是真實的視頻地址呢,我們怎麼拿到真實的視頻地址?
解:點量軟件
官方給我們提供了一個的網站http://www.flvurl.cn/
看到這個網站後,我相信聰明的你馬上就能學會怎麼使用它。
導入vitamio
將下載好的vitamio作爲module導入到android studio中,期間可能會出現一個小問題,android studio可能會報個文件錯誤,如圖:
將紅框中對應的值修改爲你當前版本的值就行了,比如我就改成了這樣:
你們的不一定是這樣,總之要按照自己的設定修改
播放視頻
將vitamio提供的視頻控件放置到我們的佈局文件中
activity_main.xml
<io.vov.vitamio.widget.VideoView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/videoview"/>
使用vitamio之前一定要初始化vitamio
// 初始化vitamio 初始化後,vitamio才能使用
Vitamio.isInitialized(this);
videoview的基礎設置
//設置視頻真實地址
videoview.setVideoPath(videoUrl);
//屏幕長亮
videoview.setKeepScreenOn(true);
//獲取焦點
videoview.requestFocus();
//設置控制視圖
videoview.setMediaController(new MediaController(this));
播放視頻:
videoview.start();
設置監聽:
//緩存監聽,當前緩存了多少,百分比
videoview.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
// percent代表緩衝率
}
});
//video狀態監聽
videoview.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
// what代表視頻狀態
// extra代表網速
switch (what) {
//開始緩存 這裏面可以寫播放前要做的事,比如顯示緩衝視圖什麼的
case MediaPlayer.MEDIA_INFO_BUFFERING_START:
break;
//結束緩存 這裏面可以寫緩衝後要做的事,比如隱藏緩衝視圖什麼的
case MediaPlayer.MEDIA_INFO_BUFFERING_END:
videoview.start();//結束緩存,開始播放視頻
break;
//緩存時,這裏表示視頻正在緩衝中,可以利用下extra這個參數,顯示緩衝時的網速
case MediaPlayer.MEDIA_INFO_DOWNLOAD_RATE_CHANGED:
break;
}
return true;
}
});
基本的視頻使用已經講完了,簡單播放個視頻,我想你們應該學會了,
這裏我提供個直播的真實地址,你們試試看。
rtmp://live.hkstv.hk.lxdns.com/live/hks