有用DotNetSpeech.dll把文本转换成声音的同学么?小弟有一事卡住,求解。
小弟成功的用这个东西把文本转换成声音读出来。可是小弟在文本框里输入数字的时候
比如,我输个“123”,我要的读出的效果是“1”,“2”,“3”,但是程序读的是“一百二十三”,郁闷死我了,请问改什么属性可以转成这样的.
private void button1_Click(object sender, EventArgs e)
{
try
{
SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice Voice = new SpVoice();
Voice.Voice = Voice.GetVoices(null, null).Item(0);
Voice.Speak(this.textBox1.Text,SpFlags);
}
catch (Exception er)
{
MessageBox.Show("An Error Occured!", "SpeechApp", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
------解决方案--------------------
这还不简单,写个循环调用就行了:
C# code
Regex regex = new Regex("^[0-9]+$");
if (regex.IsMatch(this.textBox1.Text.Trim())
{
for (int i = 0; i < this.textBox1.Text.Length; i++)
{
Voice.Speak(this.textBox1.Text[i].ToString(),SpFlags);
}
}