0

我正在尝试更改 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 上对其进行了测试,程序按预期工作。

4

0 回答 0