windows10 + visual studio 2017 community,用c#做文字的语音播报时报以下错误:
System.ArgumentException: 不能设置语音。未安装匹配的语音,或语音被禁用。
代码如下:
SpeechSynthesizer synth = new SpeechSynthesizer();
synth.SelectVoice("Microsoft Huihui");
报错的原因是语音的名字不对,改成下面这样就可以了。
synth.SelectVoice("Microsoft Huihui Desktop");
我是在注册表中发现的名字的问题:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_ZH-CN_HUIHUI_11.0\Attributes
里面有一项属性是name, 属性的值就是“Microsoft Huihui Desktop”。但是在控制面板里显示出来的却是“Microsoft Huihui”。