private void UpdateDeviceList() { { mWasapiPlay.EnumerateDevices(WasapiCS.DeviceType.Play); string prevDevice = string.Empty; if (0 <= listBoxPlayDevices.SelectedIndex) { prevDevice = listBoxPlayDevices.SelectedItem as string; } mPlayDeviceIdStringList.Clear(); listBoxPlayDevices.Items.Clear(); for (int i = 0; i < mWasapiPlay.GetDeviceCount(); ++i) { var attr = mWasapiPlay.GetDeviceAttributes(i); listBoxPlayDevices.Items.Add(attr.Name); mPlayDeviceIdStringList.Add(attr.DeviceIdString); if (attr.Name.Equals(prevDevice)) { listBoxPlayDevices.SelectedIndex = i; } } if (listBoxPlayDevices.SelectedIndex < 0 && 0 < listBoxPlayDevices.Items.Count) { listBoxPlayDevices.SelectedIndex = 0; } } { mWasapiRec.EnumerateDevices(WasapiCS.DeviceType.Rec); string prevDevice = string.Empty; if (0 <= listBoxRecDevices.SelectedIndex) { prevDevice = listBoxRecDevices.SelectedItem as string; } mRecDeviceIdStringList.Clear(); listBoxRecDevices.Items.Clear(); for (int i = 0; i < mWasapiRec.GetDeviceCount(); ++i) { var attr = mWasapiRec.GetDeviceAttributes(i); mRecDeviceIdStringList.Add(attr.DeviceIdString); listBoxRecDevices.Items.Add(attr.Name); if (attr.Name.Equals(prevDevice)) { listBoxRecDevices.SelectedIndex = i; } } if (listBoxRecDevices.SelectedIndex < 0 && 0 < listBoxRecDevices.Items.Count) { listBoxRecDevices.SelectedIndex = 0; } } UpdateButtonStartStop(ButtonStartStopState.StartEnable); }
public bool EnumerateDevices() { int ercd = mWasapi.EnumerateDevices(Wasapi.WasapiCS.DeviceType.Play); if (ercd < 0) { Console.WriteLine("PlaybackController::EnumerateDevices() failed {0}", ercd); return(false); } return(true); }
private void UpdateDeviceList() { { mWasapiPlay.EnumerateDevices(WasapiCS.DeviceType.Play); string prevDevice = string.Empty; if (0 <= listBoxPlayDevices.SelectedIndex) { prevDevice = listBoxPlayDevices.SelectedItem as string; } listBoxPlayDevices.Items.Clear(); for (int i = 0; i < mWasapiPlay.GetDeviceCount(); ++i) { var attr = mWasapiPlay.GetDeviceAttributes(i); listBoxPlayDevices.Items.Add(attr.Name); if (attr.Name.Equals(prevDevice)) { listBoxPlayDevices.SelectedIndex = i; } } } { mWasapiRec.EnumerateDevices(WasapiCS.DeviceType.Rec); string prevDevice = string.Empty; if (0 <= listBoxRecDevices.SelectedIndex) { prevDevice = listBoxRecDevices.SelectedItem as string; } listBoxRecDevices.Items.Clear(); for (int i = 0; i < mWasapiRec.GetDeviceCount(); ++i) { var attr = mWasapiRec.GetDeviceAttributes(i); listBoxRecDevices.Items.Add(attr.Name); if (attr.Name.Equals(prevDevice)) { listBoxRecDevices.SelectedIndex = i; } } } if (0 < listBoxPlayDevices.Items.Count && 0 < listBoxRecDevices.Items.Count) { buttonStart.IsEnabled = true; } else { buttonStart.IsEnabled = false; } }
public int EnumerateRecDeviceNames(List <WasapiCS.DeviceAttributes> deviceList) { mDeviceAttributeList.Clear(); deviceList.Clear(); int hr = mWasapi.EnumerateDevices(WasapiCS.DeviceType.Rec); if (hr < 0) { return(hr); } int nDevices = mWasapi.GetDeviceCount(); for (int i = 0; i < nDevices; ++i) { var att = mWasapi.GetDeviceAttributes(i); mDeviceAttributeList.Add(att); deviceList.Add(att); } return(hr); }