/// <summary> /// Called when [media ended]. /// </summary> /// <param name="sender">The sender.</param> /// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns> public Task OnMediaEnded(MediaEngine sender) { if (Parent == null) { return(Task.CompletedTask); } return(GuiContext.Current.EnqueueInvoke(async() => { await Parent.RaiseMediaEndedEvent(); switch (Parent.UnloadedBehavior) { case System.Windows.Controls.MediaState.Close: { await sender.Close(); break; } case System.Windows.Controls.MediaState.Play: { await sender.Stop().ContinueWith(async(t) => await sender.Play()); break; } case System.Windows.Controls.MediaState.Stop: { await sender.Stop(); break; } default: { break; } } })); }
/// <summary> /// Called when [media ended]. /// </summary> /// <param name="sender">The sender.</param> public void OnMediaEnded(object sender) { Control?.RaiseMediaEndedEvent(); }