2015-10-05 1 views
0

У меня есть игрок в трубке внутри моей деятельности. Но у меня возникают некоторые проблемы с полноэкранным вариантом видео.Android: при воспроизведении видео на YouTube в полноэкранном режиме загружается

Когда я впервые начал свою деятельность, просмотр youtubeview отображается и инициализирован правильно. Я вижу, как видео воспроизводит его и переходит в полноэкранный режим. Но когда я нажимаю кнопку, чтобы выйти из полноэкранного режима/повернуть мой телефон, вся активность перезагружается, а из-за отсутствия youtubeview. Вот как я инициализировать YouTube Player/вид:

try { 
     final YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 

     youTubeView.initialize("KEY", new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean VidBool) { 
       if(ad==null || ad.getVideo_urls() == null) 
        return; 

       if (!VidBool) 
       { 
        try { 
         if (ad.getVideo_urls() != null && ad.getVideo_urls().length() > 0) { 
          String url = ad.getVideo_urls().getString(0); 
          if (url.contains("youtube")){          
           VideoID = "kQsN-pvokrw"; 
           youTubeView.setVisibility(View.VISIBLE); 
           MyYouTubePlayer = youTubePlayer; 
           MyYouTubePlayer.cueVideo(VideoID); 
           MyYouTubePlayer.setOnFullscreenListener(new YouTubePlayer.OnFullscreenListener() { 
            @Override 
            public void onFullscreen(boolean b) { 
             fullScreen = true; 
            } 
           }); 
          } 
         } else { 
          youTubeView.setVisibility(View.GONE); 
          Log.i(Constants.getTag(), "Video not found"); 
          //Making sure the MyYouTubePlayer is null and if not is being released 
          if(MyYouTubePlayer != null) 
          { 
           MyYouTubePlayer.release(); 
           MyYouTubePlayer.setFullscreenControlFlags(-1); 
          } 
         } 
        } 
        catch (JSONException e) { 
         youTubePlayer.release(); 
         e.printStackTrace(); 
        } 
       } 

      } 

      @Override 
      public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { 
       youTubeView.removeAllViews(); 
      } 
     }); 



     //Catching A dead object exception 
    } catch(Exception e){ 
     e.printStackTrace(); 
     Log.e("Youtube", "error initializing youtube"); 
    } 

ответ

0

Если вы не хотите, чтобы ваш Activty быть воссозданы после изменения ориентации, вы должны добавить следующую строку в ваш Manifest (внутри тега активности):

android:configChanges="orientation|screenSize" 

Но тогда вы должны переопределить onConfigurationChanged метода этой деятельности, если вы хотите, чтобы поддержать изменения ориентации.

@Override 
public void onConfigurationChanged(Configuration newConfig) {} 

Дальнейшее чтение: http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange