如何在 C# Visual Studio 2010 中使用已安装的语音

本文关键字:安装 语音 2010 Visual Studio | 更新日期: 2023-09-27 17:55:58

我想在c#程序中使用已安装的男性,女性等声音。 我正在使用语音合成器和说话异步函数。请帮助我。

如何在 C# Visual Studio 2010 中使用已安装的语音

下面是一篇关于如何在应用程序中实现语音的简单文章:

http://www.dotnetfunda.com/articles/article828-build-your-talking-application-.aspx

作为本文的一部分,它展示了如何列出所有已安装的语音,还展示了如何在应用程序中使用所选语音。 以下是本文给出的示例代码:

List lst = new List();
foreach (InstalledVoice voice in spsynthesizer.GetInstalledVoices())
{
    lst.Items.Add(voice.VoiceInfo);
}
spsynthesizer.SelectVoice(lstVoice[0].Name);

这会将所有已安装的语音放入列表中,并使用列表中的第一个语音作为所选语音。

如果你想

让你的程序说话,试着用这个:

public void Say(string say)
{
    SpeechSynthesizer talker = new SpeechSynthesizer();
    talker.Speak(say);
}

并像这样调用此函数: Say("Hello World"!);

确保包括:using System.Speech.Synthesis;

如果您需要获取男性或女性声音的列表,您可以执行以下操作:

    private static void Main()
    {
        Speak(VoiceGender.Male);
        Speak(VoiceGender.Female);
    }
    private static void Speak(VoiceGender voiceGender)
    {
        using (var speechSynthesizer = new SpeechSynthesizer())
        {
            var genderVoices = speechSynthesizer.GetInstalledVoices().Where(arg => arg.VoiceInfo.Gender == voiceGender).ToList();
            var firstVoice = genderVoices.FirstOrDefault();
            if (firstVoice == null)
                return;
            speechSynthesizer.SelectVoice(firstVoice.VoiceInfo.Name);
            speechSynthesizer.Speak("How are you today?");
        }
    }