【问题标题】:C# SpeechSynthesizer GetInstalledVoices - only 2 voices are listedC# SpeechSynthesizer GetInstalledVoices - 仅列出 2 个声音
【发布时间】:2022-02-21 03:58:50
【问题描述】:

我试图用代码获取已安装声音的列表:

    using(SpeechSynthesizer synth = new System.Speech.Synthesis.SpeechSynthesizer())
    {
        var installedVoices = synth.GetInstalledVoices();
    }

但返回列表仅包含 2 项。每种安装的语言一个,都是女性。 然而,在 Windows 控制面板中,我可以单独看到 3 个德语语音。我做错了什么?

【问题讨论】:

标签: c# text-to-speech


【解决方案1】:

您没有做错任何事情 - 这是语音 API 实现缺陷。长话短说 - 系统中注册了两组语音(HKLM\SOFTWARE\Microsoft\Speech\Voices 和 HKLM\SOFTWARE\Microsoft\Speech_OneCore\Voices),但 Speech API 只识别第一个,同时,从技术上讲,两者都可以使用。

查找 this my answer 了解详细信息和解决方案选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2016-03-13
    • 2011-03-13
    • 1970-01-01
    • 2019-01-19
    • 2016-02-15
    • 2011-06-26
    相关资源
    最近更新 更多