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; } }