private void cmbInputDevice_SelectedIndexChanged(object sender, EventArgs e) { AudioInputDevice selected = cmbInputDevice.SelectedItem as AudioInputDevice; if (selected != null) { audioInputDevice = selected.WaveInCapabilities.ProductGuid.ToString(); inputMonitor.Start(audioInputDevice); } else { inputMonitor.Stop(); } audioTriggerHits = 0; UpdateHits(); }
public void ScanForAudioInputDevices() { foreach (string deviceName in Microphone.devices) { if (!AudioDeviceKnown(deviceName)) { int freqMax = 0; int freqMin = 0; Microphone.GetDeviceCaps(deviceName, out freqMin, out freqMax); AudioInputDevice tempAudioInputDevice = new AudioInputDevice(deviceName, freqMin, freqMax); //todo: put in some sort of console instead, inform user? Debug.Log($"Audio Input Device found: {deviceName}\n\tMinimum Frequency:{freqMin}\n\tMaximum Frequency:{freqMax}"); KnownAudioInputDevices.Add(tempAudioInputDevice); } } //todo: actually pick one as apropriate - we can also just leave it null for default... CurrentActiveAudioInputDevice = KnownAudioInputDevices[0]; }