package com.zwh.mvparms.eyepetizer.mvp.ui.activity; import android.os.Bundle; import android.view.View; import com.jess.arms.di.component.AppComponent; import com.shuyu.gsyvideoplayer.listener.LockClickListener; import com.shuyu.gsyvideoplayer.utils.OrientationUtils; import com.shuyu.gsyvideoplayer.video.base.GSYVideoPlayer; import com.zwh.annotation.apt.Extra; import com.zwh.annotation.apt.Router; import com.zwh.mvparms.eyepetizer.R; import com.zwh.mvparms.eyepetizer.app.constants.Constants; import com.zwh.mvparms.eyepetizer.mvp.ui.widget.video.SampleVideo; import com.zwh.mvparms.eyepetizer.mvp.ui.widget.video.listener.SampleListener; import butterknife.BindView; @Router(Constants.FULL_VIDEO) public class VideoFullCreenActivity extends BaseActivity { @BindView(R.id.video_player) public SampleVideo detailPlayer; @Extra(Constants.VIDEO_URL) public String url; OrientationUtils orientationUtils; @Override public void setupActivityComponent(AppComponent appComponent) { } @Override public int initView(Bundle savedInstanceState) { return R.layout.activity_video_fullscreen; } @Override public void initData(Bundle savedInstanceState) { initMedia(); } private void initMedia() { detailPlayer.setBottomProgressBarDrawable(getResources().getDrawable(R.drawable.progress_video)); detailPlayer.setBottomShowProgressBarDrawable(getResources().getDrawable(R.drawable.progress_video), getResources().getDrawable(R.drawable.video_seek_thumb)); detailPlayer.setUp(url, true,""); detailPlayer.getBackButton().setVisibility(View.VISIBLE); detailPlayer.setIsTouchWiget(true); orientationUtils = new OrientationUtils(this, detailPlayer); detailPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { orientationUtils.resolveByClick(); } }); detailPlayer.getBackButton().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); //关闭自动旋转 detailPlayer.setRotateViewAuto(false); detailPlayer.setLockLand(false); detailPlayer.setShowFullAnimation(false); detailPlayer.setNeedLockFull(true); detailPlayer.setSeekRatio(1); //detailPlayer.setOpenPreView(false); detailPlayer.getFullscreenButton().setVisibility(View.GONE); detailPlayer.setStandardVideoAllCallBack(new SampleListener() { @Override public void onPrepared(String url, Object... objects) { super.onPrepared(url, objects); //开始播放了才能旋转和全屏 orientationUtils.setEnable(true); } @Override public void onAutoComplete(String url, Object... objects) { super.onAutoComplete(url, objects); } @Override public void onClickStartError(String url, Object... objects) { super.onClickStartError(url, objects); } @Override public void onQuitFullscreen(String url, Object... objects) { super.onQuitFullscreen(url, objects); if (orientationUtils != null) { orientationUtils.backToProtVideo(); } } }); detailPlayer.setLockClickListener(new LockClickListener() { @Override public void onClick(View view, boolean lock) { if (orientationUtils != null) { //配合下方的onConfigurationChanged orientationUtils.setEnable(!lock); } } }); detailPlayer.startPlayLogic(); } @Override protected void onPause() { super.onPause(); detailPlayer.onVideoPause(); } @Override protected boolean isDisplayHomeAsUpEnabled() { return false; } @Override protected void onResume() { super.onResume(); detailPlayer.onVideoResume(); } @Override protected void onDestroy() { GSYVideoPlayer.releaseAllVideos(); //GSYPreViewManager.instance().releaseMediaPlayer(); if (orientationUtils != null) orientationUtils.releaseListener(); super.onDestroy(); } }