private async Task RegisterSpotifyMediaSession(bool unmute) { if (SessionManager == null) { SessionManager = await GlobalSystemMediaTransportControlsSessionManager.RequestAsync(); } List <GlobalSystemMediaTransportControlsSession> sessions = new List <GlobalSystemMediaTransportControlsSession>(); sessions.Add(SessionManager.GetCurrentSession()); sessions.AddRange(SessionManager.GetSessions()); foreach (GlobalSystemMediaTransportControlsSession session in sessions) { if (session != null && session.SourceAppUserModelId == "Spotify.exe") { Debug.WriteLine("Registering " + session.GetHashCode()); if (unmute) { AudioUtils.SetSpotifyMute(false); } SpotifyMediaSession = session; SpotifyMediaSession.MediaPropertiesChanged += async(s, args) => { await UpdateMediaInfo(); }; return; } } SpotifyMediaSession = null; }
/** * Mutes/Unmutes Spotify. * * i: false = unmute, true = mute **/ private void Mute(bool mute) { AudioUtils.SetSpotifyMute(mute); muted = mute; }