示例#1
0
        public override void Stop()
        {
            SF = null;
            synth?.Dispose();

            if (recognitionEngine == null)
            {
                return;
            }
            recognitionEngine.RecognizeAsyncStop();
            recognitionEngine.UnloadAllGrammars();
            recognitionEngine.Dispose();
        }
示例#2
0
        public override void DoBeforeNextExecute()
        {
            CheckScriptTimer();

            if (bufferTosay != "")
            {
                if (bufferTosay.Contains(";"))
                {
                    PromptBuilder pb = new PromptBuilder();
                    foreach (var s in bufferTosay.Split(';'))
                    {
                        //pb.StartParagraph();
                        //pb.StartSentence();
                        pb.AppendText(s);
                        pb.AppendBreak(PromptBreak.Small);
                        //pb.EndSentence();
                        //pb.EndParagraph();
                    }
                    Say(pb);
                }
                else
                {
                    Say(bufferTosay);
                }

                bufferTosay = "";
                return;
            }

            if (cmd == 'S')
            {
                if (SF == null)
                {
                    SF = new ScriptSpeech(this);
                }
                SF.Speech();
            }
        }