-1
기본 음성 인식 응용 프로그램을 만들려고했지만 오류가 있습니다. Enable 버튼을 클릭하면 다음 오류가 발생합니다. 인식을 수행하기 전에 적어도 하나의 문법을로드해야합니다. 설치하고로드 했더라도인식을 시작할 수 없음 : 인식을하기 전에 하나 이상의 문법을로드해야합니다.
. 아무도 나를 도울 수 있습니까?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Speech.Recognition;
namespace Voice_Recognition
{
public partial class Form1 : Form
{
SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine();
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
recEngine.RecognizeAsyncStop();
btnDisable.Enabled = false;
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
Choices commands = new Choices();
commands.Add(new String[] { "Say Hello", "Print my name" });
GrammarBuilder gBuilder = new GrammarBuilder();
gBuilder.Append(commands);
Grammar grammar = new Grammar(gBuilder);
recEngine.LoadGrammar(grammar);
recEngine.SetInputToDefaultAudioDevice();
recEngine.SpeechRecognized +=new EventHandler<SpeechRecognizedEventArgs>(recEngine_SpeechRecognized);
}
private void button1_Click(object sender, EventArgs e)
{
recEngine.RecognizeAsync(RecognizeMode.Multiple);
btnDisable.Enabled = true;
}
void recEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
switch (e.Result.Text)
{
case "Say Hello":
MessageBox.Show("Hello Andrea");
break;
case "Print my name":
richTextBox1.Text += "\nAndrea";
break;
}
}
}
}
나는 코드를 단계별로 실행해야하고이 오류가 실제로 어디에서 발생하는지 확인해야한다고 생각한다. Object Null은 여전히 디버거를 사용하고 코드를 통해 단계를 진행한다. – MethodMan
'richTextBox1_TextChanged '의 모든 내용이'Form1 대신'생성자. –
@Andrew 그게 다야! 믿을 수 없어 나는 그것을 스스로 깨닫지 못했다 .... 어쨌든 남자 감사합니다 :) – user2258223