private async void LoadFolder_Click(object sender, RoutedEventArgs e) { VistaFolderBrowserDialog x = new VistaFolderBrowserDialog(); x.Description = "burp"; if (!x.ShowDialog().Value) { return; } AudioFiles.Clear(); string [] fileEntries = Directory.GetFiles(x.SelectedPath); foreach (string fileName in fileEntries) { var fileInfo = new FileInfo(fileName); var audioInfo = await AudioEncoder.GetInfo(fileInfo.FullName); if (audioInfo == null) { continue; } var audioStream = audioInfo.AudioStreams.FirstOrDefault(); if (audioStream == null) { continue; } AudioFiles.Add(new AudioFile { InputFile = fileInfo, FileName = System.IO.Path.GetFileNameWithoutExtension(fileInfo.FullName), SamplingRate = audioStream.SampleRate, BitRate = audioStream.Bitrate, Duration = audioStream.Duration.TotalSeconds }); } OnPropertyChanged("AudioFiles"); }
public async Task <ISampleSource> GetSource() { if (!ready) { var info = await AudioEncoder.GetInfo(inputPath); IStream audioStream = info.AudioStreams.FirstOrDefault() ?.SetCodec(AudioCodec.flac); var conversion = FFmpeg.Conversions.New() .AddStream(audioStream) .SetOutput(tempFilePath); var result = await conversion.Start(); } var source = CodecFactory.Instance.GetCodec(tempFilePath) .ToSampleSource(); return(source); }
private async void LoadFile_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog { Title = "Audiodatei auswählen", Multiselect = true }; if (openFileDialog.ShowDialog() != DialogResult.OK) { return; } AudioFiles.Clear(); foreach (string fileName in openFileDialog.FileNames) { var fileInfo = new FileInfo(fileName); var audioInfo = await AudioEncoder.GetInfo(fileInfo.FullName); var audioStream = audioInfo?.AudioStreams?.FirstOrDefault(); if (audioStream == null) { continue; } AudioFiles.Add(new AudioFile { InputFile = fileInfo, FileName = System.IO.Path.GetFileNameWithoutExtension(fileInfo.FullName), SamplingRate = audioStream.SampleRate, BitRate = audioStream.Bitrate, Duration = audioStream.Duration.TotalSeconds }); } OnPropertyChanged("AudioFiles"); }
public MainWindow() { AudioEncoder.Init(); InitializeComponent(); }
public async Task <int> GetSampleRate() { var info = await AudioEncoder.GetInfo(inputPath); return(info.AudioStreams.FirstOrDefault()?.SampleRate ?? 0); }