private static void UnbindFromPlayer(VoiceMessagePlayer control) { // ISSUE: method pointer VoiceMessagePlayer.Player.MediaOpened -= (new RoutedEventHandler(control.OnMediaOpened)); // ISSUE: method pointer VoiceMessagePlayer.Player.MediaEnded -= (new RoutedEventHandler(control.OnMediaEnded)); VoiceMessagePlayer.Player.MediaFailed -= (new EventHandler <ExceptionRoutedEventArgs>(control.OnMediaFailed)); ((FrameworkElement)VoiceMessagePlayer.Player).Tag = null; }
public static void ResetPlayerData() { VoiceMessagePlayer tag = ((FrameworkElement)VoiceMessagePlayer.Player).Tag as VoiceMessagePlayer; if (tag == null) { return; } tag._timerPlayback.Stop(); tag.IsPlaying = false; Action resetCallback = tag.ResetCallback; if (resetCallback != null) { resetCallback(); } VoiceMessagePlayer.UnbindFromPlayer(tag); }
private void ResetPlayer() { VoiceMessagePlayer.ResetPlayerData(); this.BindToPlayer(); }