问题描述
- 利用微软软件语音识别类库System.Speech.Recognition,无法识别语音
-
利用微软的语音识别类库做语音识别,用带麦克风的耳机在讲话测试时。
讲“选择红色”,窗体就变成红色,讲“选择绿色”,窗体就变成绿色。目前遇到一个问题,前段时间测试时,可以响应我的语音的选择。
但这几天测试时,不管怎么讲,这么就不响应我的语音的选择了呢?请问微软的语音识别率怎么样?大家有没有遇到类似的问题,这么解决下,谢谢!
附代码:
private SpeechRecognitionEngine SRE = new SpeechRecognitionEngine();
private void Form3_Load(object sender, EventArgs e)
{
SRE.SetInputToDefaultAudioDevice(); //<=======默认的语音输入设备,你可以设定为去识别一个WAV文件。
GrammarBuilder GB = new GrammarBuilder();
GB.Append("选择");
GB.Append(new Choices(new string[] { "红色", "绿色" }));
Grammar G = new Grammar(GB);
G.SpeechRecognized += new EventHandler(G_SpeechRecognized);
SRE.LoadGrammar(G);
SRE.RecognizeAsync(RecognizeMode.Multiple); //<=======异步调用识别引擎,允许多次识别(否则程序只响应你的一句话)}
void G_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Text = e.Result.Text;
switch (e.Result.Text)
{
case "选择红色":
BackColor = Color.Red;
break;
case "选择绿色":
BackColor = Color.Green;
break;
}
}