Exemple #1
0
 private void Recorder_NewDataPresent(object sender, SoundWrapper.NewDataEventArgs e)
 {
     if (recordingSample != null)
     {
         recordingSample.RecordFromBuffer(e.data);
     }
 }
Exemple #2
0
        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;
                }
            }
        }
Exemple #3
0
 private void Recorder_NewDataPresent(object sender, SoundWrapper.NewDataEventArgs e)
 {
     queue.Enqueue(e.data);
 }