Hi
Ich bin gerade ja am testen der CSCore Libary von @thefiloe .
Sounds kann ich abspielen und Visualisieren, aber was ich noch nicht hin bekomme ist der Equalizer.
Ich habe mir den C# Code aus dem Demo-Projekt angeschaut, und war da schon verwundert, wieso er so klein ist, obwohl ja 10 Trackbar´s verbaut sind:
Spoiler anzeigen
Hab mir erstmal nichts dabei gedacht und versucht das zu übersetzten. Ton kann ich abspielen, aber modifizieren funktioniert nicht.
Die Online-Konverter haben auch nichts hin bekommen, also kommt hier meine Frage:
Wie kriege ich es hin, das der Equalizer in VB.net läuft?
Edit: Was bedeuten eigentlich die 10 Trackbar´s (welche Frequenz verändern die?)
Ich bin gerade ja am testen der CSCore Libary von @thefiloe .
Sounds kann ich abspielen und Visualisieren, aber was ich noch nicht hin bekomme ist der Equalizer.
Ich habe mir den C# Code aus dem Demo-Projekt angeschaut, und war da schon verwundert, wieso er so klein ist, obwohl ja 10 Trackbar´s verbaut sind:
Quellcode
- using CSCore;
- using CSCore.Codecs;
- using CSCore.SoundOut;
- using CSCore.Streams;
- using System;
- using System.ComponentModel;
- using System.Windows.Forms;
- namespace EqualizerTest
- {
- public partial class MainWindow : Form
- {
- public MainWindow()
- {
- InitializeComponent();
- }
- private ISoundOut _soundOut;
- private Equalizer _eq;
- private void trackBar1_ValueChanged(object sender, EventArgs e)
- {
- if (_eq != null)
- {
- var trackbar = sender as TrackBar;
- float value = (float)(((double)trackbar.Value / (double)trackbar.Maximum) * 15);
- _eq.SampleFilters[Int32.Parse((string)trackbar.Tag)].SetGain(value);
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- var ofn = new OpenFileDialog();
- ofn.Filter = CodecFactory.SupportedFilesFilterEN;
- if (ofn.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- Stop();
- if (WasapiOut.IsSupportedOnCurrentPlatform)
- {
- _soundOut = new WasapiOut();
- }
- else
- {
- _soundOut = new DirectSoundOut();
- }
- var source = CodecFactory.Instance.GetCodec(ofn.FileName);
- source = new LoopStream(source) { EnableLoop = false };
- (source as LoopStream).StreamFinished += (s, args) => Stop();
- _eq = Equalizer.Create10BandEqualizer(source);
- _soundOut.Initialize(_eq.ToWaveSource(16));
- _soundOut.Play();
- }
- }
- protected override void OnClosing(CancelEventArgs e)
- {
- Stop();
- base.OnClosing(e);
- }
- private void Stop()
- {
- if (_soundOut != null)
- {
- _soundOut.Stop();
- _soundOut.Dispose();
- _eq.Dispose();
- _soundOut = null;
- }
- }
- }
- }
Hab mir erstmal nichts dabei gedacht und versucht das zu übersetzten. Ton kann ich abspielen, aber modifizieren funktioniert nicht.
Die Online-Konverter haben auch nichts hin bekommen, also kommt hier meine Frage:
Wie kriege ich es hin, das der Equalizer in VB.net läuft?
Edit: Was bedeuten eigentlich die 10 Trackbar´s (welche Frequenz verändern die?)
Liebe Grüße
sothere
sothere