加入依赖
//完整版引入
implementation 'com.shuyu:GSYVideoPlayer:7.1.4'
布局引入
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Main4Activity"> <com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer android:id="@+id/MyGSY" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
播放
//播放地址 ,是否开启缓存,视频标题
mMyGSY.setUp("播放地址", true, name);
播放器默认是不自动播放的,需要点击开始播放按钮,设置完URl进行代码播放
mMyGSY.getStartButton().performClick(); //获取到开始播放按钮,模拟点击
关闭页面后的资源释放
@Override
protected void onPause() {
super.onPause();
mMyGSY.onVideoPause();
}
@Override
protected void onResume() {
super.onResume();
mMyGSY.onVideoResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
GSYVideoManager.releaseAllVideos();
if (orientationUtils != null)
orientationUtils.releaseListener();
}
@Override
public void onBackPressed() {
//先返回正常状态
if (orientationUtils.getScreenType() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
mMyGSY.getFullscreenButton().performClick();
return;
}
//释放所有
mMyGSY.setVideoAllCallBack(null);
super.onBackPressed();
}
设置旋转,和全屏按钮功能
//设置旋转
orientationUtils = new OrientationUtils(this, mMyGSY);
//设置全屏按键功能
mMyGSY.getFullscreenButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
orientationUtils.resolveByClick(); //此方法是切换屏幕旋转,例如现在是竖屏,调用后变横屏,反正一样,设置这个之前,先把Activity禁止横竖屏切换,并且竖屏模式,不然此方法无效
}
});
切换播放器内核,缓存模式
//EXOPlayer内核
PlayerFactory.setPlayManager(Exo2PlayerManager.class);
//exo缓存模式,支持m3u8,只支持exo
CacheFactory.setCacheManager(ExoPlayerCacheManager.class);
网友评论