我最近嘗試在Windows 7 Dell計算機上使用VS 2010中的C#(WinFormsApp)編寫基本語音識別。我能夠使用Microsoft的基本示例(http://msdn.microsoft.com/en-us/magazine/cc163663.aspx#S5)以及像這樣的論壇來工作。但是,我需要更換計算機,現在我試圖在具有相同規格的Lenovo計算機上進行復制。它不起作用,事實上,語音識別不斷干擾程序運行,當我更改爲SpeechRecognitionEngine
時,它仍然無法運行。 我能夠編譯沒有錯誤,但我看不到結果,即顯示e.Result.Text
的消息框。在c#VS 2010中使用Windows 7運行基本語音識別程序,它編譯但它不運行
我的代碼如下:
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,包括SAPI 5.1,Windows SDK v7.0和v7.1,我還包括COM和NET的語音庫,並且我構建了一個可用的合成器。
感謝您的回覆。我只是嘗試了我添加的兩條線,但它也沒有。我的電腦可以聽寫並驗證它聽到我的聲音,但我的程序無法在我的文本框中顯示此結果 – Ami 2011-04-29 22:57:31
爲什麼不嘗試我發佈在http://的小示例程序stackoverflow.com/questions/4730318/what-is-the-best-option-for-transcribing-speech-to-text-in-a-asp-net-web-app/4737003#4737003並查看它是否有效。看看是否有效。 – 2011-04-30 21:34:45
謝謝,我會的。我認爲這與我在這臺新電腦上做的安裝有些關係,因爲否則這個程序是逐字的。你認爲哪些組件對於安裝在x64 windows 7機器上很重要?我已經從註冊表中刪除了devenv.exe。 – Ami 2011-05-02 17:31:07