Exemplo n.º 1
0
 /// <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}'");
        }
Exemplo n.º 4
0
        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);
 }
Exemplo n.º 8
0
        private void SendDataToStatistics(PlaySongMessage msg)
        {
            var statsActor = Context.ActorSelection("../../statistics"); //Absolute path: akka://my-first-akka/user/statistics

            statsActor.Tell(msg);
        }