Youtube API - 如何强制全屏?

时间:2017-03-08 14:30:22

标签: android android-studio youtube-api android-youtube-api

我在Youtube API中有一个问题。 我使用'player.cueVideos'命令来运行视频,但我希望当一个人按下观看按钮时,他们将被迫全屏显示。

非常感谢你。

2 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,强行在Android上嵌入iframe YouTube嵌入视频全屏。根据我发现的信息,无法使用YouTube API在Android上强制全屏显示。

来自Codepen.io example by bfred-it

  

移动浏览器

     

这是iPhone上的默认行为,但它无法在其他任何地方使用(Android,iPad),因为

     
      
  • play()视频或requestFullScreen()您需要用户点击同一文档中的 (读取:不在iframe中)
  •   
     

这意味着

     
      
  • 当视频发出活动requestFullScreen()
  • 时,您无法致电onplay   
  • 您无法通过YouTube API触发play()(它会越过框架)在同一时间点击requestFullScreen()
  •   
     

只需轻按一下 即可播放视频全屏显示;如果您使用YouTube,则需要两次单独的点按。

答案 1 :(得分:0)

是的,你可以:

public class YoutubeActivity extends YouTubeBaseActivity implements 
        YouTubePlayer.OnInitializedListener, 
        YouTubePlayer.PlayerStateChangeListener {

    private YouTubePlayer player;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.youtube_activity);

        YouTubePlayerView playerView = findViewById(R.id.youtube_player_view);
        playerView.initialize(YOUTUBE_API_KEY, this);
    }

    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, 
            YouTubePlayer youTubePlayer, boolean b) {
        //use this to hide controls
        youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS);
        player = youTubePlayer;
        youTubePlayer.setPlayerStateChangeListener(this);
        youTubePlayer.cueVideo(VIDEO_ID);
    }

    @Override
    public void onVideoStarted() {
        player.setFullscreen(true);
    }
}

另外,实现接口附带的其他方法。

YOUTUBE_API_KEYhere

中获取您的API密钥

VIDEO_ID您需要使用视频的ID而不是完整的网址。

文档here