我正在使用简单的 C# 代码让程序说话
if (checkBox1.Checked == true) {
SpeechSynthesizer speaker = new SpeechSynthesizer();
speaker.Rate = 1;
speaker.Volume = 100;
speaker.Speak(stringout);
问题是 string out 包含带数字的句子。 Microsoft Speech 将这些识别为“区号”。所以例如而不是说
sample 90 123 40
我听到:
sample *area code* 90 123 40
如何阻止这种行为?
最佳答案
试试这个:
speaker.SpeakSsml("sample <say-as interpret-as=\"string\" format=\”digit string\” detail=\”string\”>90 123 40<say-as>");
如果可行,请对您的字符串进行 RegEx 替换,以将数字包装在该字符串中。
关于c# - System.speech 在数字上说 "area code",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436249/