示例#1
0
        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();
        }
示例#2
0
 private void PlayBtn_Click(object sender, RoutedEventArgs e)
 {
     if (!pl.IsInitialized())
     {
         return;
     }
     if (!thread.IsAlive)
     {
         thread.Start();
     }
     else if (!pl.IsPlaying())
     {
         pl.UnPause();
     }
     else
     {
         pl.RestartSong();
         progressTracker.Value = 0;
     }
 }
示例#3
0
        private static void StartDebugMode(FileManager fileManager, bool aggressive)
        {
            fileManager.Debug();

            var playManager = new PlayManager();

            playManager.Debug();

            if (aggressive)
            {
                var filePaths = fileManager.GetFilePaths();
                var i         = 0;
                foreach (var path in filePaths)
                {
                    Console.Error.WriteLine("Playing {0}", path);
                    var file = fileManager.Load(path);
                    if (file != null)
                    {
                        i++;
                        playManager.Play(file, i.ToString());
                    }
                    while (playManager.IsPlaying(i.ToString()))
                    {
                        Thread.Sleep(10);
                    }
                }
            }
            else
            {
                var example = fileManager.GetExampleFile();
                if (example != "")
                {
                    var file = fileManager.Load(example);
                    Console.Error.WriteLine("Start Playing {0}", file.Path);
                    playManager.Play(file, "1");
                    Console.Error.WriteLine("Done Playing");
                }
            }

            Thread.Sleep(1000);
        }