2015-10-06 16 views
6

YouTube ile ilgili bir sorunum var (her zaman yükleniyor).Youtube YouTubePlayerSupportFragment düzgün çalışmıyor (her zaman yükleniyor?)

Görünüşe göre düzgün çalışıyor "ancak sadece ilk kez", ilk örneğini (ilk çalıştırma) doğru olarak çalıştığını ve doğru olarak doğru ve dikey olarak yüklediğini, ancak parça değiştiğinde ->fragmentManager.beginTransaction() benim Ana Çalışmamda (tüm işlevim var fragmanları) beginTransaction için bu yöntemi çağırır ve ben gittikten sonra -> beginTransaction YouTube -> Video daima yük:

Örnek:

Adım 1

İlk kez -> MainActivity -> beginTransacti YouTube'da -> tıklayın - -> Yük doğru

Adım 2

İkinci kez -> MainActivity -> beginTransaction YouTube -> tıklayın - -> Yük daima

Kapat Uygulama (Menü) ve Adım 1 ve 2'yi tekrarlayın.

public void youtube(){ 

     youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance(); 

     youTubePlayerFragment.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean wasRestored) { 
       if (!wasRestored) { 
        youTubePlayer.cueVideo(VIDEO_ID); 
        youTubePlayers=youTubePlayer; 
       } 
       // Toast.makeText(getActivity(), "1", Toast.LENGTH_SHORT).show(); 
       youTubePlayer.setOnFullscreenListener(new YouTubePlayer.OnFullscreenListener() { 
        @Override 
        public void onFullscreen(boolean b) { 
         if(b){ 
          //Toast.makeText(getActivity(), "1", Toast.LENGTH_SHORT).show(); 
          MainActivity.isYoutubeReadyHoritzontal=true; 
          knowIfPortraitAndBackManyally=0; 
         }else { 
          //Toast.makeText(getActivity(), "2", Toast.LENGTH_SHORT).show(); 
          getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
          knowIfPortraitAndBackManyally=1; 
          MainActivity.countIFexit=0; 
          //MainActivity.isYoutubeReadyHoritzontal=false; 
         } 
        } 
       }); 
      } 

      @Override 
      public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult errorReason) { 
       if (errorReason.isUserRecoverableError()) { 
        errorReason.getErrorDialog(getActivity(), RECOVERY_DIALOG_REQUEST).show(); 
       } else { 
        String errorMessage = String.format("YouTube Error (%1$s)", 
          errorReason.toString()); 
        Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show(); 
       } 
      } 

     }); 


     android.support.v4.app.FragmentManager fragmentManager = getChildFragmentManager(); 
     fragmentManager.beginTransaction().replace(R.id.youtube_fragment,youTubePlayerFragment).commit(); 
     MainActivity.isYoutubeReadyHoritzontal=true; 

} 

XML

<FrameLayout 
         android:orientation="vertical" 
         android:layout_width="match_parent" 
         android:layout_height="fill_parent" 

         android:id="@+id/youtube_fragment" > 
+0

Etkinliğe http://javatechig.com/android/youtubeplayerview-example-in-android-using-youtube-api geçerim ama horitzontal çalışmıyor –

+0

Bugün aynı davranışı alıyorum –

cevap

1

ben aynı problem vardı ve düzgün bir önceki oyuncunun örneğinin elden çıkarmak için bir başarısızlık neden oldu:

Bu

benim kodudur. Gerekmediğinde youTubePlayer.release()'u aradığınızdan emin olun.

İlgili konular