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(); }
private void DisposeChildren() { player?.Pause(); playerController?.RemoveFromParentViewController(); playerController?.Dispose(); playerController = null; player?.Dispose(); playerItem?.Dispose(); player = null; playerItem = null; }