C# 无法在语音合成器中更改语音

C# 无法在语音合成器中更改语音,c#,voice,C#,Voice,我不能把声音改成男性。不管我怎么做,它总是默认的。然而在我的系统中,有男性的声音 我试过: synth.SelectVoiceByHints(VoiceGender.Male); synth.SpeakAsync("Hello, my name is Evus."); 这甚至不做任何事情,它只会用默认的Cortana语音说话 synth.GetInstalledVoices.Selectv=>v.VoiceInfo中的foreach变量v { Console.WriteLineName:{0}

我不能把声音改成男性。不管我怎么做,它总是默认的。然而在我的系统中,有男性的声音

我试过:

synth.SelectVoiceByHints(VoiceGender.Male);
synth.SpeakAsync("Hello, my name is Evus.");
这甚至不做任何事情,它只会用默认的Cortana语音说话

synth.GetInstalledVoices.Selectv=>v.VoiceInfo中的foreach变量v { Console.WriteLineName:{0},性别:{1},年龄:{2}, v、 描述,v.性别,v.年龄; }

从我的系统返回2个男声。然而,当我选择男性时,它就不起作用了

我试着选择声音的性别

那也没用。 我试着在这里找到答案,但也没用。 尝试使用

synth.SelectVoiceByHintsVoiceGender.femal;或synth.SelectVoiceByHintsVoiceGender.Male

然后使用synth.speake作为示例;
我在使用GetInstalledVoices切换时没有遇到任何问题,请检查.Enabled属性。然后尝试使用区分大小写的方法按名称选择它。我确实成功地获取了uilder.StartVoiceMicrosoft David Desktop;,但我需要微软的乔治,而那个似乎找不到的。这是怎么可能的,因为我的“讲述人”设置都很好。你不能使用只是运行时一部分的声音。无论如何,有关更多选项,请参阅和。SDK名称空间Microsoft.Speech为开发人员提供了一些有用的工具,还允许您下载并使用大量语音进行语音识别和TTS。您可以引用所有名称空间,但每个名称空间都有自己的声音。此外,还必须针对特定平台x86或x64进行编译。