C# 有没有办法抑制背景语音识别功能并顺利运行?

C# 有没有办法抑制背景语音识别功能并顺利运行?,c#,visual-studio-2010,speech-recognition,C#,Visual Studio 2010,Speech Recognition,我正在尝试在Windows7上的VisualStudio2010中开发一个程序。我终于让它运行起来了,尽管它有点喜怒无常(有时运行平稳,有时不平稳)。 我意识到,如果不启用语音识别,它就无法运行。在调试它之前,我打开了语音识别,尽管我发现语音识别的后台函数会干扰代码的执行。它开始尝试在我的代码中插入单词,这会中断代码,以此类推。有没有办法抑制这些背景函数,使语音识别(SR)只专注于运行我的代码 我认为总体思路是找到一种有助于其平稳一致运行的配置…尝试使用SpeechRecognitionEngi

我正在尝试在Windows7上的VisualStudio2010中开发一个程序。我终于让它运行起来了,尽管它有点喜怒无常(有时运行平稳,有时不平稳)。 我意识到,如果不启用语音识别,它就无法运行。在调试它之前,我打开了语音识别,尽管我发现语音识别的后台函数会干扰代码的执行。它开始尝试在我的代码中插入单词,这会中断代码,以此类推。有没有办法抑制这些背景函数,使语音识别(SR)只专注于运行我的代码


我认为总体思路是找到一种有助于其平稳一致运行的配置…

尝试使用
SpeechRecognitionEngine
而不是
SpeechRecognitionizer

下面是一个例子:

using System;
using System.Collections.Generic; 
using System.Linq;
using System.Text;
using System.Speech.Recognition;
namespace speectest
{
class Program
{
    static void Main(string[] args)
    {
        SpeechRecognitionEngine engine = new SpeechRecognitionEngine();

        GrammarBuilder grandma = new GrammarBuilder();
        engine.SetInputToDefaultAudioDevice();
        grandma.AppendDictation();
        engine.LoadGrammar(new Grammar(grandma));
        engine.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(engine_RecognizeCompleted);
        engine.RecognizeAsync();
        System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
    }

    static void engine_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
    {
        Console.WriteLine(e.Result.Text);
    }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用系统语音识别;
名称空间speectest
{
班级计划
{
静态void Main(字符串[]参数)
{
SpeechRecognitionEngine=新建SpeechRecognitionEngine();
GrammarBuilder=新的GrammarBuilder();
engine.setInputOdeFaultAudioDevice();
奶奶,听写;
加载语法(新语法(grand));
engine.RecognizeCompleted+=新事件处理程序(engine_RecognizeCompleted);
engine.RecognizeAsync();
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
静态无效引擎_RecognizeCompleted(对象发送方,RecognizeCompletedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
}
}

尝试使用
语音识别引擎
而不是
语音识别器

下面是一个例子:

using System;
using System.Collections.Generic; 
using System.Linq;
using System.Text;
using System.Speech.Recognition;
namespace speectest
{
class Program
{
    static void Main(string[] args)
    {
        SpeechRecognitionEngine engine = new SpeechRecognitionEngine();

        GrammarBuilder grandma = new GrammarBuilder();
        engine.SetInputToDefaultAudioDevice();
        grandma.AppendDictation();
        engine.LoadGrammar(new Grammar(grandma));
        engine.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(engine_RecognizeCompleted);
        engine.RecognizeAsync();
        System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
    }

    static void engine_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
    {
        Console.WriteLine(e.Result.Text);
    }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用系统语音识别;
名称空间speectest
{
班级计划
{
静态void Main(字符串[]参数)
{
SpeechRecognitionEngine=新建SpeechRecognitionEngine();
GrammarBuilder=新的GrammarBuilder();
engine.setInputOdeFaultAudioDevice();
奶奶,听写;
加载语法(新语法(grand));
engine.RecognizeCompleted+=新事件处理程序(engine_RecognizeCompleted);
engine.RecognizeAsync();
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
静态无效引擎_RecognizeCompleted(对象发送方,RecognizeCompletedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
}
}

我们使用上的标签来组织问题。您不需要在标题中添加“语音识别C#Visual Studio 2010 on Windows 7”。我们使用标签来组织问题。你不需要在你的标题里放“语音识别C×Visual Studio 2010在Windows 7”中。请原谅我的无知,但这看起来像C++……是吗?我试着用c#语言识别引擎,但它根本不运行……甚至我的程序中的语音合成部分也不运行。不,它是c#;当然不是C++。你在这里没有看到任何包含语句的东西。请原谅我的无知,但这看起来像C++……是吗?我试着用c#语言识别引擎,但它根本不运行……甚至我的程序中的语音合成部分也不运行。不,它是c#;当然不是C++。在这里你看不到任何include语句。