public static void ShowVideoUrlMp4(this UIView view, string pathVideo)
        {
            var moviePlayer = new MPMoviePlayerController
            {
                ContentUrl     = new NSUrl(pathVideo),
                ShouldAutoplay = false,
                ControlStyle   = MPMovieControlStyle.Embedded
            };


            moviePlayer.View.Frame = view.Frame;
            moviePlayer.PrepareToPlay();

            moviePlayer.Play();
            moviePlayer.SetFullscreen(true, true);


            MPMoviePlayerController.Notifications.ObserveDidExitFullscreen((sender, e) =>
            {
                moviePlayer.Stop();
                moviePlayer.View.RemoveFromSuperview();
                moviePlayer.Dispose();
                moviePlayer = null;
                GC.Collect();
            });

            view.AddSubview(moviePlayer.View);
        }
Beispiel #2
0
 public override void RemoveFromSuperview()
 {
     lblLoading.RemoveFromSuperview();
     mp.View.RemoveFromSuperview();
     mp.Dispose();
     NSNotificationCenter.DefaultCenter.RemoveObserver(notificationObserver);
     base.RemoveFromSuperview();
 }
Beispiel #3
0
        protected override void Dispose(bool disposing)
        {
            // Dispose all components
            _controller?.Stop();
            _controller?.Dispose();
            _controller = null;

            base.Dispose(disposing);
        }
Beispiel #4
0
        public void DisposeItem()
        {
            if (playerItemReachEndNotitication != null)
            {
                NSNotificationCenter.DefaultCenter.RemoveObserver(playerItemReachEndNotitication);
                playerItemReachEndNotitication = null;
            }

            if (movieController != null)
            {
                movieController.Stop();
                movieController.Dispose();
            }
        }
Beispiel #5
0
        private void playVideo(string videoFile)
        {
            MPMoviePlayerController moviePlayer = new MPMoviePlayerController(NSUrl.FromFilename(videoFile));

            owner.View.AddSubview(moviePlayer.View);
            moviePlayer.SetFullscreen(true, true);
            moviePlayer.Play();
            NSNotificationCenter.DefaultCenter.AddObserver(
                MPMoviePlayerController.PlaybackDidFinishNotification,
                (notification) =>
            {
                moviePlayer.View.RemoveFromSuperview();
                moviePlayer.Dispose();
            });
        }
Beispiel #6
0
 public void ShowFullScreenVideo(string url)
 {
     if (_moviePlayer != null)
     {
         _moviePlayer.Dispose();
         _moviePlayer = null;
     }
     if (_moviePlayerVC != null)
     {
         _moviePlayerVC.Dispose();
         _moviePlayerVC = null;
     }
     if (App.Inst.IsIPad)
     {
         _moviePlayerVC = new MPMoviePlayerViewController(new NSUrl(url));
         MVC.PresentMoviePlayerViewController(_moviePlayerVC);
     }
     else
     {
         _moviePlayer = new MPMoviePlayerController(new NSUrl(url));
         _moviePlayer.Play();
     }
 }