C# 将RichTextBox中的文本转换为语音
我有个问题。我有一个RichTextBox,我想将文本转换为语音音频,那么是否有一些库或程序可以这样做?我想用C,WinForms做这个 更新:C# 将RichTextBox中的文本转换为语音,c#,.net,winforms,audio,text-to-speech,C#,.net,Winforms,Audio,Text To Speech,我有个问题。我有一个RichTextBox,我想将文本转换为语音音频,那么是否有一些库或程序可以这样做?我想用C,WinForms做这个 更新: private void aiutoVocaleToolStripMenuItem_Click(object sender, EventArgs e) { string contenuto_valore = TextBox_stampa_contenuto.Text.Trim(); var s = new System.Speech.S
private void aiutoVocaleToolStripMenuItem_Click(object sender, EventArgs e)
{
string contenuto_valore = TextBox_stampa_contenuto.Text.Trim();
var s = new System.Speech.Synthesis.SpeechSynthesizer();
s.Speak(contenuto_valore);
}
程序说没有对汇编的引用读取RichTextBox值,如果它是非常大的文本,则将其拆分,并请求将.google.com翻译为:
如果必须,可以获取使用HTTP GET生成的声音文件。请记住,您的客户需要访问internet
您需要引用System.Speech.dll才能使用SpeechSynthesizer。请遵循以下步骤:
在解决方案资源管理器中找到引用并单击鼠标右键
从关联菜单中单击“添加选项”
引用管理器弹出窗口将显示,在程序集-框架中尝试定位System.Speech.dll
如果可以找到,请选中它并单击“确定”
现在您可以运行以下代码
private void aiutoVocaleToolStripMenuItem_Click(object sender, EventArgs e)
{
using (SpeechSynthesizer synth = new SpeechSynthesizer())
{
synth.SetOutputToDefaultAudioDevice();
synth.Speak(TextBox_stampa_contenuto.Text.Trim());
}
}
您可以使用MS TTS: 使用TTS:
private static SpeechSynthesizer speaker;
public static void Main(String[] args){
speaker = new SpeechSynthesizer();
speaker.SetOutputToDefaultAudioDevice();
speaker.Rate = 1;
speaker.Volume = 100;
speaker.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult);
speaker.SpeakAsync("Hello World");
}
private static List<VoiceInfo> GetInstalledVoices() {
var listOfVoiceInfo = from voice
in speaker.GetInstalledVoices()
select voice.VoiceInfo;
return listOfVoiceInfo.ToList<VoiceInfo>();
}
只需读取RichTextBox的属性即可将文本内置到.NET中
var s = new System.Speech.Synthesis.SpeechSynthesizer();
s.Speak("hello");
@RedFerrari96您可以编辑问题并包含代码,而不是通过注释共享代码。您需要将System.Speech.dll添加到项目引用中。对不起,我忘了我可以在问题中添加代码。@RedFerrari96您可以,我是为您做的,希望您下次询问时提供您的工作;所以,我必须引入名为“System.Speech.dll”的新库吗?谢谢。@RedFerrari96不客气。你可以对你觉得有用的答案进行投票,并且只接受一个你认为对你的问题最好的答案。