2015-10-06 10 views
6

मुझे YouTube (हमेशा लोड होने) में कोई समस्या है।यूट्यूब YouTubePlayerSupportFragment सही ढंग से काम नहीं करता है (हमेशा लोड हो रहा है?)

स्पष्ट रूप से सही ढंग से काम करता है "लेकिन केवल पहली बार", मैं कहता हूं, पहला उदाहरण (पहला रन) सही ढंग से काम करता है और सही ढंग से क्षैतिज और लंबवत लोड करता है, लेकिन जब मेरी मुख्य क्रिया में खंड ->fragmentManager.beginTransaction() बदलता है (मेरे पास सभी पर कार्य है टुकड़े beginTransaction के लिए इस विधि कॉल), और बाद मैं करने के लिए जाने -> beginTransaction यूट्यूब -> वीडियो हमेशा लोड:

उदाहरण:

चरण 1

पहली बार -> MainActivity -> beginTransacti यूट्यूब पर -> क्लिक करें - -> लोड सही ढंग से

चरण 2

दूसरा समय -> MainActivity -> beginTransaction यूट्यूब -> क्लिक करें - -> लोड हमेशा

बंद अनुप्रयोग (मेनू) और चरण 1 और 2 दोहराएं।

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; 

} 

एक्सएमएल

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

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

मैं गतिविधि को पास करता हूं http://javatechig.com/android/youtubeplayerview-example-in-android-using-youtube-api लेकिन क्षैतिज काम नहीं करते –

+0

मुझे आज से वही व्यवहार मिल रहा है –

उत्तर

1

मैं एक ही समस्या थी और यह एक विफलता ठीक से एक पिछले खिलाड़ी उदाहरण के निपटान के लिए की वजह से किया गया था:

यह मेरा कोड है। youTubePlayer.release() पर कॉल करने के लिए सुनिश्चित करें जब इसकी आवश्यकता नहीं है।

संबंधित मुद्दे