diff --git a/src/CommunityToolkit.Maui.MediaElement/Views/MauiMediaElement.windows.cs b/src/CommunityToolkit.Maui.MediaElement/Views/MauiMediaElement.windows.cs index 9a6d50ef5..9740c3344 100644 --- a/src/CommunityToolkit.Maui.MediaElement/Views/MauiMediaElement.windows.cs +++ b/src/CommunityToolkit.Maui.MediaElement/Views/MauiMediaElement.windows.cs @@ -139,7 +139,17 @@ protected virtual void Dispose(bool disposing) if (disposing) { + mediaPlayerElement.MediaPlayer.Pause(); + + if(mediaPlayerElement.MediaPlayer.Source is Windows.Media.Core.MediaSource mediaSource) + { + // Dispose the MediaSource to release the resources + // https://learn.microsoft.com/en-us/windows/uwp/audio-video-camera/play-audio-and-video-with-mediaplayer Shows how to dispose the MediaSource + mediaSource.Dispose(); + } + mediaPlayerElement.MediaPlayer.Source = null; mediaPlayerElement.MediaPlayer.Dispose(); + mediaPlayerElement.SetMediaPlayer(null); } isDisposed = true;