7

我正在使用简单的 C# 代码让程序说话

        if (checkBox1.Checked == true) {
            SpeechSynthesizer speaker = new SpeechSynthesizer();
            speaker.Rate = 1;
            speaker.Volume = 100;
            speaker.Speak(stringout);

问题是字符串输出包含带数字的句子。Microsoft Speech 将这些识别为“区号”。所以例如而不是说

sample 90 123 40

我听见:

sample *area code* 90 123 40

如何制止这种行为?

4

1 回答 1

1

尝试这个:

speaker.SpeakSsml("sample <say-as interpret-as=\"string\" format=\”digit string\” detail=\”string\”&gt;90 123 40<say-as>");

如果可行,请对您的字符串进行 RegEx 替换,以将数字包装在该字符串中。

于 2012-07-11T15:43:28.520 回答