Реферат: Голосовое воспроизведение текста
if (comboBoxLang.SelectedIndex == -1)
MessageBox.Show("Выберите синтезатор голоса");
else
{
SAPIDLL.PSelectEngineNumber(comboBoxLang.SelectedIndex);
SAPIDLL.PSpeak(richTextBox1.Text);
}
}
Функция PGetEngines:
[DllImport("SAPIDLL.DLL")]
public static extern string PGetEngines(int num);
возвращает имя диктора с порядковым номером number. Диктор может быть не выбран до вызова этой процедуры. Что бы узнать имена всех дикторов установленных на вашем компьютере используется GetEnginesCount, а после PGetEngines(0..GetEnginesCount-1).
Следующая группа функций возвращает соответственно допустимые максимальные и минимальные значения скорости и громкости речи для выбранного синтезатора:
[DllImport("SAPIDLL.DLL")]
public static extern Int32 GetMaxSpeed();
[DllImport("SAPIDLL.DLL")]
public static extern Int32 GetMaxVolume();
[DllImport("SAPIDLL.DLL")]
public static extern Int32 GetMinSpeed();
[DllImport("SAPIDLL.DLL")]
public static extern Int32 GetMinVolume();
[DllImport("SAPIDLL.DLL")]
private void comboBoxLang_SelectedIndexChanged(object sender, EventArgs e)
{
SAPIDLL.PSelectEngineNumber(comboBoxLang.SelectedIndex);
trackBar2.Minimum = SAPIDLL.GetMinVolume();
trackBar2.Maximum = SAPIDLL.GetMaxVolume();
trackBar1.Minimum = SAPIDLL.GetMinSpeed();
trackBar1.Maximum = SAPIDLL.GetMaxSpeed();