private void AfterClose() { try { _mediaSession?.Shutdown(); _mediaSession?.Dispose(); _callback?.Dispose(); } catch (SharpDXException) { } _mediaSession = null; _callback = null; }
private void ProcessPlayerClosed() { // The session finished to close, we have to dispose all related object. currentMusic = null; mediaSessionCallback.Dispose(); if (mediaSource != null) { mediaSource.Shutdown(); } if (mediaSession != null) { mediaSession.Shutdown(); } if (streamVolume != null) { streamVolume.Dispose(); } if (mediaSource != null) { mediaSource.Dispose(); } if (topology != null) { topology.Dispose(); } if (mediaSession != null) { mediaSession.Dispose(); } if (mediaInputByteStream != null) { mediaInputByteStream.Dispose(); } topology = null; streamVolume = null; mediaSession = null; mediaSource = null; mediaInputByteStream = null; mediaSessionCallback = null; isMusicPlayerReady = false; }