public static void PlayNote(string note) { if (_waveOut == null) { var sineWaveProvider = new SineWaveProvider32(); sineWaveProvider.SetWaveFormat(16000, 1); // 16kHz mono sineWaveProvider.Frequency = 1000; sineWaveProvider.Amplitude = 0.25f; _waveOut = new WaveOut(); _waveOut.Init(sineWaveProvider); _waveOut.Play(); StopTimer(); _timer = new Timer(); _timer.Elapsed += TimerElapsed; _timer.Interval = 20000; _timer.Start(); } else { _waveOut.Stop(); _waveOut.Dispose(); _waveOut = null; StopTimer(); } }
public void PlayNote(Note note) { SineWaveProvider32 newWave = new SineWaveProvider32(); newWave.SetWaveFormat(44100, 2); newWave.Amplitude = volume; newWave.Frequency = (float)note.GetFrequencyInHz(); SoundHelper.PlaySound(newWave); }
public MainWindow() { InitializeComponent(); _WaveProvider = new SineWaveProvider32(); _WaveProvider.SetWaveFormat(16000, 1); _WaveProvider.Amplitude = 0.25f; _WaveOut = new DirectSoundOut(); _WaveOut.Init(_WaveProvider); _MidiOut = new MidiOut(0); }
// инициализация воспроизведения звука, так же его воспроизведение // суммирование массива амплитуд данной частоты с общей private async void PlayWithOneFreequency(int freequency) { var sineWaveProvider = new SineWaveProvider32(freequency); // частота воспроизведения sineWaveProvider.SetWaveFormat(8000, 1); // частота дискретизации, число каналов( от второго параметра зависит скорость воспроизведения) var waveOut = new WaveOut(); waveOut.Init(sineWaveProvider); var masofAmplitude = sineWaveProvider.ReadAsync(amplitude.sizeMas); // можно и обычным приведением, но хз amplitude.summing(masofAmplitude); await Task.Run(() => PlayAudio(waveOut)); }
private void StartStopSineWave() { if (waveOut == null) { sineWaveProvider.SetWaveFormat(96000, 2); sineWaveProvider.Frequency = trackBar1.Value; sineWaveProvider.Amplitude = 1.0f; waveOut = new WaveOut(); waveOut.Init(sineWaveProvider); waveOut.Play(); } else { waveOut.Stop(); waveOut.Dispose(); waveOut = null; } }