/// <summary> /// 再生デバイスを列挙する /// </summary> private void EnumrateDevices() { try { this.PlayerComboBox.Enabled = false; this.mainDeviceComboBox.Enabled = false; this.subDeviceComboBox.Enabled = false; var devices = NAudioPlayer.EnumlateDevices(); // 再生デバイスコンボボックスを設定する this.mainDeviceComboBox.DisplayMember = "Name"; this.mainDeviceComboBox.ValueMember = "ID"; this.mainDeviceComboBox.DataSource = devices.ToArray(); this.subDeviceComboBox.DisplayMember = "Name"; this.subDeviceComboBox.ValueMember = "ID"; this.subDeviceComboBox.DataSource = devices.ToArray(); var defaultDeviceID = devices .Select(x => x.ID) .FirstOrDefault() ?? string.Empty; if (string.IsNullOrWhiteSpace(TTSYukkuriConfig.Default.MainDeviceID)) { TTSYukkuriConfig.Default.MainDeviceID = defaultDeviceID; } if (string.IsNullOrWhiteSpace(TTSYukkuriConfig.Default.SubDeviceID)) { TTSYukkuriConfig.Default.SubDeviceID = defaultDeviceID; } if (devices.Count > 0) { this.mainDeviceComboBox.SelectedValue = TTSYukkuriConfig.Default.MainDeviceID; this.subDeviceComboBox.SelectedValue = TTSYukkuriConfig.Default.SubDeviceID; if (string.IsNullOrWhiteSpace(this.mainDeviceComboBox.Text)) { this.mainDeviceComboBox.SelectedIndex = 0; } if (string.IsNullOrWhiteSpace(this.subDeviceComboBox.Text)) { this.subDeviceComboBox.SelectedIndex = 0; } } } finally { this.PlayerComboBox.Enabled = true; this.mainDeviceComboBox.Enabled = true; this.subDeviceComboBox.Enabled = this.enabledSubDeviceCheckBox.Checked; } }