语音和我添加了grmmar,只检测这样的数字
SpeechRecognitionEngine RecognitionEngine = new SpeechRecognitionEngine(new CultureInfo("en-US", true));
// Created Grammar For only Numbers 1 to 10
var NumberChoice = new Choices();
for (var i = 0; i <= 10; i++)
{
NumberChoice.Add(i.ToString());
}
var NumGrammarBuilder = new GrammarBuilder(NumberChoice);
var NumGrammar = new Grammar(NumGrammarBuilder);
RecognitionEngine.LoadGrammar(NumGrammar);
RecognitionEngine.SetInputToDefaultAudioDevice();
RecognitionResult Result = RecognitionEngine.Recognize();
txt_vtc.Text = Result.Text;
但是当我说话的时候输出变得有些不同,当我说两个时它会变成八个而最糟糕的是当我打开我的风扇说话时,它甚至不能识别出小声音。这对普通客户来说是否有用?当客户端说pin时,它必须捕获pin码并将其保存在文本文件中..这对我有用..
如果它能正确地识别出1到10,那么绰绰有余吗?在这种情况下,任何人都可以帮助我。 当用户说话时,我可以显示进度条或任何仪表吗? 我可以使用英语 - 英国文化来表达我的语音吗? 我们有没有第三方dll?
此致 Bhuvan
答案 0 :(得分:2)
您可以尝试使用此代码示例来解决您的问题
SpeechRecognitionEngine rec = new SpeechRecognitionEngine();
var c = new Choices();
for (var i = 0; i <= 100; i++)
c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
g.Priority = 127;
rec.SetInputToDefaultAudioDevice();
rec.LoadGrammar(g);
rec.RecognizeAsync(RecognizeMode.Multiple);