【问题标题】:YouTubePlayerSupportFragment: 'There was a problem while playing' error after some timeYouTubePlayerSupportFragment:一段时间后出现“播放时出现问题”错误
【发布时间】:2020-08-28 10:05:40
【问题描述】:

我在销毁并重新创建活动 3 次后收到此错误:

         "There was a problem while playing (Playback ID: ....) Tap to retry"  

以下是重现问题的详细信息和步骤:

我的 Android 应用 (Match4app) 是一款纸牌游戏,可在每张纸牌中显示图像和视频。 这些视频使用 YouTubePlayerSupportFragment 显示。 在一副牌中,每张牌都是一个片段。 每次显示卡片时,片段的卡片都会使用其各自的 youTubePlayerFragment.initialize 方法创建一个新的 YouTubePlayerSupportFragment 实例:

youTubePlayerFragment.initialize( Constants.DEVELOPER_KEY,new YouTubePlayer.OnInitializedListener() {
        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
            if (!wasRestored) {

                YPlayer = player;                    
                YouTubePlayer.PlayerStyle style = YouTubePlayer.PlayerStyle.MINIMAL;
                YPlayer.setPlayerStyle(style);
                YPlayer.setFullscreen(false);                        
                YPlayer.loadVideo(videoIDStatic);                       

            }               
        }
        @Override
        public void onInitializationFailure(YouTubePlayer.Provider arg0, YouTubeInitializationResult arg1) {                
        }
    });

用户可以在同一个卡片组(Activity)中从一张卡片(片段)跳转到另一张卡片(片段),视频一直播放良好。用户最多可以观看 30 张卡片(及其各自的视频)。每次从一张卡片跳转到另一张卡片时,Youtubeplayer 就会被释放并使用此方法设置为 null:

public void stopVideo(){
    if (YPlayer != null) {            
        YPlayer.release();
        YPlayer = null;
        if (!isAdded()) return;                                   
        FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
        transaction.remove(youTubePlayerFragment).commit();
    }
}

当跳转到另一张卡片时,片段的卡片会使用其各自的 youTubePlayerFragment.initialize 方法再次创建一个新的 YouTubePlayerSupportFragment 实例。

现在,如果用户返回主菜单并且活动(甲板)被销毁(在运行 stopVideo() 之后),用户可以重新打开相同的活动并重复所有这些任务。但是,我有这个奇怪的问题:

  1. 打开活动
  2. 观看卡片视频 --> 视频播放良好(最多可观看 30 个视频)
  3. 返回主菜单(即销毁活动)
  4. 重新打开活动
  5. 观看卡片视频 --> 视频播放良好(最多可观看 30 个视频)
  6. 返回主菜单(即销毁活动)
  7. 重新打开活动
  8. 观看卡片视频 --> 视频播放良好(最多可观看 30 个视频)
  9. 返回主菜单(即销毁活动)
  10. 重新打开活动
  11. 观看卡片视频 --> 所有视频都开始显示此信息:

     "There was a problem while playing (Playback ID: ....) Tap to retry"  
    

在这个帖子中报告了类似的问题,但没有解决方案: YouTubePlayerSupportFragment not playing Video

【问题讨论】:

    标签: android-fragments android-youtube-api youtubeplayer


    【解决方案1】:

    修复我的应用程序中的内存泄漏后,该错误不再出现。

    因此,可以肯定地说,在播放视频时,Youtube SDK 会检查是否有足够的内存。如果没有内存,则显示一般错误:

    There was a problem while playing (Playback ID: ....) Tap to retry
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-03
      • 2014-12-21
      • 2011-05-21
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多