Demo位址:https://github.com/CarGuo/GSYVideoPlayer,讀者可以下載下傳該demo後,感受它的效果,再來讀這篇文章:
demo使用的是别人的demo,主要是進行一些原理分析,主要分析一下幾點:
1.GSYVideoPlayer的初始化
2.視訊播放實作
3.全屏實作
4.滑動時,小視窗出現和消失實作邏輯
5.小視窗視訊建立
6.小視窗視訊恢複為清單視訊
7.邊緩存邊播放實作
8.彈幕效果實作
一.初始化分析
1.初始化主要是構造了一個StandardGSYVideoPlayer
2.設定全屏布局的容器
代碼如下:
listVideoUtil = new ListVideoUtil(this);
listVideoUtil.setFullViewContainer(videoFullContainer);
public ListVideoUtil(Context context) {
gsyVideoPlayer = new StandardGSYVideoPlayer(context);
this.context = context;
}
StandardGSYVideoPlayer的初始化化主要是加載R.layout.video_layout_standard這個布局,并且執行個體化一些元件,為元件設定監聽事件;
初始化元件包括:播放/暫停按鈕,播放時長,總時長,播放進度條,傳回按鈕,全屏按鈕和視訊标題,
初始化元件不包括:用于顯示視訊的TextureView,這個TextureView是動态添加的,放在下片文章中講述;
初始化内容比較簡單;