Используйте распознавание речи из C # - PullRequest
2 голосов
/ 29 июня 2009

Я пытаюсь написать программу, которая поддерживает распознавание речи с помощью пользовательской (специализированной) грамматики. Однако событие SpeechRecognized никогда не запускается, и апплет распознавания речи действует так, как будто грамматика не существует.

Вот мои точные шаги. Пожалуйста, скажите мне, где я иду не так.

  1. Откройте панель управления, найдите «речь», затем нажмите «Начать распознавание речи».
  2. Откройте Visual C #, создайте новый проект Windows Forms
  3. Скопируйте и вставьте код из первого ответа на этот вопрос переполнения стека в проект.
  4. Добавьте необходимую ссылку на System.Speech.
  5. Запустите программу с апплетом распознавания речи.
  6. Скажите «Начните слушать».
  7. Произнесите число от 1 до 100.

Текст метки никогда не меняется со значения по умолчанию («label1»), поэтому кажется, что rec_SpeechRecognized () никогда не вызывается, то есть событие SpeechRecognized никогда не срабатывает. Если я скажу число, которое звучит несколько похоже на название открытого окна или программы в моем меню «Пуск», оно спросит меня, имею ли я это в виду. Кажется, что он совершенно не зависит от пользовательской грамматики, которую я только что определил.

Я перепробовал множество примеров, которые нашел в Интернете, и все они в значительной степени эквивалентны примеру в ответе, на который я ссылался, только с другой грамматикой. Я получаю одинаковый результат для всех из них, поэтому я предполагаю, что, должно быть, делаю что-то еще неправильно.

Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 18 сентября 2009

Я думаю, вы не связали событие загрузки Form1 с подпрограммой Form1_Load в конструкторе. Я точно следовал вашим шагам и имел те же результаты; посмотрите, сможете ли вы получить точку останова в Form1_Load.

Как только я отредактировал конструктор, чтобы убедиться, что Form1_Load действительно вызван, он работал нормально.

0 голосов
/ 06 октября 2009

Если вы читаете другие посты в той же ветке, есть сообщение, в котором говорится, что вы должны добавлять числа в виде одного, двух и т. Д., А не 1, 2 ...

0 голосов
/ 06 октября 2009

Из-за отсутствия ответов я подозреваю, что это работает для всех остальных, но не для меня. Таким образом, похоже, что ответ «это невозможно».

...