I was wondering if you would be willing to give me some suggestions on shortening this code. I feel as if the amount of if statements I have is a bit much.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Speech.AudioFormat;
using System.Speech.Synthesis;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SpeechTutorial
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
SpeechSynthesizer synth = new SpeechSynthesizer();
public MainWindow()
{
InitializeComponent();
comboItems();
}
private void comboItems()
{
foreach (InstalledVoice voice in synth.GetInstalledVoices())
{
// loop through each voice installed on machine
VoiceInfo info = voice.VoiceInfo;
// adds each installed voice's Name and location to the combobox's list
comboBox.Items.Add(info.Description);
}
}
private void button_Click(object sender, RoutedEventArgs e)
{
// set the synthesizer to speak
synth.Speak(textBox.Text);
}
private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// here we are setting the voices for each selected item in the combobox
try
{
if (comboBox.SelectedIndex == 0)
{
synth.SelectVoice("Microsoft Hazel Desktop");
}
if (comboBox.SelectedIndex == 1)
{
synth.SelectVoice("Microsoft Heera Desktop");
}
if (comboBox.SelectedIndex == 2)
{
synth.SelectVoice("Microsoft David Desktop");
}
if (comboBox.SelectedIndex == 3)
{
synth.SelectVoice("Microsoft Zira Desktop");
}
if (comboBox.SelectedIndex == 4)
{
synth.SelectVoice("Microsoft Haruka Desktop");
}
if (comboBox.SelectedIndex == 5)
{
synth.SelectVoice("Microsoft Heami Desktop");
}
if (comboBox.SelectedIndex == 6)
{
synth.SelectVoice("Microsoft Huihui Desktop");
}
if (comboBox.SelectedIndex == 7)
{
synth.SelectVoice("Microsoft Tracy Desktop");
}
if (comboBox.SelectedIndex == 8)
{
synth.SelectVoice("Microsoft Hanhan Desktop");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}