2015-10-06 18 views
6

Tôi gặp sự cố với YouTube (luôn tải). Rõ ràng hoạt động chính xác "nhưng chỉ lần đầu tiên", tôi muốn nói, ví dụ đầu tiên (chạy đầu tiên) hoạt động chính xác và tải chính xác horitzontal và theo chiều dọc, nhưng khi thay đổi fragment ->fragmentManager.beginTransaction() trong MainActivity của tôi (tôi có chức năng trên tất cả các tính năng chính), hoặc. mảnh gọi phương pháp này để beginTransaction), và sau khi tôi đi đến -> beginTransaction YouTube -> video luôn tải:Youtube YouTubePlayerSupportPhân tích không hoạt động chính xác (tải luôn?)

Ví dụ:

Bước 1

lần đầu tiên -> MainActivity -> beginTransacti trên YouTube -> bấm - -> Load đúng

Bước 2

Second time -> MainActivity -> beginTransaction YouTube -> bấm - -> Load luôn

Đóng App (Menu) và lặp lại Bước 1 và 2.

Đây là mã của tôi:

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

Tôi chuyển đến hoạt động http://javatechig.com/android/youtubeplayerview-example-in-android-using-youtube-api nhưng horitzontal không hoạt động –

+0

Tôi nhận được cùng một hành vi kể từ hôm nay –

Trả lời

1

tôi đã cùng một vấn đề và nó được gây ra bởi một thất bại trong việc xử lý đúng cách của một trường hợp máy nghe nhạc trước đó. Đảm bảo gọi số youTubePlayer.release() khi không còn cần thiết nữa.

Các vấn đề liên quan