2017-03-08 14 views
0

現在、youtube apiを使用して動画を表示するアンドロイドアプリケーションで作業しています。このアプリケーションでは、youtubeplayerフラグメントを使用してフラグメント内のビデオを表示しています。全画面表示をクリックすると、全画面表示の横画面モードへの変更、全画面表示モードからの終了をクリックすると、画面は横長モードのままで、デバイスを回転させて回転させたり、開始から。どのように方向の変更と私の問題を解決するには、ビデオの状態を保持する。画面の向きがyoutubePlayerfragmentで動作しない

ユーチューブのための私のコードはここにある:

if (savedInstanceState == null) { 
    mYouTubePlayerFragment.initialize(Constants.YOUTUBEDEVELOPERKEY, 
     new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, 
       YouTubePlayer youTubePlayer, boolean b) { 


       //on player full screen mode 
       youTubePlayer.setShowFullscreenButton(true); 
       youTubePlayer.setOnFullscreenListener(
        new YouTubePlayer.OnFullscreenListener() { 
         @Override 
         public void onFullscreen(boolean b) { 
          Log.d(TAG, String.valueOf(b)); 
         } 
        }); 

       //play video in the player 
       if (!b) { 
        youTubePlayer.loadVideo(args.getString(Constants.VIDEOID)); 
        youTubePlayer.play(); 
       } else { 
        youTubePlayer.play(); 
       } 
      } 

      @Override 
      public void onInitializationFailure(
       YouTubePlayer.Provider provider, 
       YouTubeInitializationResult youTubeInitializationResult) { 
       Log.d("FeedVideoFragment", youTubeInitializationResult.toString()); 
       youTubeInitializationResult.getErrorDialog(getActivity(), 0); 
      } 
     }); 
    getActivity().getSupportFragmentManager().beginTransaction().add(R.id.youtube_fragment, 
     mYouTubePlayerFragment, MYYOUTUBEFRAGMENT).commit(); 

} else { 

    mYouTubePlayerFragment.initialize(Constants.YOUTUBEDEVELOPERKEY, 
     new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, 
       YouTubePlayer youTubePlayer, boolean b) { 


       //on player full screen mode 
       youTubePlayer.setShowFullscreenButton(true); 
       youTubePlayer.setOnFullscreenListener(
        new YouTubePlayer.OnFullscreenListener() { 
         @Override 
         public void onFullscreen(boolean b) { 

         } 
        }); 

       //play video in the player 
       if (!b) { 
        youTubePlayer.loadVideo(savedInstanceState.getString("videoId")); 
        youTubePlayer.play(); 
       } else { 
        youTubePlayer.play(); 
       } 
      } 

      @Override 
      public void onInitializationFailure(
       YouTubePlayer.Provider provider, 
       YouTubeInitializationResult youTubeInitializationResult) { 
       Log.d("FeedVideoFragment", youTubeInitializationResult.toString()); 
       youTubeInitializationResult.getErrorDialog(getActivity(), 0); 
      } 
     }); 
    getActivity().getSupportFragmentManager().findFragmentByTag(MYYOUTUBEFRAGMENT); 


} 
+0

私の悪い英語のため申し訳ありませんが、それはあなたの役に立てば幸い偽

@Override public void onBackPressed() { if(fullscreen==1) { if(this.player!=null) youTubePlayer.setFullscreen(false); } else super.onBackPressed(); } 

に設定:// developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubePlayer)を使用して、画面の向きを正しく設定してください。この[チュートリアル](https://guides.codepath.com/android/Streaming-Youtube-Videos-with-YouTubePlayerView)では、YouTubeプレーヤーの風景モードを使用して動画を再生する方法について説明します。それはあなたを助けることができる場合は、それを確認してみてください。私はあなたの問題に関連するこの[SO質問](http://stackoverflow.com/questions/15012754)も見つける。 – KENdi

答えて

0

あなた アクティビティタグで動画状態での使用 android:configChanges="keyboardHidden|orientation|screenSize"を保存するためにあなたのフラグメントが表示されている例:

<activity android:name=".activities.MainActivity" 
    android:configChanges="keyboardHidden|orientation|screenSize"> 

あなたonFullscreen方法のチェックの場合にプレーヤーのフルスクリーンセットの有無

@Override 
     public void onFullscreen(boolean b) { 
      Log.e("onFullscreen",""+b); 
      if(b) 
       fullscreen=1; 
      else fullscreen=2; 
     } 
あなたのbackpressのbethodチェックで

フルスクリーンが設定されているならば、私はあなたがこの[ドキュメント](HTTPSで確認することができます

関連する問題