提交 41ba66b6 编写于 作者: G guoshuyu

fix demo ad

上级 a780fbdf
......@@ -6,9 +6,11 @@ import android.view.View;
import android.widget.ImageView;
import com.shuyu.gsyvideoplayer.GSYBaseActivityDetail;
import com.shuyu.gsyvideoplayer.GSYVideoADManager;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack;
import com.shuyu.gsyvideoplayer.listener.LockClickListener;
import com.shuyu.gsyvideoplayer.utils.OrientationUtils;
import com.shuyu.gsyvideoplayer.video.NormalGSYVideoPlayer;
import com.shuyu.gsyvideoplayer.video.GSYADVideoPlayer;
import com.shuyu.gsyvideoplayer.video.base.GSYVideoPlayer;
......@@ -16,6 +18,8 @@ import com.shuyu.gsyvideoplayer.video.base.GSYVideoPlayer;
public class DetailADPlayer2 extends GSYBaseActivityDetail<NormalGSYVideoPlayer> {
private OrientationUtils adOrientationUtils;
private NormalGSYVideoPlayer detailPlayer;
private GSYADVideoPlayer adPlayer;
......@@ -26,6 +30,8 @@ public class DetailADPlayer2 extends GSYBaseActivityDetail<NormalGSYVideoPlayer>
private String url = "http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4";
private boolean isAdPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -53,48 +59,106 @@ public class DetailADPlayer2 extends GSYBaseActivityDetail<NormalGSYVideoPlayer>
GSYVideoOptionBuilder adBuilder = getGSYVideoOptionBuilder();
adBuilder.setUrl(urlAd)
.setVideoAllCallBack(new GSYSampleCallBack(){
@Override
public void onAutoComplete(String url, Object... objects) {
adPlayer.release();
adPlayer.setVisibility(View.GONE);
//todo 如果在全屏下的处理
getGSYVideoPlayer().getCurrentPlayer().startAfterPrepared();
}
});
.setVideoAllCallBack(new GSYSampleCallBack() {
@Override
public void onPrepared(String url, Object... objects) {
super.onPrepared(url, objects);
isAdPlayer = true;
//开始播放了才能旋转和全屏
adOrientationUtils.setEnable(getDetailOrientationRotateAuto());
}
@Override
public void onAutoComplete(String url, Object... objects) {
adPlayer.release();
adPlayer.setVisibility(View.GONE);
//todo 如果在全屏下的处理
//todo 中间弹出逻辑处理
getGSYVideoPlayer().getCurrentPlayer().startAfterPrepared();
if (adPlayer.getCurrentPlayer().isIfCurrentIsFullscreen()) {
if (!getGSYVideoPlayer().getCurrentPlayer().isIfCurrentIsFullscreen()) {
showFull();
}
}
}
@Override
public void onQuitFullscreen(String url, Object... objects) {
if (adOrientationUtils != null) {
adOrientationUtils.backToProtVideo();
}
}
});
adBuilder.build(adPlayer);
}
@Override
public void initVideo() {
super.initVideo();
//外部辅助的旋转,帮助全屏
adOrientationUtils = new OrientationUtils(this, adPlayer);
//初始化不打开外部的旋转
adOrientationUtils.setEnable(false);
if (adPlayer.getFullscreenButton() != null) {
adPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//直接横屏
adOrientationUtils.resolveByClick();
//第一个true是否需要隐藏actionbar,第二个true是否需要隐藏statusbar
adPlayer.startWindowFullscreen(DetailADPlayer2.this, true, true);
}
});
}
}
@Override
public void onBackPressed() {
if (adOrientationUtils != null) {
adOrientationUtils.backToProtVideo();
}
if (GSYVideoADManager.backFromWindowFull(this)) {
return;
}
super.onBackPressed();
//TODO AD
}
@Override
protected void onPause() {
super.onPause();
//TODO AD
GSYVideoADManager.onPause();
}
@Override
protected void onResume() {
super.onResume();
//TODO AD
GSYVideoADManager.onResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
//TODO AD
GSYVideoADManager.releaseAllVideos();
if (adOrientationUtils != null)
adOrientationUtils.releaseListener();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
//如果旋转了就全屏
boolean backUpIsPlay = isPlay;
if (isAdPlayer && !isPause) {
if (adPlayer.getCurrentPlayer().isInPlayingState()) {
isPlay = false;
adPlayer.onConfigurationChanged(this, newConfig, adOrientationUtils);
}
}
super.onConfigurationChanged(newConfig);
//TODO AD
isPlay = backUpIsPlay;
}
@Override
......
......@@ -40,11 +40,7 @@ public abstract class GSYBaseActivityDetail<T extends GSYBaseVideoPlayer> extend
getGSYVideoPlayer().getFullscreenButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//直接横屏
orientationUtils.resolveByClick();
//第一个true是否需要隐藏actionbar,第二个true是否需要隐藏statusbar
getGSYVideoPlayer().startWindowFullscreen(GSYBaseActivityDetail.this, true, true);
showFull();
clickForFullScreen();
}
});
......@@ -61,6 +57,16 @@ public abstract class GSYBaseActivityDetail<T extends GSYBaseVideoPlayer> extend
.build(getGSYVideoPlayer());
}
public void showFull() {
if (orientationUtils.getIsLand() != 1) {
//直接横屏
orientationUtils.resolveByClick();
}
//第一个true是否需要隐藏actionbar,第二个true是否需要隐藏statusbar
getGSYVideoPlayer().startWindowFullscreen(GSYBaseActivityDetail.this, hideActionBarWhenFull(), hideStatusBarWhenFull());
}
@Override
public void onBackPressed() {
if (orientationUtils != null) {
......@@ -219,6 +225,14 @@ public abstract class GSYBaseActivityDetail<T extends GSYBaseVideoPlayer> extend
}
public boolean hideActionBarWhenFull() {
return true;
}
public boolean hideStatusBarWhenFull() {
return true;
}
/**
* 播放控件
*/
......
......@@ -51,7 +51,9 @@ public class GSYADVideoPlayer extends StandardGSYVideoPlayer {
mJumpAd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onAutoCompletion();
if (getGSYVideoManager().listener() != null) {
getGSYVideoManager().listener().onAutoCompletion();
}
}
});
}
......@@ -89,7 +91,6 @@ public class GSYADVideoPlayer extends StandardGSYVideoPlayer {
}
@Override
public void onPrepared() {
super.onPrepared();
......
......@@ -36,7 +36,7 @@ import static com.shuyu.gsyvideoplayer.utils.CommonUtil.showSupportActionBar;
public abstract class GSYBaseVideoPlayer extends GSYVideoControlView {
public static final int SMALL_ID = 84778;
public static final int SMALL_ID = 85598;
public static final int FULLSCREEN_ID = 85597;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册