Esempio n. 1
0
        public HotGrammar NewGrammar()
        {
            var hg = new HotGrammar();

            hg.GrammarBuilder.Culture = _recognizer.RecognizerInfo.Culture;
            return(hg);
        }
Esempio n. 2
0
        /// <summary>
        /// Adds one or more HotGrammars to this HotGrammar
        /// COM does not support Variable argument lists, so for now this method only support up to 10 parameters
        /// </summary>
        public void AppendGrammars(HotGrammar g1, HotGrammar g2 = null, HotGrammar g3 = null, HotGrammar g4 = null, HotGrammar g5 = null,
                                   HotGrammar g6 = null, HotGrammar g7 = null, HotGrammar g8 = null, HotGrammar g9 = null, HotGrammar g10 = null)
        {
            var hotGrammars = new[] { g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 };
            var max         = -1;

            for (var i = 0; i < 10; i++)
            {
                if (hotGrammars[i] == null)
                {
                    break;
                }
                max = i;
            }

            max++;

            var grammarBuilderArray = new GrammarBuilder[max];

            for (var i = 0; i < max; i++)
            {
                grammarBuilderArray[i] = hotGrammars[i].GrammarBuilder;
            }

            GrammarBuilder.Append(new Choices(grammarBuilderArray));
        }
Esempio n. 3
0
        /// <summary>
        /// Loads a HotGrammar object into the recognizer
        /// </summary>
        /// <param name="hotGrammar"></param>
        /// <param name="name">The name to give the Grammar</param>
        /// <param name="callback">The code to fire when the Grammar is spoken</param>
        /// <returns></returns>
        public string LoadGrammar(HotGrammar hotGrammar, string name, dynamic callback)
        {
            _loadedHotGrammarDictionary.Add(name, new LoadedGrammar {
                HotGrammar = hotGrammar, Callback = callback
            });
            var g = new Grammar(hotGrammar.GrammarBuilder)
            {
                Name = name
            };

            _recognizer.LoadGrammar(g);
            return(hotGrammar.GetPhrases());
        }