private static void Listen(FileManager manager) { var logger = GetLogger(); var playManager = new PlayManager(); if (!playManager.CheckCompatibility()) { Console.Error.WriteLine("Unsupported Device"); return; } var line = Console.ReadLine(); while (line != null) { logger.Log(line); var command = CommandParser.Parse(line); if (command.Type == CommandType.Exit) { break; } switch (command.Type) { case CommandType.Play: var file = manager.Load(command.Args[1]); if (file != null) { playManager.Play(file, command.Args[0]); } break; case CommandType.IsPlaying: if (playManager.IsPlaying(command.Args[0])) { logger.Log("yes"); Console.WriteLine("yes"); } else { logger.Log("no"); Console.WriteLine("no"); } break; case CommandType.Release: manager.Release(command.Args[0]); break; } line = Console.ReadLine(); Thread.Sleep(10); } logger.Dispose(); }