private void Recorder_NewDataPresent(object sender, SoundWrapper.NewDataEventArgs e) { if (recordingSample != null) { recordingSample.RecordFromBuffer(e.data); } }
private void Player_NewDataRequested(object sender, SoundWrapper.NewDataEventArgs e) { if (queue.Count > 0) { var buf = queue.Dequeue(); for (int i = 0; i < buf.Length && i < e.data.Length; i += 2) { double inputL = buf[i]; double inputR = buf[i + 1]; bass1L = bass1L + filterFreq * (inputL - bass1L); bass2L = bass2L + filterFreq * (bass1L - bass2L); bass1R = bass1R + filterFreq * (inputR - bass1R); bass2R = bass2R + filterFreq * (bass1R - bass2R); short outputL = Limit(volumeSmoothed * (bassBoostSmoothed * bass2L + inputL)); short outputR = Limit(volumeSmoothed * (bassBoostSmoothed * bass2R + inputR)); e.data[i] = outputL; e.data[i + 1] = outputR; volumeSmoothed = volumeSmoothed + 0.01f * (volume - volumeSmoothed); bassBoostSmoothed = bassBoostSmoothed + 0.01f * (bassBoost - bassBoostSmoothed); } } else { if (isStopping) { StopPlayer(); } else if (isPlaying) { underrun = true; } } }
private void Recorder_NewDataPresent(object sender, SoundWrapper.NewDataEventArgs e) { queue.Enqueue(e.data); }