【问题标题】:Minimizing/Maximizing youTube video in YouTubePlayerView在 YouTubePlayerView 中最小化/最大化 youTube 视频
【发布时间】:2018-04-05 05:13:05
【问题描述】:

我有一个展示 GIF 视频的容器。点击 GIF 后,它会在 YouTube 中打开相同的视频。 YouTubePlayerView 具有最大化和最小化图标,当我单击该视频时,它只是重新启动而不是最小化它并返回到同一个容器。我不确定如何最小化在 YouTubePlayerView 中播放的视频。

我创建了一个名为 YouTubeACtivity 的单独 Activity:

public class YoutubeActivity extends AppCompatActivity {

    String shortCode = "";

    public static void show(Activity activity, String shortCode)
    {
        Intent intent = new Intent(activity, YoutubeActivity.class);
        intent.putExtra(Constants.YOUTUBE_VIDEO, shortCode);
        activity.startActivity(intent);
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_youtubeplayer);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        shortCode = getIntent().getStringExtra(Constants.YOUTUBE_VIDEO);


            YouTubePlayerFragment mYoutubePlayerFragment = new YouTubePlayerFragment().newInstance();

            FragmentManager fm = getFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            ft.replace(R.id.youtubeContainer, mYoutubePlayerFragment);
            ft.commit();

            if (mYoutubePlayerFragment != null) {
                mYoutubePlayerFragment.initialize(getResources().getString(R.string.google_api_key), new YouTubePlayer.OnInitializedListener() {
                    @Override
                    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean restored) {
                        //youTubePlayer.setFullscreen(true);
                        youTubePlayer.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE| YouTubePlayer.FULLSCREEN_FLAG_CONTROL_ORIENTATION);
                       // youTubePlayer.  setShowFullscreenButton(false);

                        youTubePlayer.setOnFullscreenListener(new YouTubePlayer.OnFullscreenListener() {

                            @Override
                            public void onFullscreen(boolean fullscreen) {

                              //  onBackPressed();

                            }
                        });


                        Log.e("shortcode ", "reached" + shortCode);
                        if (shortCode != null) {

                            if (restored) {
                                youTubePlayer.play();
                            } else {
                                youTubePlayer.loadVideo("" + shortCode + "");
                            }
                        }

                    }

                    @Override
                    public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

                        Log.e("youtube initialization ", "initialisation fails");
                    }
                });
            }

    }


}

GIF 视频显示在实现 SurfaceHolder 回调的 FrameLayout 中。

我只是想知道我们是否可以将视频最小化并返回到容器布局。

【问题讨论】:

    标签: android android-youtube-api


    【解决方案1】:

    首先我建议使用播放器对象进入或退出全屏

    youtubeplayer.setFullScreen(true/false);
    

    然后在包含容器的活动清单中添加配置更改

    android:configChanges="orientation|screenSize|keyboardHidden|screenLayout"
    

    据我所知,您的活动正在重新启动

    【讨论】:

    • 如果这没有帮助告诉我
    • 什么是确切的问题,当你点击最小化图标时视频重新启动,或者当你点击同一个视频时它重新启动
    猜你喜欢
    • 1970-01-01
    • 2015-10-25
    • 2019-09-27
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 2021-04-11
    • 1970-01-01
    相关资源
    最近更新 更多