Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 语音合成器不';t获取所有已安装的语音2_C#_.net_Speech Recognition_Text To Speech - Fatal编程技术网

C# 语音合成器不';t获取所有已安装的语音2

C# 语音合成器不';t获取所有已安装的语音2,c#,.net,speech-recognition,text-to-speech,C#,.net,Speech Recognition,Text To Speech,我在我的Windows7 32位操作系统中安装了一个新的语音,以便能够在我正在开发的一个.NET应用程序中使用 但当我使用GetInstalledVoices()方法查看所有语音列表时,只会出现一个(默认为“Microsoft Anna”)。为什么会这样 语音显示在控制面板->语音部分 其他TTS应用程序也可以使用此语音。我找到了问题的答案 这是System.Speech.Synthesis中的一个错误,和.NET v4.5解决了这个问题。检查此处所示的注册表:并注意64位操作系统上的平台目标设

我在我的Windows7 32位操作系统中安装了一个新的语音,以便能够在我正在开发的一个.NET应用程序中使用

但当我使用
GetInstalledVoices()
方法查看所有语音列表时,只会出现一个(默认为“Microsoft Anna”)。为什么会这样

语音显示在控制面板->语音部分


其他TTS应用程序也可以使用此语音。

我找到了问题的答案


这是
System.Speech.Synthesis中的一个错误,
和.NET v4.5解决了这个问题。

检查此处所示的注册表:并注意64位操作系统上的平台目标设置。我只有Microsoft Anna voice路径“HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens”。我应该手动添加注册表项才能使用我的语音吗?其他应用程序是如何找到它的?那么,这就解释了。您没有记录您是否在64位版本的Windows上运行此操作,因此没有可能在这方面提供帮助。联系voices的供应商以获得支持。我在询问之前检查了此线程。我尝试在32位版本的Windows7上运行这个程序。我将项目编译为x86平台目标。我还发现在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\”中存在关于我的语音引擎的记录。“Infovox Desktop v2.2”,参数为“CLSID”=“{54B3BC04-C5FE-4262-8A09-9B93EF479F4A}”。2021更新:链接已断开:(