public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // don't allow anything if there isn't a watchUrl set
            if ( MediaUrl == null )
            {
                throw new Exception( "MediaUrl must not be null!" );
            }

            // setup our activity indicator
            ActivityIndicator = new UIActivityIndicatorView();
            ActivityIndicator.ActivityIndicatorViewStyle = UIActivityIndicatorViewStyle.White;
            ActivityIndicator.SizeToFit( );
            ActivityIndicator.StartAnimating( );

            PreloadFinished = false;

            // create the movie player control
            MoviePlayer = new MPMoviePlayerController( );
            View.AddSubview( MoviePlayer.View );

            View.AddSubview( ActivityIndicator );

            ResultView = new UIResultView( View, View.Frame.ToRectF( ), delegate { TryPlayMedia( ); } );
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            //Button Events
            playMovieButton.TouchUpInside += delegate {
                try{
                    //Set already instantiated MPMoviePlayerController to playback from Movies/file.m4v
                    mp = new MPMoviePlayerController(NSUrl.FromFilename("Movies/file.m4v"));

                    //enable AirPlay
                    mp.AllowsAirPlay = true;

                    //Add the MPMoviePlayerController View
                    this.View.AddSubview(mp.View);

                    //set the view to be full screen and show animated
                    mp.SetFullscreen(true, true);

                    //Disable the pinch-to-zoom gesture
                    mp.ControlStyle = MPMovieControlStyle.Fullscreen;

                    //MPMoviePlayer must be set to PrepareToPlay before playback
                    mp.PrepareToPlay();

                    //Play Movie
                    mp.Play();
                } catch {
                    Console.WriteLine("There was a problem playing back Video");
                }
            };
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // don't allow anything if there isn't a watchUrl set
            if (MediaUrl == null)
            {
                throw new Exception("MediaUrl must not be null!");
            }

            // setup our activity indicator
            ActivityIndicator = new UIActivityIndicatorView();
            ActivityIndicator.ActivityIndicatorViewStyle = UIActivityIndicatorViewStyle.White;
            ActivityIndicator.SizeToFit( );
            ActivityIndicator.StartAnimating( );

            PreloadFinished = false;

            // create the movie player control
            MoviePlayer = new MPMoviePlayerController( );
            View.AddSubview(MoviePlayer.View);

            View.AddSubview(ActivityIndicator);

            ResultView = new UIResultView(View, View.Frame.ToRectF( ), delegate { TryPlayMedia( ); });
        }
Beispiel #4
0
        public async Task <Stream> GetThumbnailAsync(CancellationToken ct, ThumbnailMode mode)
        {
            var stream = await UIThread.Current.Run(async ict =>
            {
                try
                {
                    var fileUrl = NSUrl.FromFilename(this.Path);
                    var movie   = new MPMoviePlayerController(fileUrl);

                    movie.ShouldAutoplay = false;
                    movie.Stop();

                    var image = movie.ThumbnailImageAt(1.0, MPMovieTimeOption.Exact);

                    movie.SafeDispose();

                    return(image.AsPNG().AsStream());
                }

                catch (Exception e)
                {
                    this.Log().Error("The thumbnail could not retrieved.", e);
                    return(null);
                }
            }, ct);

            return(stream);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            //this.ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation.LandscapeRight);
            UIWindow window = UIApplication.SharedApplication.KeyWindow;
            var rootController = window.RootViewController.ChildViewControllers [0].ChildViewControllers [1];
            rootController.TabBarController.TabBar.Hidden = true;

            this.NavigationController.NavigationBarHidden = true;

            moviePlayer = new MPMoviePlayerController (new NSUrl (MediaFile));
            MPMoviePlayerController.Notifications.ObserveLoadStateDidChange(OnLoadStateChanged);
            MPMoviePlayerController.Notifications.ObservePlaybackDidFinish(OnPlaybackComplete);

            //moviePlayer.View.Frame = new CGRect((float)((this.View.Bounds.Width - 600) / 2), (float)((this.View.Bounds.Height - 450) / 2), 600, 400);

            View.AddSubview (moviePlayer.View);

            moviePlayer.PrepareToPlay();
            moviePlayer.ShouldAutoplay = true;
            moviePlayer.ControlStyle = MPMovieControlStyle.Fullscreen;
            moviePlayer.SetFullscreen (true, true);
            moviePlayer.Play();
        }
        protected internal override void NativeInit()
        {
            if (this.NativeUIElement == null)
            {
                this.mpc = new MPMoviePlayerController();
                this.mpc.ControlStyle  = MPMovieControlStyle.None;
                this.mpc.AllowsAirPlay = true;
                this.mpc.ScalingMode   = MPMovieScalingMode.AspectFill;
                this.AddEventHandlers();
                this.NativeUIElement            = this.mpc.View;
                this.invalidationTimer.Elapsed += (sender, e) =>
                {
                    if (this.mpc.PlaybackState != MPMoviePlaybackState.Stopped && this.mpc.PlaybackState != MPMoviePlaybackState.Interrupted)
                    {
                        this.Position = this.NativePosition;

                        // TODO: check conditions for the next assignments
                        this.BufferingProgress = this.NativeBufferingProgress;
                        this.DownloadProgress  = this.NativeBufferingProgress;
                    }
                    this.AutoPlay = this.NativeAutoPlay;
                    this.IsMuted  = this.NativeIsMuted;
                    this.Volume   = this.NativeVolume;
                };
                this.invalidationTimer.Start();
            }
            base.NativeInit();
        }
Beispiel #7
0
        public void PlayVideo(Movie movie)
        {
            if (_player == null)
            {
                _player = new MPMoviePlayerController();
                //_player.ControlStyle = MPMovieControlStyle.Fullscreen;
                _player.SourceType = MPMovieSourceType.Streaming;
                _player.Fullscreen = true;

                var center = NSNotificationCenter.DefaultCenter;
                _preloadObserver = center.AddObserver(NOTIFICATION_PRELOAD_FINISH,
                                                      (notify)=>{

                    _player.Play();
                    notify.Dispose();
                });

                _playbackObserver = center.AddObserver(NOTIFICATION_PLAYBLACK_FINISH,
                                                       (notify)=>{

                    notify.Dispose();

                });

                var f = this.View.Frame;
                _player.View.Frame = new Rectangle(0,0,(int)f.Width,(int)f.Height);
                this.Add(_player.View);
            }

            var url = NSUrl.FromString(movie.Url);
            _player.ContentUrl = url;
            _player.Play();
        }
Beispiel #8
0
        protected override void OnElementChanged(ElementChangedEventArgs <VideoView> e)
        {
            if (e.NewElement != null)
            {
                if (string.IsNullOrEmpty(Element.Source))
                {
                    throw new ArgumentException("Source is required.");
                }

                if (base.Control == null)
                {
                    var view = new UIView();
                    SetNativeControl(view);

                    if (Element.ShowControl)
                    {
                        if (Element.IsFromUrl)
                        {
                            if (movieController == null)
                            {
                                var url = NSUrl.FromString(Element.Source);
                                movieController = new MPMoviePlayerController();
                                movieController.ShouldAutoplay = true;
                                movieController.Fullscreen     = true;
                                movieController.ControlStyle   = MPMovieControlStyle.Embedded;
                                movieController.PrepareToPlay();
                                movieController.SourceType = MPMovieSourceType.Streaming;
                                movieController.ContentUrl = url;
                                view.Add(movieController.View);

                                movieController.Play();
                                movieController.SetFullscreen(true, true);
                            }
                        }
                    }
                    else
                    {
                        if (playerItem == null)
                        {
                            asset      = AVAsset.FromUrl(NSUrl.FromFilename(Element.Source));
                            playerItem = new AVPlayerItem(asset);
                            //					AVPlayerItem.DidPlayToEndTimeNotification;

                            player = new AVPlayer(playerItem);
                            player.ActionAtItemEnd = AVPlayerActionAtItemEnd.None;
                            playerLayer            = AVPlayerLayer.FromPlayer(player);


                            view.Layer.AddSublayer(playerLayer);


                            SetRepeat();
                            SetPlaying();
                        }
                    }
                }
            }

            base.OnElementChanged(e);
        }
        void InitVideoPlayer()
        {
            var path = Path.Combine(NSBundle.MainBundle.BundlePath, Element.Source);

            if (!NSFileManager.DefaultManager.FileExists(path))
            {
                Console.WriteLine("Video not exist");
                videoPlayer = new MPMoviePlayerController();
                videoPlayer.ControlStyle         = MPMovieControlStyle.None;
                videoPlayer.ScalingMode          = MPMovieScalingMode.AspectFill;
                videoPlayer.RepeatMode           = MPMovieRepeatMode.One;
                videoPlayer.View.BackgroundColor = UIColor.Clear;
                SetNativeControl(videoPlayer.View);
                return;
            }

            // Load the video from the app bundle.
            NSUrl videoURL = new NSUrl(path, false);

            // Create and configure the movie player.
            videoPlayer = new MPMoviePlayerController(videoURL);

            videoPlayer.ControlStyle         = MPMovieControlStyle.None;
            videoPlayer.ScalingMode          = MPMovieScalingMode.AspectFill;
            videoPlayer.RepeatMode           = Element.Loop ? MPMovieRepeatMode.One : MPMovieRepeatMode.None;
            videoPlayer.View.BackgroundColor = UIColor.Clear;
            foreach (UIView subView in videoPlayer.View.Subviews)
            {
                subView.BackgroundColor = UIColor.Clear;
            }

            videoPlayer.PrepareToPlay();
            SetNativeControl(videoPlayer.View);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Perform any additional setup after loading the view, typically from a nib.
            moviePlayer             = new MPMoviePlayerController(NSUrl.FromString("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")); // Use FromString() to play video directly from web.
            moviePlayer.View.Frame  = new CGRect(0, 20, View.Frame.Size.Width, 180);                                                      // size of the video frame
            moviePlayer.ScalingMode = MPMovieScalingMode.AspectFit;                                                                       // show the video relative to the video size dimensions
            moviePlayer.PrepareToPlay();
            moviePlayer.Play();
            View.Add(moviePlayer.View);              // add the view after video starts playing to display it

            // UILabel
            label      = new UILabel(new CGRect(0, 200, View.Frame.Size.Width, 50));
            label.Text = "Tutorial";
            label.Font.WithSize(36);
            View.Add(label.ViewForBaselineLayout);

            // UITextView
            textView                             = new UITextView();
            textView.Editable                    = false;
            textView.ScrollEnabled               = true;
            textView.UserInteractionEnabled      = true;
            textView.ViewForBaselineLayout.Frame = new CGRect(0, 250, View.Frame.Size.Width, View.Frame.Size.Height * 3);
            textView.Text                        = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. [shorten text for this post] "; // shorten text for this post
            View.Add(textView);
        }
        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);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            RefreshControl.ValueChanged += (sender, e) => Task.Run(async() => await Refresh());
            CollectionView.AddSubview(RefreshControl);
            var deletate = new CustomFlowLayoutDelegate();

            deletate.ItemClick += async(sender, e) =>
            {
                var item = await Detail.GetVideo(ID, List[e.Index].Set, LanguageHelper.PrefLang);

                var picker = new UIPickerView();
                var model  = new QualityPickerViewModel(item);
                model.ItemClick += (s2, e2) =>
                {
                    View.WillRemoveSubview(picker);
                    if (moviePlayer == null)
                    {
                        moviePlayer = new MPMoviePlayerController();
                        View.AddSubview(moviePlayer.View);
                        moviePlayer.ShouldAutoplay = true;
                    }
                    moviePlayer.ContentUrl = NSUrl.FromString(item.ToDictionary().Values.ToArray()[e2.Index]);
                    moviePlayer.SetFullscreen(true, false);
                    moviePlayer.PrepareToPlay();
                    moviePlayer.Play();
                };
                View.AddSubview(picker);
                picker.Hidden = false;
            };
            CollectionView.Delegate = deletate;
            CollectionView.RegisterClassForCell(typeof(DetailCell), _detailCellId);
            CollectionView.ContentInset = new UIEdgeInsets(4, 4, 4, 4);
            Task.Run(async() => await Refresh());
        }
Beispiel #13
0
        public static bool TryGenerateVideoThumbnail(string localFile, CGSize size, out UIImage image)
        {
            image = null;
            try {
                const float secondToGet = 1.0f;

                using (var player = new MPMoviePlayerController(NSUrl.FromFilename(localFile))) {
                    image = player.ThumbnailImageAt(
                        secondToGet,
                        MPMovieTimeOption.NearestKeyFrame
                        );

                    image = UIImageExtensions.ResizeAndDispose(image,
                                                               size,
                                                               ResizeMethod.AspectFill,
                                                               ResizeAlignment.CenterCenter
                                                               );
                    player.Stop();
                }
            } catch {
                return(false);
            }

            return(true);
        }
Beispiel #14
0
        public void PlayVideo(string videoName)
        {
            var moviePlayer = new MPMoviePlayerController(NSUrl.FromFilename(videoName));

            NavigationContext.View.AddSubview(moviePlayer.View);
            moviePlayer.SetFullscreen(true, true);
            moviePlayer.Play();
        }
 void playMedia()
 {
     moviePlayer = new MPMoviePlayerController(NSUrl.FromString(url));
     View.AddSubview(moviePlayer.View);
     moviePlayer.View.Frame = View.Frame;
     moviePlayer.SetFullscreen(true, true);
     moviePlayer.PrepareToPlay();
     moviePlayer.Play();
 }
        public void PreparePrerollAds_New()
        {
            if (!UIDevice.CurrentDevice.CheckSystemVersion(7, 0))
            {
                Assert.Inconclusive("Requires 7.0+");
            }

            MPMoviePlayerController.PrepareForPrerollAds();
        }
Beispiel #17
0
        protected override void Dispose(bool disposing)
        {
            // Dispose all components
            _controller?.Stop();
            _controller?.Dispose();
            _controller = null;

            base.Dispose(disposing);
        }
		public void PlayVideo (string path)
		{
			MPMoviePlayerController moviePlayer; 
			moviePlayer = new MPMoviePlayerController (NSUrl.FromFilename (path));
			UIApplication.SharedApplication.KeyWindow.RootViewController.Add( moviePlayer.View );
			moviePlayer.ShouldAutoplay = true;
			moviePlayer.SetFullscreen (true,true);
			moviePlayer.Play ();
		}
Beispiel #19
0
        partial void UIButton3_TouchUpInside(UIButton sender)
        {
            //Video File
            string videoFile = "Video.mp4";
            MPMoviePlayerController player = new MPMoviePlayerController(NSUrl.FromFilename(videoFile));

            View.AddSubview(player.View);
            player.SetFullscreen(true, true);
            player.Play();
        }
 public override void ViewDidLoad()
 {
     base.ViewDidLoad();
     moviePlayer            = new MPMoviePlayerController(new NSUrl("http://ia600507.us.archive.org/25/items/Cartoontheater1930sAnd1950s1/PigsInAPolka1943.mp4"));
     moviePlayer.View.Frame = new System.Drawing.RectangleF(0, 0, View.Bounds.Width, 100);
     //this.AddChildViewController(moviePlayer);
     View.AddSubview(moviePlayer.View);
     moviePlayer.SetFullscreen(true, true);
     moviePlayer.Play();
 }
Beispiel #21
0
 public override void ViewDidLoad()
 {
     base.ViewDidLoad ();
     moviePlayer = new MPMoviePlayerController (new NSUrl ("http://ia600507.us.archive.org/25/items/Cartoontheater1930sAnd1950s1/PigsInAPolka1943.mp4"));
     moviePlayer.View.Frame = new System.Drawing.RectangleF(0,0,View.Bounds.Width, 100);
     //this.AddChildViewController(moviePlayer);
     View.AddSubview (moviePlayer.View);
     moviePlayer.SetFullscreen (true, true);
     moviePlayer.Play ();
 }
Beispiel #22
0
        private void InitVideoView()
        {
            moviePlayer                  = new MPMoviePlayerController(NSUrl.FromFilename("Videos/SplashVideo.mp4"));
            moviePlayer.View.Frame       = this.view_video.Frame;
            moviePlayer.ScalingMode      = MPMovieScalingMode.AspectFill;
            moviePlayer.ControlStyle     = MPMovieControlStyle.None;
            moviePlayer.MovieControlMode = MPMovieControlMode.Hidden;
            moviePlayer.RepeatMode       = MPMovieRepeatMode.One;

            this.view_video.Add(moviePlayer.View);
        }
Beispiel #23
0
        public override void CreateView()
        {
            _moviePlayer = new MPMoviePlayerController();
            _view        = _moviePlayer.View;

            SetContentUrl();

            if (AutoPlay)
            {
                Play();
            }
        }
Beispiel #24
0
        public void PreparePrerollAds_New()
        {
            TestRuntime.AssertSystemVersion(PlatformName.iOS, 7, 0);

            // NSInvalidArgumentException +[MPMoviePlayerController preparePrerollAds]: unrecognized selector sent to class 0x109c46b48
            if (TestRuntime.CheckSystemVersion(PlatformName.iOS, 10, 0))
            {
                Assert.Ignore("Broken on iOS 10 beta 3");
            }

            MPMoviePlayerController.PrepareForPrerollAds();
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            playMovie.TouchUpInside += delegate {
                moviePlayer = new MPMoviePlayerController (NSUrl.FromFilename ("sample.m4v"));

                View.AddSubview (moviePlayer.View);
                moviePlayer.SetFullscreen (true, true);
                moviePlayer.Play ();
            };
        }
Beispiel #26
0
        public MPMoviePlayerController MoviePlayer; //the video player

        /// <summary>
        /// Initializes a new instance of the <see cref="T:JustButtons.VideoPlayer"/> class.
        /// Set the movie player properties and events
        /// </summary>
        public VideoPlayer()
        {
            MoviePlayer = new MPMoviePlayerController();
            MoviePlayer.ControlStyle         = MPMovieControlStyle.Fullscreen;
            MoviePlayer.ShouldAutoplay       = true;
            MoviePlayer.View.BackgroundColor = UIColor.Clear;          //???
            MoviePlayer.View.Frame           = new CGRect(0, 0, 0, 0); // size 0 because full screen only

            //events = video finished or user clicked done = stops the vid
            NSNotificationCenter.DefaultCenter.AddObserver(MPMoviePlayerController.PlaybackDidFinishNotification, VideoFinished);
            NSNotificationCenter.DefaultCenter.AddObserver(MPMoviePlayerController.DidExitFullscreenNotification, VideoFinished);
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();


            playMovie.TouchUpInside += delegate {
                moviePlayer = new MPMoviePlayerController(NSUrl.FromFilename("sample.m4v"));

                View.AddSubview(moviePlayer.View);
                moviePlayer.SetFullscreen(true, true);
                moviePlayer.Play();
            };
        }
Beispiel #28
0
        public override bool Stop()
        {
            if (playerController != null && this.State != MediaState.Stopped)
            {
                // Stop Playing.
                playerController.Stop();
                playerController  = null;
                this.CurrentMedia = null;
                this.State        = MediaState.Stopped;
            }

            return(true);
        }
Beispiel #29
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            moviePlayer = new MPMoviePlayerController (NSUrl.FromFilename ("sample.m4v"));
            moviePlayer.View.Frame = View.Bounds;
            moviePlayer.View.AutoresizingMask = UIViewAutoresizing.All;
            moviePlayer.ShouldAutoplay = true;
            moviePlayer.ControlStyle = MPMovieControlStyle.Default;

            moviePlayer.AllowsAirPlay = true; // AirPlay button will appear in controls

            View.AddSubview (moviePlayer.View);
        }
Beispiel #30
0
        private void ShowMediaPlayer(object url)
        {
            NSUrl nsUrl = (NSUrl)url;

            UIApplication.SharedApplication.InvokeOnMainThread(delegate {
                AppverseMoviePlayerViewController vcMediaPlayer = new AppverseMoviePlayerViewController(nsUrl);
                this.playerController = vcMediaPlayer.MoviePlayer;
                this.CurrentMedia     = GetMetadataFromUrl(nsUrl);
                this.State            = MediaState.Playing;

                IPhoneServiceLocator.CurrentDelegate.MainUIViewController().PresentMoviePlayerViewController(vcMediaPlayer);
                IPhoneServiceLocator.CurrentDelegate.SetMainUIViewControllerAsTopController(false);
            });
        }
Beispiel #31
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = "Video";

            btnPlay.TouchUpInside += (object sender, EventArgs e) => {
                moviePlayer = new MPMoviePlayerController(NSUrl.FromFilename("sample_iPod.m4v"));

                View.AddSubview(moviePlayer.View);
                moviePlayer.SetFullscreen(true, true);
                moviePlayer.Play();
            };
        }
Beispiel #32
0
        public void PreparePrerollAds_New()
        {
            if (!UIDevice.CurrentDevice.CheckSystemVersion(7, 0))
            {
                Assert.Inconclusive("Requires 7.0+");
            }

            // NSInvalidArgumentException +[MPMoviePlayerController preparePrerollAds]: unrecognized selector sent to class 0x109c46b48
            if (UIDevice.CurrentDevice.CheckSystemVersion(10, 0))
            {
                Assert.Ignore("Broken on iOS 10 beta 3");
            }

            MPMoviePlayerController.PrepareForPrerollAds();
        }
Beispiel #33
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 #34
0
        private void CreateControls()
        {
            MoviePlayerController = new MPMoviePlayerController
            {
                AllowsAirPlay   = false,
                ScalingMode     = MPMovieScalingMode.AspectFit,
                ControlStyle    = MPMovieControlStyle.Embedded,
                ShouldAutoplay  = false,
                BackgroundColor = UIColor.Black
            };

            MovieView = MoviePlayerController.View;
            MovieView.TranslatesAutoresizingMaskIntoConstraints = false;
            MovieView.Hidden = true;

            Add(MovieView);

            var collectionFlowLayout = new UICollectionViewFlowLayout
            {
                MinimumInteritemSpacing = 1,
                MinimumLineSpacing      = 1,
                ItemSize            = CellSize,
                HeaderReferenceSize = new CGSize(0, 0),
                FooterReferenceSize = new CGSize(0, 0),
                SectionInset        = new UIEdgeInsets(0, 0, 0, 0)
            };

            CollectionView = new UICollectionView(
                new CGRect(0, 450, 400, 150), collectionFlowLayout)
            {
                AccessibilityLabel = "CollectionView",
                TranslatesAutoresizingMaskIntoConstraints = false,
                BackgroundColor = Configuration.BackgroundColor
            };

            Add(CollectionView);

            ImageCropView = new ImageCropView
            {
                AccessibilityLabel = "ImageCropView",
                TranslatesAutoresizingMaskIntoConstraints = false,
                BackgroundColor = Configuration.BackgroundColor
            };

            Add(ImageCropView);

            BackgroundColor = Configuration.BackgroundColor;
        }
Beispiel #35
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            moviePlayer                       = new MPMoviePlayerController(NSUrl.FromFilename("sample.m4v"));
            moviePlayer.View.Frame            = View.Bounds;
            moviePlayer.View.AutoresizingMask = UIViewAutoresizing.All;
            moviePlayer.ShouldAutoplay        = true;
            moviePlayer.ControlStyle          = MPMovieControlStyle.Default;


            moviePlayer.AllowsAirPlay = true;             // AirPlay button will appear in controls


            View.AddSubview(moviePlayer.View);
        }
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            var page = e.NewElement as DownloadViewer;
            var fileItem = page.FileItem;

            UIWindow window = UIApplication.SharedApplication.KeyWindow;
            var rootController = window.RootViewController.ChildViewControllers [0].ChildViewControllers [3].TabBarController;
            rootController.TabBar.Hidden = true;

            //var url = new NSUrl.FromFilename (new Uri (fileItem.FilePath).ToString ());
            moviePlayer = new MPMoviePlayerController();
            var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
            var directoryname = Path.Combine (documents, "Downloads");
            var path = Path.Combine (directoryname, fileItem.FilePath);

            moviePlayer.ContentUrl = NSUrl.FromFilename (path);

            screenWidth = (int)UIScreen.MainScreen.Bounds.Width;
            screenHeight = (int)UIScreen.MainScreen.Bounds.Height;

            //moviePlayer.View.Frame = new CGRect(0,(NativeView.Bounds.Height - 300)/2,NativeView.Bounds.Width,300);
            moviePlayer.View.Frame = new CGRect(0, 0, screenWidth, screenHeight);

            MPMoviePlayerController.Notifications.ObserveLoadStateDidChange(OnLoadStateChanged);
            MPMoviePlayerController.Notifications.ObservePlaybackDidFinish(OnPlaybackComplete);

            var overlayView = moviePlayer.View;
            View.AddSubview(overlayView);
            //View.AddSubview(moviePlayer.View);
            List<NSLayoutConstraint> constraints = new List<NSLayoutConstraint>();
            constraints.Add (NSLayoutConstraint.Create (View, NSLayoutAttribute.Top, NSLayoutRelation.Equal, overlayView, NSLayoutAttribute.Top, 1f, 0));
            constraints.Add (NSLayoutConstraint.Create (View, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, overlayView, NSLayoutAttribute.Bottom, 1f, -0));
            constraints.Add (NSLayoutConstraint.Create (View, NSLayoutAttribute.Left, NSLayoutRelation.Equal, overlayView, NSLayoutAttribute.Left, 1f, 0));
            constraints.Add (NSLayoutConstraint.Create (View, NSLayoutAttribute.Right, NSLayoutRelation.Equal, overlayView, NSLayoutAttribute.Right, 1f, -0));

            View.AddConstraints (constraints.ToArray ());

            moviePlayer.PrepareToPlay();
            moviePlayer.ShouldAutoplay = true;
            moviePlayer.SetFullscreen (true, true);
            moviePlayer.ControlStyle = MPMovieControlStyle.Fullscreen;
            moviePlayer.Play();
        }
        public UIVideoView(string uriSource, CGRect frame)
        {
            this.AutoresizingMask = UIViewAutoresizing.All;
            this.ContentMode      = UIViewContentMode.ScaleToFill;

            _moviePlayer = new MPMoviePlayerController(NSUrl.FromString(uriSource));
            _moviePlayer.View.ContentMode      = UIViewContentMode.ScaleToFill;
            _moviePlayer.View.AutoresizingMask = UIViewAutoresizing.All;
            _moviePlayer.RepeatMode            = MPMovieRepeatMode.One;
            _moviePlayer.ControlStyle          = MPMovieControlStyle.Default;
            _moviePlayer.ScalingMode           = MPMovieScalingMode.AspectFit;
            _moviePlayer.MovieControlMode      = MPMovieControlMode.Default;
            this.Frame = _moviePlayer.View.Frame = frame;
            Add(_moviePlayer.View);
            _moviePlayer.SetFullscreen(true, true);
            _moviePlayer.Play();
            _isPlaying = true;
        }
Beispiel #38
0
        public void InitAndPlayMovie(NSUrl url)
        {
            if (url == null){
                Console.WriteLine ("The url was null");
                return;
            }

            // MPMoviePlayerController is a weird singleton class, and if we let the GC collect the object
            // it causes unexpected behaviours, as such we explicitly dispose our previous instance if we
            // have one
            if (moviePlayer != null) {
                moviePlayer.Dispose ();
                moviePlayer = null;
            }
            moviePlayer = new MPMoviePlayerController (url);
            SetMoviePlayerUserSettings ();
            moviePlayer.Play ();
        }
        void HandleMediaFileSelected(object sender, FileSelectedEventArgs args)
        {
            NavigationController.PopToViewController(this, true);

            try {
                var player = new MPMoviePlayerController(NSUrl.FromFilename(args.File))
                {
                    AllowsAirPlay = true
                };

                View.AddSubview(player.View);
                player.SetFullscreen(true, true);
                player.PrepareToPlay();
                player.Play();
            } catch (Exception ex) {
                string message = string.Format("Error during playback of {0}: {1}", Path.GetFileName(args.File), ErrorHandling.GetExceptionDetailedText(ex));
                LogMessage(message);
            }
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            if (media.Type == "Image")
            {
                this.View.Add(this.autoResizingImage);
                this.View.BackgroundColor = UIColor.White;
                this.Title = "Image";
            }
            else
            {
                this.Title = "Video";
                try
                {
                    var nsurl = NSUrl.FromFilename((Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/" + media.URL));
                    //Set already instantiated MPMoviePlayerController to playback from Movies/file.m4v
                    moviePlayer = new MPMoviePlayerController(nsurl);

                    //enable AirPlay
                    moviePlayer.AllowsAirPlay = true;

                    //Add the MPMoviePlayerController View
                    this.View.AddSubview(moviePlayer.View);

                    //set the view to be full screen and show animated
                    moviePlayer.SetFullscreen(false, true);

                    //Disable the pinch-to-zoom gesture
                    moviePlayer.ControlStyle = MPMovieControlStyle.Embedded;

                    //MPMoviePlayer must be set to PrepareToPlay before playback
                    moviePlayer.PrepareToPlay();

                    //Play Movie
                    moviePlayer.Play();
                }
                catch
                {
                    Console.WriteLine("There was a problem playing back Video");
                }
            }
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			
			//any additional setup after loading the view, typically from a nib.
			//_someView = new UIView();
			//_someView.Frame = window.Bounds;        
			_moviePlayer = new MPMoviePlayerController (new NSUrl (_video.Url));
			_moviePlayer.View.Frame = this.View.Frame;
			//_moviePlayer.ControlStyle = MPMovieControlStyle.Embedded;
			//_moviePlayer.Title = _video.Title;
			
			this.View.AddSubview (_moviePlayer.View);  
			_moviePlayer.ScalingMode = MPMovieScalingMode.AspectFit;
			_moviePlayer.Fullscreen = true;
			_moviePlayer.ControlStyle = MPMovieControlStyle.Fullscreen;
			//this.PresentMoviePlayerViewController (_moviePlayer);
			//window.AddSubview(_someView);          
			_moviePlayer.Play ();           
			//window.MakeKeyAndVisible ();
		}
        public override void ViewDidLoad()
        {

            base.ViewDidLoad();

            //Button Events
            playMovieButton.TouchUpInside += delegate
            {

                try
                {
                    //Set already instantiated MPMoviePlayerController to playback from Movies/file.m4v
                    mp = new MPMoviePlayerController(NSUrl.FromFilename("Movies/file.m4v"));

                    //enable AirPlay
                    mp.AllowsAirPlay = true;

                    //Add the MPMoviePlayerController View
                    this.View.AddSubview(mp.View);

                    //set the view to be full screen and show animated
                    mp.SetFullscreen(true, true);

                    //Disable the pinch-to-zoom gesture
                    mp.ControlStyle = MPMovieControlStyle.Fullscreen;

                    //MPMoviePlayer must be set to PrepareToPlay before playback
                    mp.PrepareToPlay();

                    //Play Movie
                    mp.Play();
                }
                catch
                {
                    Console.WriteLine("There was a problem playing back Video");
                }

            };

        }
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
            View.BackgroundColor = UIColor.Black;
            var page = e.NewElement as VideoView;
            var fileItem = page.FileItem;

            UIWindow window = UIApplication.SharedApplication.KeyWindow;
            rootController = window.RootViewController.ChildViewControllers [0].ChildViewControllers [1].TabBarController;
            rootController.TabBar.Hidden = true;

            moviePlayer = new MPMoviePlayerController();
            if (fileItem.FilePath.StartsWith ("http")) {
                var url =  new NSUrl(fileItem.FilePath);
                moviePlayer.ContentUrl = url;
            } else {
                var documents = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
                var directoryname = Path.Combine (documents, "Downloads");
                var path = Path.Combine (directoryname, fileItem.FilePath);

                moviePlayer.ContentUrl = NSUrl.FromFilename (path);
            }
            //moviePlayer.View.Frame = new CGRect((float)((NativeView.Bounds.Width - 600) / 2), (float)((NativeView.Bounds.Height - 450) / 2), 600, 400);
            screenWidth = (int)UIScreen.MainScreen.Bounds.Width;
            screenHeight = (int)UIScreen.MainScreen.Bounds.Height;
            moviePlayer.View.Frame = new CGRect(0, 0, screenWidth, screenHeight);

            MPMoviePlayerController.Notifications.ObserveLoadStateDidChange(OnLoadStateChanged);
            MPMoviePlayerController.Notifications.ObservePlaybackDidFinish(OnPlaybackComplete);

            View.AddSubview(moviePlayer.View);

            moviePlayer.PrepareToPlay();
            moviePlayer.ShouldAutoplay = true;
            //moviePlayer.SetFullscreen (true, true);
            moviePlayer.ControlStyle = MPMovieControlStyle.Fullscreen;
            moviePlayer.Play();
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			// Perform any additional setup after loading the view, typically from a nib.
			if (this.recordUrl != null) {
				this.loadingView = new TCLoadingOverlay (this, true, false);
				this.loadingView.build ();

				this.loadingView.show ();
				NSNotificationCenter.DefaultCenter.AddObserver (MPMoviePlayerController.PlaybackStateDidChangeNotification, beginPlayTalkReplay);

				this.recordUrl = MUtils.getURLFromServer (this.recordUrl);

				this.player = new MPMoviePlayerController (new NSUrl (this.recordUrl));
				this.player.View.Frame = new CoreGraphics.CGRect (0.0f, 0.0f, this.viewPlay.Frame.Width, this.viewPlay.Frame.Height);
				this.player.ScalingMode = MPMovieScalingMode.None;
				this.player.View.BackgroundColor = TCTheme.getInstance.getThemeColor (Theme.BackgroundBody);
				this.player.ControlStyle = MPMovieControlStyle.Default;
				this.player.BackgroundView.BackgroundColor = TCTheme.getInstance.getThemeColor (Theme.BackgroundBody);
				this.viewPlay.AddSubview (player.View);
				this.player.Play ();
			}
		}
		void HandleMediaFileSelected (object sender, FileSelectedEventArgs args)
		{
			NavigationController.PopToViewController (this,true);

			try {
				var player = new MPMoviePlayerController(NSUrl.FromFilename(args.File)) {
					AllowsAirPlay = true
				};

				View.AddSubview (player.View);
				player.SetFullscreen (true, true);
				player.PrepareToPlay ();
				player.Play ();
			} catch (Exception ex) {
				string message = string.Format ("Error during playback of {0}: {1}", Path.GetFileName(args.File), ErrorHandling.GetExceptionDetailedText(ex) );
				LogMessage (message);
			}
		}
Beispiel #46
0
 public override void ViewWillDisappear(bool animated)
 {
     base.ViewDidDisappear(animated);
     _player.Dispose();
     _player = null;
 }
Beispiel #47
0
        public override void WillMoveToSuperview(UIView newsuper)
        {
            if (newsuper == null)
                return;
            this.BackgroundColor = UIColor.Black;
            lblLoading= new UILabel(new RectangleF(20,20,100,100));
            lblLoading.BackgroundColor = UIColor.Clear;
            lblLoading.Text = "Loading";
            lblLoading.TextColor = UIColor.White;
            lblLoading.Font = UIFont.FromName ("Helvetica", 17f);
            this.AddSubview(lblLoading);
            notificationObserver  = NSNotificationCenter.DefaultCenter
                    .AddObserver("MPMoviePlayerPlaybackDidFinishNotification", WillExitFullScreen );
            mp = new MPMoviePlayerController (MovieUrl);
            mp.ControlStyle = MPMovieControlStyle.Fullscreen;
            mp.View.Frame = this.Bounds;
            mp.SetFullscreen(true,true);
            this.AddSubview(mp.View);

            mp.Play();
        }
Beispiel #48
0
        private void OpenFile(string filePath, DataItem item)
        {
            var sbounds = UIScreen.MainScreen.Bounds;
            string ext = UrlHelper.GetExtension(filePath);

            if (ext.ToUpper () == ".MOV" || ext.ToUpper () == ".M4V") {
                var movieController = new AdvancedUIViewController ();
                moviePlayer = new MPMoviePlayerController (NSUrl.FromFilename (filePath));
                moviePlayer.View.Frame = new RectangleF (
                    sbounds.X,
                    sbounds.Y - 20,
                    sbounds.Width,
                    sbounds.Height - 30
                    );
                moviePlayer.ControlStyle = MPMovieControlStyle.Fullscreen;
                moviePlayer.View.AutoresizingMask = (UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight);
                moviePlayer.ShouldAutoplay = true;
                moviePlayer.PrepareToPlay ();
                moviePlayer.Play ();

                var btnClose = UIButton.FromType (UIButtonType.RoundedRect);
                btnClose.Frame = new RectangleF (3, 7, 60, 30);
                btnClose.SetTitle ("Close", UIControlState.Normal);
                btnClose.SetTitleColor (UIColor.Black, UIControlState.Normal);
                btnClose.TouchDown += delegate {
                    movieController.DismissModalViewControllerAnimated (true);
                };

                var btnShare = UIButton.FromType (UIButtonType.RoundedRect);
                btnShare.Frame = new RectangleF (
                    (sbounds.Width / 2) - 50,
                    sbounds.Height - 50,
                    100,
                    30
                    );
                btnShare.SetTitle ("Share", UIControlState.Normal);
                btnShare.SetTitleColor (UIColor.Black, UIControlState.Normal);
                btnShare.TouchDown += delegate {
                    ResharedItem = item;
                    ResharedItemType = FileType.Video;
                    ShowSecretsView();
                };

                movieController.View.AddSubview (moviePlayer.View);
                movieController.View.AddSubview (btnClose);
                movieController.View.AddSubview (btnShare);
                navigation.PresentModalViewController (movieController, true);
            }  else if (ext.ToUpper () == ".JPEG" || ext.ToUpper () == ".JPG" || ext.ToUpper () == ".PNG") {
                ALAssetsLibrary library = new ALAssetsLibrary ();
                library.AssetForUrl (new NSUrl (filePath),
                  (asset) => {
                    if (asset != null) {
                        var imageController = new AdvancedUIViewController ();
                        var image = UIImage.FromImage (asset.DefaultRepresentation.GetFullScreenImage ());
                        var imageView = new UIImageView (image);
                        imageView.Frame = sbounds;
                        imageView.UserInteractionEnabled = true;
                        imageView.ClipsToBounds = true;
                        imageView.ContentMode = UIViewContentMode.ScaleAspectFit;

                        var btnClose = UIButton.FromType (UIButtonType.RoundedRect);
                        btnClose.Frame = new RectangleF (
                            (sbounds.Width / 2) - 50,
                            20,
                            100,
                            30
                            );
                        btnClose.SetTitle ("Close", UIControlState.Normal);
                        btnClose.SetTitleColor (UIColor.Black, UIControlState.Normal);
                        btnClose.TouchDown += delegate {
                            imageController.DismissModalViewControllerAnimated (true);
                        };

                        var btnShare = UIButton.FromType (UIButtonType.RoundedRect);
                        btnShare.Frame = new RectangleF (
                            (sbounds.Width / 2) - 50,
                            sbounds.Height - 60,
                            100,
                            30
                            );
                        btnShare.SetTitle ("Share", UIControlState.Normal);
                        btnShare.SetTitleColor (UIColor.Black, UIControlState.Normal);
                        btnShare.TouchDown += delegate {
                            ResharedItem = item;
                            ResharedItemType = FileType.Photo;
                            ShowSecretsView();
                        };

                        var scrollView = new UIScrollView (sbounds);
                        scrollView.ClipsToBounds = true;
                        scrollView.ContentSize = sbounds.Size;
                        scrollView.BackgroundColor = UIColor.Gray;
                        scrollView.MinimumZoomScale = 1.0f;
                        scrollView.MaximumZoomScale = 3.0f;
                        scrollView.MultipleTouchEnabled = true;
                        scrollView.AutoresizingMask = (UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight);
                        scrollView.ViewForZoomingInScrollView = delegate(UIScrollView sv) {
                            return imageView;
                        };

                        scrollView.AddSubview (imageView);
                        imageController.View.AddSubview (scrollView);
                        imageController.View.AddSubview (btnClose);
                        imageController.View.AddSubview (btnShare);
                        navigation.PresentModalViewController (imageController, true);
                    } else {
                        Console.Out.WriteLine ("Asset is null.");
                    }
                },
                (error) => {
                    if (error != null) {
                        Console.Out.WriteLine ("Error: " + error.LocalizedDescription);
                    }
                }
                );
            }  else {
                var btnShare = UIButton.FromType (UIButtonType.RoundedRect);
                btnShare.Frame = new RectangleF (
                    (sbounds.Width / 2) - 50,
                    sbounds.Height - 50,
                    100,
                    30
                    );
                btnShare.SetTitle ("Share", UIControlState.Normal);
                btnShare.SetTitleColor (UIColor.Black, UIControlState.Normal);
                btnShare.Tag = SHARE_BUTTON_TAG;
                btnShare.TouchDown += delegate {
                    ResharedItem = item;
                    ResharedItemType = FileType.Other;
                    ShowSecretsView();
                };

                navigation.Add(btnShare);
                interactionControllerDelegate = new  UIDocumentInteractionControllerDelegateClass(navigation);
                interactionController = UIDocumentInteractionController.FromUrl(NSUrl.FromFilename(filePath));
                interactionController.Delegate = interactionControllerDelegate;
                InvokeOnMainThread(delegate {
                    interactionController.PresentPreview(true);
                });
            }
        }
Beispiel #49
0
        private void ShowMediaPlayer(object url)
        {
            NSUrl nsUrl = (NSUrl) url;

            UIApplication.SharedApplication.InvokeOnMainThread (delegate {
                AppverseMoviePlayerViewController vcMediaPlayer = new AppverseMoviePlayerViewController(nsUrl);
                this.playerController = vcMediaPlayer.MoviePlayer;
                this.CurrentMedia = GetMetadataFromUrl(nsUrl);
                this.State = MediaState.Playing;

                IPhoneServiceLocator.CurrentDelegate.MainUIViewController ().PresentMoviePlayerViewController(vcMediaPlayer);
                IPhoneServiceLocator.CurrentDelegate.SetMainUIViewControllerAsTopController(false);
            });
        }
Beispiel #50
0
        public override bool Stop()
        {
            if(playerController != null && this.State != MediaState.Stopped) {
                // Stop Playing.
                playerController.Stop();
                playerController = null;
                this.CurrentMedia = null;
                this.State = MediaState.Stopped;
            }

            return true;
        }
Beispiel #51
0
        // This method is invoked when the application has loaded its UI and its ready to run
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            // If you have defined a view, add it here:
            // window.AddSubview (navigationController.View);
            //var version = NSBundle.MainBundle.InfoDictionary.ObjectForKey(new NSString("CFBundleName")).ToString();
            AppRater.AppLaunched("myappid");
            var launcher = new NavLauncher ();
            launcher.Pages = new List<NavPage>(){
                new NavPage(3,3)
                {
                    Icons = new List<NavIcon>{
                        new NavIcon()
                        {
                            Image = Images.Contacts,
                            Title = "Test Label",
                            NotificationCount = 10,
                            ModalView = delegate() {
                                return new TestView(new RectangleF(100,100,100,100),"Label Text"); },
                        },
                        new NavIcon()
                        {
                            Image = Images.Favorites,
                            Title = "Stack Panel",
                            ModalView = delegate()
                            {
                                return new 	StackPanelView(this.window.Frame );
                            }
                        },
                        new NavIcon()
                        {
                            Image = Images.History,
                            Title = "Calendar",
                            ModalView = delegate() {return new CalendarView();}
                        },
                        new NavIcon()
                        {
                            Image = Images.Most,
                            Title = "MT.D",
                            ModalView = delegate()
                            {
                                return new DialogViewController(DemoElementApi());
                            }
                        },
                        new NavIcon()
                        {
                            Image = Images.Favorites,
                            Title = "Datagrid",
                            ModalView = delegate()
                            {
                                return new DataGrid(this.window.Frame);
                            }

                        },
                        new NavIcon()
                        {
                            Image = Images.Recent,
                            Title = "Play movie",
                            ModalView = delegate()
                            {
                                MPMoviePlayerController mp = new MPMoviePlayerController(new NSUrl("http://content.mp3tunes.com/storage/lockerplay/be266176d810daf35bdc2cc6469da98c/?sid=92ba9ce91039f0e2b1d46bbd3d0714cb&partner_token=1159283925"));
                                mp.ShouldAutoplay = true;
                                mp.Fullscreen = true;
                                return mp.View;
                                //moviePlayer.Play();
                                //return moviePlayer;

                            }
                        }
                    }
                },
                new NavPage(3,3)
                {
                    Icons = new List<NavIcon>{

                        new NavIcon()
                        {
                            Image = Images.Recent,
                            Title = "nothing"
                        },
                    }

                }

            };
            navigationController = new UINavigationController ();
            navigationController.PushViewController (launcher, false);
            window.AddSubview (navigationController.View);
            window.MakeKeyAndVisible ();

            return true;
        }
Beispiel #52
0
		public void BtnPlay_TouchUpInside(object sender,EventArgs e)
		{
			moviePlayer = new MPMoviePlayerController (NSUrl.FromFilename ("VID_20150904_123931.mp4"));
			moviePlayer.View.Frame = new CoreGraphics.CGRect (50, 50, 500, 700);
			this.View.AddSubview (moviePlayer.View);
			UIButton btnp = new UIButton (UIButtonType.System);
			btnp.Frame = new CoreGraphics.CGRect (580, 340, 90, 30);
			btnp.SetTitle ("Play", UIControlState.Normal);
			btnp.TouchUpInside += (send, ev) => {
				moviePlayer.Play ();
			};
			UIButton btnstop = new UIButton (UIButtonType.System);
			btnstop.Frame = new CoreGraphics.CGRect (680, 340, 90, 30);
			btnstop.SetTitle ("Stop", UIControlState.Normal);
			btnstop.TouchUpInside += (send, ev) => {
				moviePlayer.Stop ();
			};
			this.View.AddSubviews (btnp, btnstop);
		}