Ejemplo n.º 1
0
        static Ratchet.Audio.RecordingDevice FindRecordingDevice()
        {
            Ratchet.Audio.RecordingDevice        selectedDevice   = null;
            List <Ratchet.Audio.RecordingDevice> recordingDevices = Ratchet.Audio.RecordingDevice.GetDevices();

            for (int n = 0; n < recordingDevices.Count; n++)
            {
                if (recordingDevices[n].Enabled)
                {
                    //if (recordingDevices[n].Default) { return recordingDevices[n].Default; }
                    selectedDevice = recordingDevices[n];
                }
            }
            return(selectedDevice);
        }
Ejemplo n.º 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();
        }