private void OnPlaybackInfoChanged(GlobalSystemMediaTransportControlsSession session, PlaybackInfoChangedEventArgs args = null) { if (CurrentSessions.ContainsKey(session)) { var info = session.GetPlaybackInfo(); var isPlaying = info.PlaybackStatus == GlobalSystemMediaTransportControlsSessionPlaybackStatus.Playing; var data = CurrentSessions[session]; if (data.IsPlaying != isPlaying) { data.IsPlaying = isPlaying; CurrentSessions[session] = data; UpdateCurrentSong(); } } }
private void OnPlaybackInfoChanged(GlobalSystemMediaTransportControlsSession session, PlaybackInfoChangedEventArgs args = null) { var props = session.GetPlaybackInfo(); if (props.PlaybackStatus == GlobalSystemMediaTransportControlsSessionPlaybackStatus.Closed) { session.PlaybackInfoChanged -= OnPlaybackInfoChanged; session.MediaPropertiesChanged -= OnSongChange; RemoveSession(this); } else { OnPlaybackStateChanged?.Invoke(this, props); } }
private async void PlaybackInfoChanged(GlobalSystemMediaTransportControlsSession sender, PlaybackInfoChangedEventArgs args) { await Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() => { UpdatePlaybackProperties(); })); }
private async void GSMTCSession_PlaybackInfoChanged(GlobalSystemMediaTransportControlsSession session, PlaybackInfoChangedEventArgs args) { await Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Render, new Action(() => { UpdatePlaybackInfo(session); })); }
private async void Session_PlaybackInfoChanged(GlobalSystemMediaTransportControlsSession sender, PlaybackInfoChangedEventArgs args) { var info = session.GetPlaybackInfo(); string status = "[PlaybackInfoChanged] PlaybackType: " + info.PlaybackType + ", Status: " + info.PlaybackStatus; Debug.WriteLine(status); await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Status.Text = status; }); }
private void OnPlaybackInfoChanged(MediaControlSession sender, PlaybackInfoChangedEventArgs args) { GlobalSystemMediaTransportControlsSessionPlaybackInfo playbackInfo = CurrentSession()?.GetPlaybackInfo(); PlaybackInfoChanged?.Invoke(sender, playbackInfo); }
private void SpotifySession_PlaybackInfoChanged(object sender, PlaybackInfoChangedEventArgs args) { HandleSpotifyStateChanged(); }
private void MainPage_PlaybackInfoChanged(GlobalSystemMediaTransportControlsSession sender, PlaybackInfoChangedEventArgs args) { WriteCurrentlyPlayingAsync(); }
private void GSMTCSession_PlaybackInfoChanged(GlobalSystemMediaTransportControlsSession session, PlaybackInfoChangedEventArgs args) { Application.Current.Dispatcher.Invoke(() => { UpdatePlaybackInfo(session); }); }