//完整版引入 star 11.5k implementation 'com.shuyu:GSYVideoPlayer:7.0.2' //2.0.8
1 布局
<?xml version="1.0" encoding="utf-8"?>
<com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
android:id="@+id/detail_player"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android" />
2 代码
public class GSYVideoPlayerActivity extends GSYBaseActivityDetail {
private StandardGSYVideoPlayer detailPlayer;
private String mUrl;
private String imagePath;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gsy_videoplayer);
detailPlayer = (StandardGSYVideoPlayer) findViewById(R.id.detail_player);
//增加title
detailPlayer.getTitleTextView().setVisibility(View.GONE);
detailPlayer.getBackButton().setVisibility(View.GONE);
//全屏裁减显示,为了显示正常 CoverImageView 建议使用FrameLayout作为父布局
GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_FULL);
mUrl = getIntent().getStringExtra("videoPath");
imagePath = getIntent().getStringExtra("imagePath");
initVideoBuilderMode();
detailPlayer.startPlayLogic();
}
@Override
public StandardGSYVideoPlayer getGSYVideoPlayer() {
return detailPlayer;
}
@Override
public GSYVideoOptionBuilder getGSYVideoOptionBuilder() {
//内置封面可参考SampleCoverVideo
ImageView imageView = new ImageView(this);
loadCover(imageView, imagePath);
return new GSYVideoOptionBuilder()
.setThumbImageView(imageView)
.setUrl(mUrl)
.setCacheWithPlay(true)
.setVideoTitle(" ")
.setIsTouchWiget(true)
.setRotateViewAuto(false)
.setLockLand(false)
.setShowFullAnimation(false)
.setNeedLockFull(true)
.setSeekRatio(1);
}
private void loadCover(ImageView imageView, String url) {
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(R.mipmap.ic_launcher);
Glide.with(this.getApplicationContext())
.setDefaultRequestOptions(
new RequestOptions()
.frame(3000000)
.centerCrop()
.placeholder(R.mipmap.ic_wait))
.load(url)
.into(imageView);
}
@Override
public void clickForFullScreen() {
}
}