private void OpenFile() { Microsoft.Win32.OpenFileDialog openDialog = new Microsoft.Win32.OpenFileDialog(); openDialog.Filter = "(*.mp3)|*.mp3"; if (openDialog.ShowDialog() == true) { NAudioEngine.Instance.OpenFile(openDialog.FileName); //FileText.SetCurrentValue(TextBox.TextProperty, openDialog.FileName); RunnerText.SetCurrentValue(ContentProperty, openDialog.FileName); } }
// Begin dragging the window private void PlayListView_OnPreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var item = (sender as ListView).SelectedItem; if (item != null) { if (NAudioEngine.Instance.CanStop) { NAudioEngine.Instance.Stop(); } var path = (item as TextBlock).Text; RunnerText.SetCurrentValue(ContentProperty, path); NAudioEngine.Instance.OpenFile(path); //FileText.SetCurrentValue(TextBox.TextProperty, openDialog.FileName); NAudioEngine.Instance.Play(); //TODO: Doesn't play it } }
/// <summary> /// convert a file to wav to preview it. /// </summary> /// <param name="path"></param> public void TempConvertToWemWav(string path) { var ManagerCacheDir = Path.Combine(ISettingsManager.GetTemp_AudioPath()); //Clean directory Directory.CreateDirectory(ManagerCacheDir); foreach (var f in Directory.GetFiles(ManagerCacheDir)) { try { File.Delete(f); } catch { } } var outf = Path.Combine(ManagerCacheDir, Path.GetFileNameWithoutExtension(path) + ".wav"); Trace.WriteLine(outf); Trace.WriteLine(path); var arg = path.ToEscapedPath() + " -o " + outf.ToEscapedPath(); var p = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lib", "vgmstream", "test.exe"); var si = new ProcessStartInfo( p, arg ) { CreateNoWindow = true, WindowStyle = ProcessWindowStyle.Hidden, UseShellExecute = false, RedirectStandardError = true, RedirectStandardOutput = true, Verb = "runas" }; var proc = Process.Start(si); proc.WaitForExit(); Trace.WriteLine(proc.StandardOutput.ReadToEnd()); mediaPlayer.Open(new Uri(outf)); var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) }; timer.Tick += Timer_Tick; timer.Start(); var ChannelPositionTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(1) }; ChannelPositionTimer.Tick += ChannelPositionTimer_Tick; ; ChannelPositionTimer.Start(); //ChannelLength = $"{mediaPlayer.Position.TotalMinutes} : {mediaPlayer.Position.TotalSeconds} : {mediaPlayer.Position.TotalMilliseconds}"; NAudioSimpleEngine.Instance.OpenFile(outf); RunnerText.SetCurrentValue(ContentProperty, Path.GetFileNameWithoutExtension(outf)); //AudioFileList.Add(lvi); }