System.Speech.Synthesis.SpeechSynthesizer处理数字

时间:2014-12-24 02:40:00

标签: .net text-to-speech speech speech-synthesis

有时我会有#12543这样的数字,我希望合成器说“一号 - 二 - 五 - 四 - 三”。

其他时候我希望合成器说“数字一万二千五百四十三”。

有没有人知道System.Speech中的哪种机制可以调节这些数字的发音?

1 个答案:

答案 0 :(得分:1)

查看SayAs枚举和AppendTextWithHint方法,此示例基于Microsoft文档。

using System;
using System.Speech.Synthesis;

namespace ConsoleApplication66
{
    class Program
    {
        static void Main(string[] args)
        {
            SpeechSynthesizer synth = new SpeechSynthesizer();
            synth.SetOutputToDefaultAudioDevice();
            PromptBuilder talk = new PromptBuilder();
            talk.AppendText("#12543");
            talk.AppendTextWithHint("#12543", SayAs.SpellOut);
            talk.AppendTextWithHint("#12543", SayAs.NumberOrdinal);
            talk.AppendTextWithHint("#12543", SayAs.NumberCardinal);
            synth.Speak(talk);

        }
    }
}