一、GsyVideoPlayer自定义进度条
GsyVideoPlayer作为一个全能的开源视频播放器,它有着非常突出的自定义进度条功能。默认情况下,它的进度条很简单,只有一个滑动按钮。但是,我们可以通过自定义进度条来增强用户的体验。 我们可以根据业务需求,将进度条改成自己需要的样式,并且可以添加文本提示,实时显示视频的播放时间以及总时长,让用户能够更加直观地了解视频播放的进度。
//自定义进度条
<textview android:id="@+id/video_current_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginleft="10dp" android:textcolor="#ffffff" android:textsize="14sp" />
<com.shuyu.gsyvideoplayer.video.customvideoseekbar android:id="@+id/videoplayer_seekbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:layout_torightof="@id/video_current_time" />
<textview android:id="@+id/video_total_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centervertical="true" android:layout_marginright="10dp" android:textcolor="#ffffff" android:textsize="14sp" android:layout_torightof="@id/videoplayer_seekbar" />
二、GsyVideoPlayer横竖屏切换
在使用手机观看视频时,经常会遇到需要横屏或竖屏观看的情况。GsyVideoPlayer通过自适应屏幕旋转的方式,可以让用户在不同的方向上观看视频,提高用户的观看体验。 当用户切换视频播放器的方向时,GsyVideoPlayer会自动适应屏幕的方向,并且重新布局视频的大小和位置,保证视频的画面不会被拉伸或挤压。
//处理横屏和竖屏切换
@Override
public void onResume() {
super.onResume();
if (!mIsPlay) {
mGsyVideoPlayer.startPlayLogic();
}
mGsyVideoPlayer.onResume();
}
@Override
public void onStop() {
super.onStop();
mGsyVideoPlayer.onVideoPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mGsyVideoPlayer.release();
}
@Override
public void onBackPressed() {
if (mGsyVideoPlayer.backFromFull()) {
return;
}
super.onBackPressed();
}
三、GsyVideoPlayer播放视频流选取
视频流选取功能是一个非常实用的功能,它可以让用户根据自己的网络环境选择合适的视频流,在不同的网络环境下实现更加顺畅的视频播放。 我们可以通过在GsyVideoPlayer中添加多种视频流,让用户可以在不同的网络环境下选择不同的视频流,从而实现最佳的观看效果。
//设置多种视频流
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_videoplayer);
mGsyVideoPlayer = (GSYVideoPlayer) findViewById(R.id.video_player);
mGsyVideoPlayer.setUp(mVideoUrl, true, "测试视频播放");
//设置多种视频流
ArrayList<videooptionmodel> videoOptionModels = new ArrayList<>();
mGsyVideoPlayer.setOptionModelList(videoOptionModels);
mGsyVideoPlayer.startPlayLogic();
}