Example #1
0
 public RecordingSource(Ratchet.Audio.RecordingClient Client)
 {
     _Client = Client;
     if (Client.Format != typeof(float))
     {
         throw new Exception("Only support Float format for this sample");
     }
     this.SampleRate = Client.SampleRate;
 }
Example #2
0
        static void Main(string[] args)
        {
            Ratchet.Audio.PlaybackDevice playbackDevice = FindPlaybackDevice();
            if (playbackDevice == null)
            {
                Console.WriteLine("No playback device found on this computer.");
                System.Environment.Exit(1);
            }

            Ratchet.Audio.RecordingDevice recordingDevice = FindRecordingDevice();
            if (recordingDevice == null)
            {
                Console.WriteLine("No recording device found on this computer.");
                System.Environment.Exit(1);
            }

            Console.WriteLine("Recording Device: " + recordingDevice.Name);
            Console.WriteLine("Playback Device: " + playbackDevice.Name);

            Ratchet.Audio.RecordingClient recordingClient = recordingDevice.CreateClient();
            recordingClient.Start();
            System.Threading.Thread.Sleep(5 * 1000);
            recordingClient.Stop();

            Ratchet.Audio.Mixer Mixer = new Ratchet.Audio.Mixer();
            Mixer.AddSource(new RecordingSource(recordingClient));
            Mixer.CreateListener(-1.0f, 0.0f, 0.0f, 0);
            Mixer.CreateListener(1.0f, 0.0f, 0.0f, 1);
            Mixer.CreateListener(-1.0f, 0.0f, 0.0f, 2);
            Mixer.CreateListener(1.0f, 0.0f, 0.0f, 3);

            Ratchet.Audio.PlaybackClient audioClient = playbackDevice.CreateClient(Mixer);
            Mixer.OutputChannelCount = audioClient.ChannelCount;
            Mixer.OutputFormat       = audioClient.Format;
            Mixer.OutputSampleRate   = audioClient.SampleRate;

            audioClient.Start();
            System.Threading.Thread.Sleep(5 * 1000);
            audioClient.Stop();
        }