我已经安装了新的 SAPI5 语音。在语音程序的计算机设置中,新语音可见并可使用。但是我的程序找不到它。为了找到它,我正在使用这部分代码,我使用System.Speech.Synthesis
命名空间。
SpeechSynthesizer s = new SpeechSynthesizer();
foreach (InstalledVoice v in s.GetInstalledVoices())
{
st += v.VoiceInfo.Name+"\n";
}
MessageBox.Show(st);
找到的唯一声音是 Microsoft Anna。我的演讲代码如下:
s.SelectVoice("Eliska22k");//name of the voice is Eliska22k
s.Speak("ahoj");
我正在使用 C# 4,并且我有 windows vista 32 位。我的错误在哪里?是在代码中还是在其他任何地方?
编辑: 请求的注册表值:
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices
DefaultTokenId:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\Infovox Desktop v2.2\Eliska22k
默认TTSRate: 0
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\Infovox Desktop v2.2\Eliska22k
405:埃利斯卡(捷克)SAPI5
CLSID:{F8E89351-F6B9-4C98-91F9-A967BA752655}
语音数据:Eliska22k
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\Infovox Desktop v2.2\Eliska22k\Attributes
年龄:成人
音频格式 18
性别女
语言:405;5
名称:Eliska22k