コード例 #1
0
        protected override void OnElementChanged(ElementChangedEventArgs <GSYPlayerControlView> e)
        {
            base.OnElementChanged(e);
            if (e.OldElement == null)
            {
                if (Control == null)
                {
                    player = new StandardGSYVideoPlayer(context);
                    var activity = (Activity)base.Context;

                    orientationUtils = new OrientationUtils(activity, player);
                    player.SetThumbPlay(true);

                    InitializePlayer(e.NewElement.Source, e.NewElement.AutoPlay, e.NewElement.Thumbnail, e.NewElement.Title);

                    SetNativeControl(player);

                    player.BackButton.Click += (sender, e) =>
                    {
                        try
                        {
                            player.SetUp("", true, "");
                            player.OnBackFullscreen();
                            activity.OnBackPressed();
                        }
                        catch (Exception ex)
                        {
                        }
                    };
                    player.FullscreenButton.Click += (sender, e) =>
                    {
                        try
                        {
                            if (!fullscreen)
                            {
                                fullscreen = true;
                                activity.Window.AddFlags(WindowManagerFlags.Fullscreen);

                                //var uiOptions = SystemUiFlags.HideNavigation | SystemUiFlags.ImmersiveSticky | SystemUiFlags.Fullscreen | SystemUiFlags.LayoutFullscreen | SystemUiFlags.LayoutHideNavigation;
                                // activity.Window.DecorView.SystemUiVisibility = (StatusBarVisibility)uiOptions;
                            }
                            else
                            {
                                fullscreen = false;
                                activity.Window.ClearFlags(WindowManagerFlags.Fullscreen);
                                //activity.Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(SystemUiFlags.LayoutFullscreen | SystemUiFlags.LayoutHideNavigation);
                            }
                            orientationUtils.ResolveByClick();
                            player.StartWindowFullscreen(context, true, true);
                        }
                        catch (Exception ex)
                        {
                        }
                    };
                    mainpage = ((ViewGroup)player.Parent);
                }
            }
        }
コード例 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            try
            {
                base.OnCreate(savedInstanceState);
                SetContentView(Resource.Layout.activity_scrolling);

                appBarStateChangeListener = new IAppBarStateChangeListener();
                context = this;// this.BaseContext;
                initView();

                string url = "http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4";

                //增加封面
                ImageView imageView = new ImageView(this);
                imageView.SetScaleType(ImageView.ScaleType.CenterCrop);

                ResolveNormalVideoUI();

                //外部辅助的旋转,帮助全屏
                orientationUtils = new OrientationUtils(this, detailPlayer);
                //初始化不打开外部的旋转
                orientationUtils.Enable = false;//.setEnable(false);

                GSYVideoOptionBuilder gsyVideoOption = new GSYVideoOptionBuilder();
                gsyVideoOption.SetThumbImageView(imageView)
                .SetIsTouchWiget(true)
                .SetRotateViewAuto(false)
                .SetLockLand(false)
                .SetShowFullAnimation(false)
                .SetNeedLockFull(true)
                .SetSeekRatio(1)
                .SetUrl(url)
                .SetCacheWithPlay(false)
                .SetVideoTitle("测试视频")
                .SetVideoAllCallBack(new IGSYSampleCallBack())
                .SetLockClickListener(this)
                .SetGSYVideoProgressListener(this)
                .Build(detailPlayer);

                detailPlayer.FullscreenButton.Click += (sender, e) =>
                {
                    //直接横屏
                    orientationUtils.ResolveByClick();

                    //第一个true是否需要隐藏actionbar,第二个true是否需要隐藏statusbar
                    detailPlayer.StartWindowFullscreen(this, true, true);
                };
            }
            catch (Java.Lang.Exception ex)
            {
                Log.Error("", ex.ToString());
            }

            //detailPlayer..setLinkScroll(true);
        }