我能够获得安装在Windows 10系统上的所有声音的列表:
var voiceCollection = synthesizer.GetInstalledVoices();
我可以从某个语言环境中获取已安装语音的列表,例如:
var voiceCollection = synthesizer.GetInstalledVoices(new CultureInfo("es-ES"));
上述行不会返回任何已安装的es-MEX
声音
我的问题是 - 有没有办法用某种语言获取所有已安装语音的列表 - 例如所有西班牙语的语音,无论其具体如何locale?
答案 0 :(得分:2)
一般情况下,你可以尝试使用 Linq 来过滤掉的声音:
using System.Linq;
...
List<InstalledVoice> voices = synthesizer
.GetInstalledVoices() // all voices
.Where(voice => voice.VoiceInfo.Culture.Name.StartsWith("es")) // but filtered
.ToList(); // organized in a list