public void NextSong(bool isUserRequested) { if (!IsMixPresent) { return; } if (currentMix.GetCurrentTrack().IsLast) { NextMix(); return; } if (currentMix.CurrentTrackIndex == currentMix.Tracks.Count - 1) { NextSongRequest nextSongRequest = requestFactory.CreateNextSongRequest(playToken, currentMix.MixId, isUserRequested); PlaySongResponse playSongReponse = requestExecutor.ExecuteNextSongRequest(nextSongRequest); currentMix.AddTrack(new Track(playSongReponse.SetElement.TrackElement, playSongReponse.SetElement.AtLastTrack, playSongReponse.SetElement.SkipAllowed)); } currentMix.MoveToNextTrack(); if (audioPlayerProxy.Status == MediaStatus.Running) { PlayCurrentTrack(currentMix); } }
public PlaySongResponse ExecuteNextSongRequest(NextSongRequest nextSongRequest) { return((PlaySongResponse)(Execute(nextSongRequest) ?? Activator.CreateInstance(typeof(PlaySongResponse)))); }