Joe*_*Joe 3 c# speech-recognition winforms
我有一个Windows窗体应用程序.我想做一个Voice Recognition.问题是Grammar我使用的仅限于我的选择列表(参见下面的程序).我希望我的程序能够识别所有单词.
Choices sList = new Choices();
sList.Add(new string[] { "hello", "test", "it works", "how", "are", "you", "today", "i", "am", "fine", "exit", "close", "quit", "so" });
Grammar gr = new Grammar(new GrammarBuilder(sList));
Run Code Online (Sandbox Code Playgroud)
你知道我怎么能让我的程序识别所有单词?
宣言 :
using System.Speech;
using System.Speech.Recognition;
using System.Speech.Synthesis;
Run Code Online (Sandbox Code Playgroud)
计划:
private void button2_Click(object sender, EventArgs e)
{
button2.Enabled = false; // Start record
button3.Enabled = true; // Stop record
Choices sList = new Choices();
sList.Add(new string[] { "hello", "test", "it works", "how", "are", "you", "today", "i", "am", "fine", "exit", "close", "quit", "so" });
Grammar gr = new Grammar(new GrammarBuilder(sList));
try
{
sRecognize.RequestRecognizerUpdate();
sRecognize.LoadGrammar(gr);
sRecognize.SpeechRecognized += sRecognize_SpeechRecognized ;
sRecognize.SetInputToDefaultAudioDevice();
sRecognize.RecognizeAsync(RecognizeMode.Multiple);
sRecognize.Recognize();
}
catch
{
return;
}
}
private void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text == "exit")
{
Application.Exit();
}
else
{
textBox1.Text = textBox1.Text + " " + e.Result.Text.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
这个程序的问题无法识别所有单词,对于我的项目,我想让它识别所有单词.
谢谢Stackoverflowers
如果我理解正确,你的意思是,这应该是你需要的:只需在DictationMode中使用SpeechRecognitionEngine,就像识别单词一样(参见例如http://csharp-tricks-en.blogspot.de/2011/03 /speech-recognition-part-1-dictation-mode.html)
| 归档时间: |
|
| 查看次数: |
6197 次 |
| 最近记录: |