我使用简单的c#代码让程序说话
if (checkBox1.Checked == true) {
SpeechSynthesizer speaker = new SpeechSynthesizer();
speaker.Rate = 1;
speaker.Volume = 100;
speaker.Speak(stringout);
Run Code Online (Sandbox Code Playgroud)
问题是字符串输出包含带数字的句子.并且微软语言将这些识别为"区号",例如,而不是说
样本90 123 40
我听到:
样本区号 90 123 40
如何阻止这种行为?
尝试这个:
\n\nspeaker.SpeakSsml("sample <say-as interpret-as=\\"string\\" format=\\\xe2\x80\x9ddigit string\\\xe2\x80\x9d detail=\\\xe2\x80\x9dstring\\\xe2\x80\x9d>90 123 40<say-as>");\nRun Code Online (Sandbox Code Playgroud)\n\n如果有效,请对字符串进行正则表达式替换以将数字包装在该字符串中。
\n