Disable full screen for youtube api

后端 未结 3 1836
后悔当初
后悔当初 2021-02-07 14:06

I have an app with fragments and inside those fragments I have frame layout into which I add YouTubePlayerSupportFragment. But when I click full screen then this exception is th

相关标签:
3条回答
  • 2021-02-07 14:52

    I faced the same issue and found a way to handle it that worked for me. In the OnInitializedListener() for the fragment, I do this:

    @Override
    public void onInitializationSuccess(Provider arg0,
    final YouTubePlayer player, boolean arg2) {
    //Tell the player you want to control the fullscreen change
    player.setFullscreenControlFlags(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);
    //Tell the player how to control the change
    player.setOnFullscreenListener(new OnFullscreenListener(){
    @Override
    public void onFullscreen(boolean arg0) {                    
    // do full screen stuff here, or don't. I started a YouTubeStandalonePlayer 
    // to go to full screen
    }});
    
    }});
    

    And I still got an error since I used the YouTubeStandalonePlayer to handle my full screen, so I solved that by calling

    finish(); 
    

    in my OnPause() for the activity. Just remember you won't come back to where you left off if your user hits the back button. You could also send the user to the YouTube app through an intent, this did not require the finish() in OnPause when I tested it, but did not suit my needs as well as the standalone player.

    Edit: If you want to remove the full-screen button, you can also just set the player style like this:

    PlayerStyle style = PlayerStyle.MINIMAL;
    player.setPlayerStyle(style);
    
    0 讨论(0)
  • 2021-02-07 14:56

    Or you can just disable it by 1 line:

    player.setShowFullscreenButton(false);
    
    0 讨论(0)
  • 2021-02-07 15:11
    1. If you want to show full screen, youTubePlayer.setFullscreen(true);

    2. If you want to hide full screen button after full screen or even in the portrait mode the youTubePlayer.setShowFullscreenButton(false);

    3. You can also use PlayerStyle Option, provided in the newest API

    • YouTubePlayer.PlayerStyle.CHROMELESS A style that shows no interactive player controls. (No controls)

    • YouTubePlayer.PlayerStyle.DEFAULT The default style, showing all interactive controls. (All controls)

    • YouTubePlayer.PlayerStyle.MINIMAL A minimal style, showing only a time bar and play/pause controls. (can pause/play Only)

    0 讨论(0)
提交回复
热议问题