无法更改SpeechSynthesizer对象的VoiceGender

时间:2017-06-27 10:04:14

标签: c# asp.net visual-studio speechsynthesizer

我正在尝试更改SpeechSynthesizer对象的VoiceGender:

SpeechSynthesizer synth = new SpeechSynthesizer();
synth.SelectVoiceByHints(VoiceGender.Male, VoiceAge.Adult);
synth.Speak("Hello! Why is the voice still female?");

程序编译并运行没有错误,但声音是女声。

编辑:我检查了安装的声音:

foreach (var v in synth.GetInstalledVoices().Select(v => v.VoiceInfo))
{
    Console.WriteLine("Name:{0}, Gender:{1}, Age:{2}",
    v.Description, v.Gender, v.Age);
}

返回以下内容:

Name:Microsoft Hazel Desktop - English (Great Britain), Gender:Female, Age:Adult
Name:Microsoft David Desktop - English (United States), Gender:Male, Age:Adult
Name:Microsoft Zira Desktop - English (United States), Gender:Female, Age:Adult

EDIT2:在另一台PC上测试它,程序按预期工作。

0 个答案:

没有答案