2017-01-09 63 views
-1

我在当前项目中整合了Youtube Data API和Google广告。所有工作良好期望在全屏幕下正确加载InterstitialAd后视频不会恢复。使用YouTube播放器加载InterstitialAd后恢复视频

如果我使用

player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS); 

则没有选择,如果广告加载再次播放视频。

如果我使用

player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT); 

再经过广告加载我对你管的球员手动触发暂停按钮播放视频。 我的目的是在InterstitialAd加载成功之后恢复视频,而不会与Youtubeplayer控件交互。

这里是我的onCreate()代码:

try { 
     youTubeView.initialize(Config.DEVELOPER_KEY, this); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    mAdMobInterstitialAd = new InterstitialAd(this); 
    mAdMobInterstitialAd.setAdUnitId(getString(R.string.full_screen_id)); 
    requestNewInterstitial(); 
    mAdMobInterstitialAd.setAdListener(new AdListener() { 
     public void onAdLoaded() { 
      showInterstitialAd(); 
     } 
     @Override 
     public void onAdClosed() { 
     } 
    }); 

} 

private void showInterstitialAd() { 
    if (mAdMobInterstitialAd.isLoaded()) { 
     mAdMobInterstitialAd.show(); 
    } 
} 

//初始化为YouTube播放器

@Override 
public void onInitializationSuccess(final YouTubePlayer.Provider provider, 
            final YouTubePlayer player, boolean wasRestored) { 
    this.you_player = player; 
    player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE); 
    if (!wasRestored) { 
     if (isOnline()) { 
      if (player != null) { 
       try { 
        player.cueVideo(VIDEO_ID); 
       } catch (Exception e) { 
        provider.initialize(Config.DEVELOPER_KEY, this); 
       } 
      } 
      player.setFullscreen(true); 
      player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS); 
     } else { 
      Toast.makeText(YoutubePlayerActivity.this, "No Internet Connection", Toast.LENGTH_SHORT).show(); 
     } 
    } 
} 

@Override 
public void onDestroy() { 
    if (you_player != null) { 
     you_player.release(); 
    } 
    super.onDestroy(); 
} 

我也曾尝试手动初始化YoutubePlayer和负载的视频在onAdClosed()onAdLoaded()方法,但都不他们工作。

所以先进的帮助将不胜感激!

+2

你可以尝试保存视频时间'onAdLoaded',然后从同一时间播放视频'onAdClosed'希望它有助于 –

+0

我已经试过这件事情 – Piyush

+0

所以,你要间质性当广告节目暂停视频当用户手动关闭广告,然后你想恢复?我对吗? @Piyush –

回答

0

我有类似的问题。我有一个显示广告或播放YouTube播放器(you_player)的按钮。

if (mInterstitialAd.isLoaded()) 
{ 
    mInterstitialAd.show(); 
} 
else 
{ 
    PlayVideo(); // Do something and call you_player.loadVideo(video_Id) 
} 

在广告监听器,而不是在onAdClosed方法调用的playVideo(),只是做了RequestNewInterstitial()请求:)这个活动

mInterstitialAd.setAdListener(new AdListener() 
{ 
    @Override 
    public void onAdClosed() 
    { 
     //PlayVideo(); 

     RequestNewInterstitial(); 
    } 
}); 

的onResume(onAdClosed后会被调用( ),你可以在那里调用你的PlayVideo()。

@Override 
protected void onResume() 
{ 
    super.onResume(); 

    if (your_player == null) 
    { 
     youTubeView.initialize(Config.DEVELOPER_KEY, this); 
    } 
    else 
    { 
     PlayVideo(); 
    } 
}