假设您已经围绕Demo 构建了您的应用程序,在演示应用程序中,您在包com.google.googlemediaframeworkdemo.demo.adplayer 中有一个类ImaPlayer,其中包含两个SimpleVideoPlayer 引用,顾名思义,一个用于显示添加一个用于显示内容。
/**
* Plays the ad.
*/
private SimpleVideoPlayer adPlayer;
/**
* Plays the content (i.e. the actual video).
*/
private SimpleVideoPlayer contentPlayer;
要退出全屏,您需要在 SimpleVideoPlayer 上调用 setFullscreen(false)
public void setFullscreen(boolean shouldBeFullscreen)
Make the player enter or leave fullscreen mode.
Parameters:
shouldBeFullscreen - If true, the player is put into fullscreen mode. If false, the player leaves fullscreen mode.
由于两个 SimpleVideoPlayers 都被声明为私有,因此您无法访问它们。以下是解决此问题的 2 个解决方案:
解决方案 1:
在ImaPlayer 类中为adPlayer 和contentPlayer 创建getter
public SimpleVideoPlayer getAdPlayer(){
return this.adPlayer;
}
public SimpleVideoPlayer getContentPlayer(){
return this.ContentPlayer;
}
在您处理后退键的MainActivity 中修改为此
@Override
public void onBackPressed() {
if(isFullScreen) {
imaPlayer.getAdPlayer().setFullscreen(false);
imaPlayer.getContentPlayer().setFullscreen(false);
// after this calls you will see that your callback method onReturnFromFullscreen() will be called
}
else {
super.onBackPressed();
}
}
解决方案 2:
在ImaPlayer 类中添加以下代码:
public void exitFullscreen(){
if (adPlayer != null) {
adPlayer.setFullscreen(false);
}
contentPlayer.setFullscreen(false);
//again after this calls you will see that your callback method onReturnFromFullscreen() will be called
}
}
如果您没有围绕演示应用程序构建它,您需要调用您的视频播放器(很可能是SimpleVideoPlayer)setFullscreen(false)