private MediaState GetCurrentMediaState() { MediaStateMessage stateMsg = MediaPlayer.Instance.GetMediaState(); if (string.IsNullOrWhiteSpace(stateMsg.SongId)) { return(null); } Song song = MusicProvider.Instance.GetSong(stateMsg.SongId); Album album = MusicProvider.Instance.GetAlbum(song.AlbumId); Artist artist = MusicProvider.Instance.GetArtist(album.ArtistId); return(new MediaState() { SongId = song.Id, SongName = song.Name, AlbumId = album.Id, AlbumName = album.Name, ArtistId = artist.Id, ArtistName = artist.Name, State = stateMsg.State, Volume = stateMsg.Volume, Mode = stateMsg.RepeatMode, TrackTimespan = stateMsg.TrackTimespan }); }
private void GetTrackTimespan(MediaStateMessage stateMessage) { stateMessage.TrackTimespan = new TrackTimespan { Duration = _windowsMediaPlayer.currentMedia?.duration ?? default(double), CurrentPosition = _windowsMediaPlayer.controls.currentPosition }; }
public void SendMediaState(MediaStateMessage message = null) { var mediaState = message ?? new MediaStateMessage { SongId = this.CurrentMedia?.Id, State = (PlayState)(int)_windowsMediaPlayer.playState }; SignalRConnection.Notify(new Message <MediaStateMessage>(mediaState, MessageType.MediaStateMessage)); }
public MediaStateMessage GetMediaState() { WMPPlayState state = _windowsMediaPlayer.playState; PlayState mediaState = (PlayState)(int)state; var stateMessage = new MediaStateMessage { State = mediaState, SongId = CurrentMedia?.Id, Volume = _windowsMediaPlayer.settings.volume }; GetRepeatMode(stateMessage); GetTrackTimespan(stateMessage); return(stateMessage); }
private void GetRepeatMode(MediaStateMessage stateMessage) { bool shuffle = _windowsMediaPlayer.settings.getMode(Constants.Constants.Shuffle), song = _windowsMediaPlayer.settings.getMode(Constants.Constants.RepeatSong); if (shuffle) { stateMessage.RepeatMode = RepeatMode.Shuffle; } else if (song) { stateMessage.RepeatMode = RepeatMode.Song; } else { stateMessage.RepeatMode = RepeatMode.Off; } }
public JsonResult GetSongState() { MediaStateMessage stateMsg = MediaPlayer.Instance.GetMediaState(); return(Json(stateMsg, JsonRequestBehavior.AllowGet)); }