SpeechSynthesizer允许通过使用SelectVoiceByHints(VoiceGender, VoiceAge)函数(据我所知)使不同的声音达到峰值。但是,如果我改变了性别和声音年龄,则不会发生自定义。
你能解释一下为什么吗?如果我做错了什么,正确的方法是什么?
谢谢。
发布于 2010-06-15 21:19:31
下面是一个小测试程序,您可以使用它来发现已安装的声音:
using System;
using System.Speech.Synthesis; // Add reference to System.Speech
class Program {
static void Main(string[] args) {
var synth = new SpeechSynthesizer();
foreach (var voice in synth.GetInstalledVoices()) {
Console.WriteLine(voice.VoiceInfo.Description);
}
Console.ReadLine();
}
}我的机器上的输出: Microsoft Anna -英语(美国)
这是Windows afaik附带的唯一默认语音。这当然可以解释为什么改变性别和年龄对你的机器没有影响。
发布于 2010-06-15 20:00:13
根据函数的名称,我会说这是一个已安装语音的选择器。它不会以任何方式定制语音,而是根据您指定的参数从库中选择一个。
因此,如果只安装了一个声音,他只能选择那个声音。
https://stackoverflow.com/questions/3044859
复制相似问题