我正在使用简单的c#代码让程序进行讨论
if (checkBox1.Checked == true) {
SpeechSynthesizer speaker = new SpeechSynthesizer();
speaker.Rate = 1;
speaker.Volume = 100;
speaker.Speak(stringout);
问题是字符串输出包含带数字的句子。 微软讲话将这些视为“区号” 所以例如而不是说
样本90 123 40
我听到了:示例区号 90 123 40
如何阻止此行为?
答案 0 :(得分:1)
试试这个:
speaker.SpeakSsml("sample <say-as interpret-as=\"string\" format=\”digit string\” detail=\”string\”>90 123 40<say-as>");
如果可行,请在字符串中使用RegEx替换来包装该字符串中的数字。