【问题标题】:Disable built-in speech recognition commands?禁用内置语音识别命令?
【发布时间】:2011-06-18 23:24:39
【问题描述】:

我正在尝试构建能够以自定义方式解释各种文本命令的软件。我使用 System.Speech.Recognition,它的效果出奇地好,但我不知道如何解决这样一个事实,即每当我说“删除”、“关闭”、“更正”等时,我都会以默认值结束Windows (7) 实施。有没有办法通过 System.Speech.Recognition 解决这个问题?如果没有,您最推荐哪个 C# .NET 库?

【问题讨论】:

    标签: c# .net operating-system speech-recognition


    【解决方案1】:

    使用 SpeechRecognitionEngine 代替 SpeechRecognizer。
    试试这个:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Speech.Recognition;
    namespace speech
    {
    class Program
    {
        static void Main(string[] args)
        {
            SpeechRecognitionEngine mynizer = new SpeechRecognitionEngine();
    
            GrammarBuilder builder = new GrammarBuilder();
            builder.AppendDictation();
            Grammar mygram = new Grammar(builder);
            mynizer.SetInputToDefaultAudioDevice();
            mynizer.LoadGrammar(mygram);
            while (true)
            {
                Console.WriteLine(mynizer.Recognize().Text);
            }
        }
    
    }
    }
    

    【讨论】:

    • 将识别器指向默认麦克风并使用事件处理程序而不是无限循环:mynizer.SpeechRecognized += HandleSpeechRecognized; mynizer.SetInputToDefaultAudioDevice(); mynizer.RecognizeAsync(RecognizeMode.Multiple);
    猜你喜欢
    • 2015-10-01
    • 2013-06-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多