public override void DisposePlayer()
 {
     _mediaElement.MediaOpened  -= MediaElement_MediaOpened;
     _mediaElement.MediaFailed  -= MediaElement_MediaFailed;
     _mediaElement.MediaEnded   -= MediaElement_MediaEnded;
     _mediaElement.MediaOpening -= MediaElement_MediaOpening;
     _mediaElement.Close();
     _mediaElement.Dispose();
 }
        public override void Dispose()
        {
            if (AdLinear)
            {
                UnloadLinear();
            }

            if (MediaElement != null)
            {
                MediaElement.MediaFailed          -= new EventHandler <ExceptionRoutedEventArgs>(OnAdPlayerMediaFailed);
                MediaElement.MediaEnded           -= new RoutedEventHandler(OnAdPlayerMediaEnded);
                MediaElement.MediaOpened          -= new RoutedEventHandler(OnAdPlayerMediaOpened);
                MediaElement.CurrentStateChanged  -= new RoutedEventHandler(OnAdPlayerCurrentStateChanged);
                MediaElement.SmoothStreamingSource = null;
                MediaElement.Dispose();
            }

            ActiveMediaPlugin = null;

            base.Dispose();
        }