Exemple #1
0
 private void SetAudioFocus()
 {
     if (_videoView != null && Element.AudioFocus)
     {
         _videoView.SetAudioFocusRequest(AudioFocus.Gain);
     }
     else
     {
         _videoView.SetAudioFocusRequest(AudioFocus.None);
     }
 }
        protected override void OnElementChanged(ElementChangedEventArgs <VideoPlayer> args)
        {
            base.OnElementChanged(args);

            if (args.NewElement != null)
            {
                if (Control == null)
                {
                    // Save the VideoView for future reference
                    videoView = new VideoView(Context);
                    if (Element.IsVideoOnly)
                    {
                        videoView.SetAudioFocusRequest(Android.Media.AudioFocus.None);
                    }
                    // Put the VideoView in a RelativeLayout
                    ARelativeLayout relativeLayout = new ARelativeLayout(Context);
                    relativeLayout.AddView(videoView);

                    // Center the VideoView in the RelativeLayout
                    ARelativeLayout.LayoutParams layoutParams =
                        new ARelativeLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);
                    layoutParams.AddRule(LayoutRules.CenterInParent);
                    videoView.LayoutParameters = layoutParams;

                    // Handle a VideoView event
                    videoView.Prepared += OnVideoViewPrepared;

                    SetNativeControl(relativeLayout);
                }

                SetAreTransportControlsEnabled();
                SetSource();

                args.NewElement.UpdateStatus   += OnUpdateStatus;
                args.NewElement.PlayRequested  += OnPlayRequested;
                args.NewElement.PauseRequested += OnPauseRequested;
                args.NewElement.StopRequested  += OnStopRequested;
            }

            if (args.OldElement != null)
            {
                args.OldElement.UpdateStatus   -= OnUpdateStatus;
                args.OldElement.PlayRequested  -= OnPlayRequested;
                args.OldElement.PauseRequested -= OnPauseRequested;
                args.OldElement.StopRequested  -= OnStopRequested;
            }
        }