예제 #1
0
 public void Open(string videoFileName)
 {
     _playerLoaded = false;
     if (_player != null)
     {
         try
         {
             _player.Pause();
             _player.Dispose();
             _player = null;
             foreach (var subView in View.VideoView.Subviews)
             {
                 subView.RemoveFromSuperview();
             }
             foreach (var subLayer in View.VideoView.Layer.Sublayers)
             {
                 subLayer.RemoveFromSuperLayer();
             }
             _playerLayer.Dispose();
             _playerItem.Dispose();
             _asset.Dispose();
         }
         catch
         {
         }
     }
     ShowPlayImage(false);
     _asset                = AVAsset.FromUrl(NSUrl.FromFilename(videoFileName));
     _playerItem           = new AVPlayerItem(_asset);
     _player               = new AVPlayer(_playerItem);
     _playerLayer          = AVPlayerLayer.FromPlayer(_player);
     _videoView            = new NSMyVideoView(new CoreGraphics.CGRect(0, 0, View.VideoView.Frame.Width, View.VideoView.Frame.Width), View.VideoView, _playerLayer);
     _videoView.WantsLayer = true;
     View.VideoView.AddSubview(_videoView);
     View.VideoView.WantsLayer = true;
     _playerLayer.Frame        = View.VideoView.Bounds;
     View.VideoView.Layer.AddSublayer(_playerLayer);
     _videoView.ResizeWithCorrectAspectRatio();
     _playerLoaded = true;
 }
        public void Open(string videoFileName)
        {
            _playerLoaded = false;
            if (_player != null)
            {
                try
                {
                    _player.Pause();
                    _player.Dispose();
                    _player = null;
                    foreach (var subView in View.VideoView.Subviews)
                    {
                        subView.RemoveFromSuperview();
                    }
                    foreach (var subLayer in View.VideoView.Layer.Sublayers)
                    {
                        subLayer.RemoveFromSuperLayer();
                    }
                    _playerLayer.Dispose();
                    _playerItem.Dispose();
                    _asset.Dispose();
                }
                catch
                {
                }
            }
            ShowPlayImage(false);
            _asset = AVAsset.FromUrl(NSUrl.FromFilename(videoFileName));
            _playerItem = new AVPlayerItem(_asset);
            _player = new AVPlayer(_playerItem);
            _playerLayer = AVPlayerLayer.FromPlayer(_player);
            _videoView = new NSMyVideoView(new CoreGraphics.CGRect(0, 0, View.VideoView.Frame.Width, View.VideoView.Frame.Width), View.VideoView, _playerLayer);
            _videoView.WantsLayer = true;
            View.VideoView.AddSubview(_videoView);
            View.VideoView.WantsLayer = true;
            _playerLayer.Frame = View.VideoView.Bounds;
            View.VideoView.Layer.AddSublayer(_playerLayer);
           _videoView.ResizeWithCorrectAspectRatio();
            _playerLoaded = true;

        }