private void UnregisterNotifications() { sessions = null; if (audioSessionNotification != null && audioSessionInterface2 != null) { Marshal.ThrowExceptionForHR( audioSessionInterface2.UnregisterSessionNotification(audioSessionNotification)); audioSessionNotification = null; } }
/// <summary> /// Refresh session of current device. /// </summary> public void RefreshSessions() { UnregisterNotifications(); if (audioSessionInterface2 != null) { Marshal.ThrowExceptionForHR(audioSessionInterface2.GetSessionEnumerator(out var sessionEnum)); sessions = new SessionCollection(sessionEnum); audioSessionNotification = new AudioSessionNotification(this); Marshal.ThrowExceptionForHR(audioSessionInterface2.RegisterSessionNotification(audioSessionNotification)); } }
private void UnregisterNotifications() { if (sessions != null) sessions = null; if (audioSessionNotification != null) Marshal.ThrowExceptionForHR(audioSessionInterface2.UnregisterSessionNotification(audioSessionNotification)); }
/// <summary> /// Refresh session of current device. /// </summary> public void RefreshSessions() { UnregisterNotifications(); if (audioSessionInterface2 != null) { IAudioSessionEnumerator sessionEnum; Marshal.ThrowExceptionForHR(audioSessionInterface2.GetSessionEnumerator(out sessionEnum)); sessions = new SessionCollection(sessionEnum); audioSessionNotification = new AudioSessionNotification(this); Marshal.ThrowExceptionForHR(audioSessionInterface2.RegisterSessionNotification(audioSessionNotification)); } }