我想在 c# 程序中使用已安装的男性、女性等声音。我使用语音合成器和 speakAsync 功能。请帮我。
问问题
6005 次
3 回答
3
这是一篇关于如何在应用程序中实现语音的简单文章:
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);
这会将所有已安装的声音放入一个列表中,并将列表中的第一个声音用作选定的声音。
于 2011-05-08T06:34:50.147 回答
1
如果你想让你的程序说话,试试这个:
public void Say(string say)
{
SpeechSynthesizer talker = new SpeechSynthesizer();
talker.Speak(say);
}
并像这样调用这个函数:Say("Hello World"!);
确保您包括:using System.Speech.Synthesis;
于 2011-05-08T06:38:04.603 回答
0
如果您需要获取男性或女性声音的列表,您可以执行以下操作:
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?");
}
}
于 2011-05-08T07:25:02.180 回答