Недавно я пытался написать базовое распознавание речи с использованием C # (WinFormsApp) в VS 2010 на компьютере Windows 7 Dell.Мне удалось заставить его работать, используя базовые примеры от Microsoft (http://msdn.microsoft.com/en-us/magazine/cc163663.aspx#S5) и с подобных форумов). Однако мне нужно было сменить компьютер, и теперь я пытаюсь повторить это на компьютере Lenovo с теми же характеристиками.фактически не работает, распознавание речи продолжает мешать работе программы, и когда я перешел на SpeechRecognitionEngine
, она все равно не запускается. Я могу скомпилировать без ошибок, но не вижу результата, то есть, MessageBox показывает e.Result.Text
.
Мой код ниже:
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;
using System.Threading;
namespace SpeechRecogTest
{
public partial class Form1 : Form
{
SpeechRecognitionEngine sr = new SpeechRecognitionEngine();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//Create grammar
Choices words = new Choices();
words.Add("Hi");
words.Add("No");
words.Add("Yes");
Grammar wordsList = new Grammar(new GrammarBuilder(words));
wordsList.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(rec_SpeechRecognized);
sr.LoadGrammar(wordsList);
}
void rec_SpeechRecognized(object sender, RecognitionEventArgs e)
{
MessageBox.Show(e.Result.Text);
}
}
}
Я был бы очень признателен за вашу помощь. Я почти уверен, что установил все SDK, включая SAPI5.1, Windows SDK v7.0 и v7.1, я также включил речевые библиотеки для COM и NET, и я создал синтезатор, который работает.