private static void ManagePlayer(Player player) { while (true) { DisplayInfo(); var cmd = GetCommand(); switch (cmd) { case "l": case "load": Console.WriteLine("Enter path to the playlist:"); var path = Console.ReadLine(); if (string.IsNullOrWhiteSpace(path)) { Console.WriteLine("Invalid playlist path."); continue; } try { var pl = DataContractFormatter<Playlist>.Load(path); //todo: обработать исключения player.LoadPlayList(pl); Console.WriteLine("Playlist was loaded."); } catch (Exception) { Console.WriteLine("Playlist loading error!"); } break; case "pl": case "play": player.Play(); break; case "pa": case "pause": player.Pause(); break; case "s": case "stop": player.Stop(); break; case "i": case "info": DisplayInfo(); break; case "se": case "select": return; case "e": case "exit": Environment.Exit(0); return; default: Console.WriteLine("Incorrect command."); continue; } } }
static void Main(string[] args) { Player p = new Player(); p.Play(".\\AudioTest.xml"); Console.ReadLine(); }
private static Player NewPlayer() { var player = new Player(); player.TrackPlayingStarter += (sender, eventArgs) => Console.WriteLine("Track {0} started.", eventArgs.EventInfo.Title); player.TrackPlayingFinished += (sender, eventArgs) => Console.WriteLine("Track {0} finished.", eventArgs.EventInfo.Title); return player; }