예제 #1
0
        public override void ViewDidDisappear(bool animated)
        {
            base.ViewDidDisappear(animated);

            // Kill media and tidy up
            if (_avplayer != null)
            {
                _avplayer.Pause();
                _avplayer.Dispose();
                _avplayer = null;
            }

            if (_avplayerController != null)
            {
                _avplayerController.RemoveFromParentViewController();
                _avplayerController.View.RemoveFromSuperview();
                _avplayerController.Dispose();
                _avplayerController = null;
            }
        }
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            if (player != null)
            {
                player.ReplaceCurrentItemWithPlayerItem(null);
            }
            player?.Dispose();
            playerItem?.Dispose();
            _playerViewController?.Dispose();
        }
예제 #3
0
        private void DisposeChildren()
        {
            player?.Pause();

            playerController?.RemoveFromParentViewController();
            playerController?.Dispose();
            playerController = null;

            player?.Dispose();
            playerItem?.Dispose();

            player = null;

            playerItem = null;
        }