public class SampleGSYVideo extends StandardGSYVideoPlayer implements GSYVideoProgressListener {
public SelectableRoundedImageView mCoverImage;
private TextView mTvHint;
private LottieAnimationView mLoadingView;
public ImageView mIvStartButton;
private SoybeanContentInfoPlus mData;
private boolean isUploadValidPlay;//视频是否上传过
private String mDomain;
public String getDomain() {
return mDomain;
}
public void setDomain(String domain) {
this.mDomain = domain;
}
//亮度文本
protected ProgressBar mBrightnessDialogProgressBar;
public SampleGSYVideo(Context context, Boolean fullFlag) {
super(context, fullFlag);
}
public SampleGSYVideo(Context context) {
super(context);
}
public SampleGSYVideo(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void init(Context context) {
super.init(context);
mCoverImage = findViewById(R.id.thumbImage);
mTvHint = findViewById(R.id.tv_flow_hint);
mLoadingView = findViewById(R.id.lottie_loading);
mIvStartButton = findViewById(R.id.iv_start);
mLoadingView.setAnimation("anim/soybean_anim_video_loading.json");
if (mThumbImageViewLayout != null &&
(mCurrentState == -1 || mCurrentState == CURRENT_STATE_NORMAL || mCurrentState == CURRENT_STATE_ERROR)) {
mThumbImageViewLayout.setVisibility(VISIBLE);
}
setGSYVideoProgressListener(this);
}
@Override
public void onInfo(int what, int extra) {
if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
mBackUpPlayingBufferState = mCurrentState;
//避免在onPrepared之前就进入了buffering,导致一只loading
if (mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
setStateAndUi(CURRENT_STATE_PLAYING_BUFFERING_START);
} else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
if (mBackUpPlayingBufferState != -1) {
if (mBackUpPlayingBufferState == CURRENT_STATE_PLAYING_BUFFERING_START) {
mBackUpPlayingBufferState = CURRENT_STATE_PLAYING;
}
if (mHadPlay && mCurrentState != CURRENT_STATE_PREPAREING && mCurrentState > 0)
setStateAndUi(mBackUpPlayingBufferState);
mBackUpPlayingBufferState = -1;
}
} else if (what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED) {
mRotate = extra;
Debuger.printfLog("Video Rotate Info " + extra);
if (mTextureView != null)
mTextureView.setRotation(mRotate);
}
}
public void loadCoverImage() {
RequestOptions options = new RequestOptions().placeholder(R.drawable.qy_drawable_radius_cover_default)
.error(R.drawable.qy_drawable_radius_cover_default);
if (null != mData) {
String cover = mData.getCover();
cover = String.format("%s%s", getDomain(), cover);
Glide.with(mContext).load(cover).apply(options).into(mCoverImage);
} else {
Glide.with(mContext)
.load(R.drawable.qy_drawable_radius_cover_default)
.into(mCoverImage);
}
}
public SoybeanContentInfoPlus getData() {
return mData;
}
public SampleGSYVideo setData(SoybeanContentInfoPlus mData) {
this.mData = mData;
return this;
}
public void setUploadValidPlay(boo