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

fix demo ad

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