Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将RichTextBox中的文本转换为语音_C#_.net_Winforms_Audio_Text To Speech - Fatal编程技术网

C# 将RichTextBox中的文本转换为语音

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

我有个问题。我有一个RichTextBox,我想将文本转换为语音音频,那么是否有一些库或程序可以这样做?我想用C,WinForms做这个

更新:

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不客气。你可以对你觉得有用的答案进行投票,并且只接受一个你认为对你的问题最好的答案。