我是C#的新手,我是Speech.Recognition的新手。 我搜索了很长时间的教程,但没有找到那么多,我甚至不确定我是否正确地包含了所有内容。
我下载了:
我在本地编程,我有Windows XP,.net framework 3.5。
现在我只想开始使用一些简单的代码行,比如说“hello world”或者说一两个单词作为输入。
我试过了,当然它不起作用:> 错误:
“无法找到”Typ-或Namespacename“SpeechSynthesizer”(是使用了Direktive还是Assemblyverweis?)“
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Speech.Recognition;
using System.Speech.Synthesis;
namespace System.Speech.Recognition { }
namespace System.Speech.AudioFormat {}
namespace System.Speech.Recognition.SrgsGrammar{}
namespace System.Speech.Synthesis { }
namespace System.Speech.Synthesis.TtsEngine { }
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
SpeechSynthesizer foo = new SpeechSynthesizer();
foo.Speak("Test");
}
}
}
编辑:
您好, 我试过你的代码,但是 使用SpeechLib; 无法找到:>
现在我写道:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Speech.Recognition;
using System.Speech.Synthesis;
using System.SpeechLib;
namespace System.SpeechLib { }
namespace System.Speech.Recognition { }
namespace System.Speech.AudioFormat {}
namespace System.Speech.Recognition.SrgsGrammar{}
namespace System.Speech.Synthesis { }
namespace System.Speech.Synthesis.TtsEngine { }
但我收到错误:
numericUpDown1,SpVoice,SpeechVoiceSpeakFlags,textBox1和Timeout
答案 0 :(得分:3)
Project + Add Reference,.NET选项卡,选择“System.Speech”。
项目模板预先选择了几个.NET程序集。但只有常见的,如System.dll,System.Core.dll等。你必须自己添加“不寻常”的。
答案 1 :(得分:0)
你可以试试这个:
获取Interop.SpeechLib.dll
using SpeechLib;
private void ReadText(string readText)
{
int iCounter = 0;
while (Convert.ToInt32(numericUpDown1.Value) > iCounter)
{
SpVoice spVoice = new SpVoice();
spVoice.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
spVoice.WaitUntilDone(Timeout.Infinite);
iCounter = iCounter + 1;
}
}