/// <summary> /// Register for external playing list change messages /// </summary> static PlaybackManagementController() { PlaybackDeviceAvailableMessage.Register(DeviceAvailable); SelectedLibraryChangedMessage.Register(SelectedLibraryChanged); PlaySongMessage.Register(PlaySong); MediaControlPauseMessage.Register(MediaControlPause); MediaControlSeekToMessage.Register(MediaControlSeekTo); MediaControlStartMessage.Register(MediaControlStart); }
private void PlaySong(PlaySongMessage message) { CurrentSong = message; Console.WriteLine($"{CurrentSong.User} is currently listening to '{CurrentSong.Song}'"); var statsActor = Context.ActorSelection("../../statistics"); statsActor.Tell(message); //DisplayInformation(); Become(PlayingBehavior); }
private void PlaySong(PlaySongMessage message) { CurrentSong = message; if (message.Song == "Bohemian Rapsody") { throw new SongNotAvailableException("Bohemian Rapsody is not available"); } if (message.Song == "Stairway to heaven") { throw new MusicSystemCorruptedException("cannot retrieve the song from the database"); } Console.WriteLine($"{CurrentSong.User} is currently listening to '{CurrentSong.Song}'"); }
public void IncreaseSongCounter(PlaySongMessage m) { var counter = 1; if (SongStatisticsCounter.ContainsKey(m.Song)) { counter = ++SongStatisticsCounter[m.Song]; } else { SongStatisticsCounter.Add(m.Song, counter); } Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($"Song: {m.Song} has been played {counter} times"); Console.ForegroundColor = ConsoleColor.Gray; }
private void IncreaseSongCounter(PlaySongMessage m) { int counter = 1; if (SongPeformanceCounter.ContainsKey(m.Song)) { counter = SongPeformanceCounter[m.Song]; counter++; SongPeformanceCounter[m.Song] = counter; } else { SongPeformanceCounter.Add(m.Song, counter); } Console.WriteLine($"Song: {m.Song} has been played {counter} times"); }
private void PlaySong(PlaySongMessage message) { var musicPlayerActor = EnsureMusicPlayerActorExists(message.User); musicPlayerActor.Tell(message); }
private void StopPlaying() { Console.WriteLine($"{CurrentSong.User}'s player is currently stopped."); CurrentSong = null; Become(StoppedBehavior); }
private void SendDataToStatistics(PlaySongMessage msg) { var statsActor = Context.ActorSelection("../../statistics"); //Absolute path: akka://my-first-akka/user/statistics statsActor.Tell(msg); }