Распознаватель речи не работает с моей формой, я думаю, что они не связаны
Эй, я использую распознаватель речи, он не распознает слова в моем проекте, я имею в виду, что он распознает их в одиночку, но он не применяет это в моей форме, вот код
private void Speak_Load(object sender, EventArgs e)
{
sr= new SpeechRecognizer();
sr.SpeechRecognized += sr_SpeechRecognized;
}
и функция распознавания речи:
void sr_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
richTextBox1.AppendText(e.Result.Text.ToString() + " ");
}
Я поставил точку останова на строке richtextbox1..., но он вообще не входит в эту функцию, хотя он, как я вижу, распознает некоторые слова, но не входит в функцию, как будто она вообще не связана с моей формой и когда Я, например, захожу в гугл и говорю несколько слов, чтобы он их отлично узнал.
примечание: в форме он просто распознает команды, он не распознает слова, и я не знаю, почему он не видит richtextbox в моей форме
1 ответ
Если вы используете SpeechRecognizer
Убедитесь, что фокус на вашем RichTextBox, иначе он не будет работать. Если фокус находится на другом элементе управления, он поместит слова туда. Чтобы избежать этого, используйте SpeechRecognitionEngine
:
// make sure to set the type of `sr` to SpeechRecognitionEngine
private void Speak_Load(object sender, EventArgs e)
{
sr = new SpeechRecognitionEngine();
sr.LoadGrammar(new DictationGrammar()); // load a dictation grammar, to allow dictation (recognizing all words)
sr.SetInputToDefaultAudioDevice();
sr.SpeechRecognized += sr_SpeechRecognized;
sr.RecognizeAsync(RecognizeMode.Multiple); // start recognizing
}
void sr_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
richTextBox1.AppendText(e.Result.Text.ToString() + " ");
}
SpeechRecognitionEngine
прежде чем вы сможете его использовать, нужно еще несколько вызовов функций, но теперь он всегда будет добавлять текст к вашему RichTextBox.