コード例 #1
0
 public MainWindow()
 {
     InitializeComponent();
     overrideSwitch = latchSwitch;
     Title         += $" - v{Configs.Version}";
     outputDevice   = new WaveOutEvent();
     MiniHud        = HUD;
     SoundsListEx   = SoundsList;
     PlayPauseDial.PlaySymbol.Opacity = 100;
     PlayPauseDial.PauseFunctionality = true;
     PlayPauseDialx = PlayPauseDial;
     string[] args = Environment.GetCommandLineArgs();
     if (args.Length > 1)
     {
         if (!string.IsNullOrWhiteSpace(args[1]))
         {
             LibraryFileManager.LoadLibrary(args[1]);
         }
     }
     outputDevice.PlaybackStopped += (x, y) =>
     {
         if (StopSource_Unloaded)
         {
             MiniHud.TrackStatus.Text = "Status: Unloaded";
             StopSource_Unloaded      = false;
         }
         else if (currentlyPlayingAudioFile != null)
         {
             if (currentlyPlayingAudioFile.CurrentTime == currentlyPlayingAudioFile.TotalTime)
             {
                 HUD.TrackStatus.Text = "Status: Stopped";
                 MainWindow.MiniHud.TrackProgress.BeginAnimation(ProgressBar.ValueProperty, null);
                 IsPlaying = false;
                 PlayPauseDial.VisualStatePause();
             }
         }
         else
         {
             HUD.TrackStatus.Text = "Status: Stopped";
             MainWindow.MiniHud.TrackProgress.BeginAnimation(ProgressBar.ValueProperty, null);
             IsPlaying = false;
             PlayPauseDial.VisualStatePause();
         }
     };
     timerVideoTime          = new DispatcherTimer();
     timerVideoTime.Interval = TimeSpan.FromMilliseconds(1000);
     timerVideoTime.Tick    += (x, y) =>
     {
         if (IsPlaying)
         {
             var ts = currentlyPlayingAudioFile.CurrentTime;
             //HUD.TrackCurrentPos.Text = (ty.TotalHours >= 1 ? $"{ty.Hours}:" : $"") + $"{ty.Minutes}:{ty.Seconds}";
             HUD.TrackCurrentPos.Text = string.Format("{0:00}:{1:00}:{2:00}",
                                                      (int)(ts.TotalHours),
                                                      ts.Minutes,
                                                      ts.Seconds);
         }
     };
     timerVideoTime.Start();
 }
コード例 #2
0
 private void DialButton_MouseUp(object sender, MouseButtonEventArgs e)
 {
     currentlyPlayingAudioFile.Position = 0;
     outputDevice.Stop();
     HUD.TrackStatus.Text = "Status: Stopped";
     HUD.TrackProgress.BeginAnimation(ProgressBar.ValueProperty, null);
     PlayPauseDial.VisualStatePause();
 }