ACAT.Extensions.Default.AppAgents.TalkWindowAgent.TalkWindowContextMenu.handleSpeechControl C# (CSharp) Method

handleSpeechControl() private method

If text-to-speech is handled by hardware, this function can be used to send any escape sequences to control speech parameters in the hw. First checks if the speech controller supports the feature.
private handleSpeechControl ( ) : void
return void
        private void handleSpeechControl()
        {
            String word = String.Empty;

            if (!Context.AppTTSManager.ActiveEngine.GetInvoker().SupportsMethod("SpeechControl") ||
                !Context.AppTTSManager.ActiveEngine.GetInvoker().SupportsMethod("IsValidSpeechControlSequence"))
            {
                return;
            }

            try
            {
                using (AgentContext context = Context.AppAgentMgr.ActiveContext())
                {
                    context.TextAgent().GetWordAtCaret(out word);
                }

                object ret = Context.AppTTSManager.ActiveEngine.GetInvoker()
                                    .InvokeExtensionMethod("IsValidSpeechControlSequence", word);
                bool retVal = false;
                if (ret is bool)
                {
                    retVal = (bool)ret;
                }

                if (retVal)
                {
                    var prompt = Resources.SendSpeechControlSequence;
                    if (Context.AppTTSManager.ActiveEngine.GetInvoker().SupportsMethod("GetSpeechControlPrompt"))
                    {
                        ret = Context.AppTTSManager.ActiveEngine.GetInvoker()
                                .InvokeExtensionMethod("GetSpeechControlPrompt", word);
                        if (ret is String)
                        {
                            prompt = ret as String;
                        }

                        if (DialogUtils.ConfirmScanner(prompt))
                        {
                            Context.AppTTSManager.ActiveEngine.GetInvoker().InvokeExtensionMethod("SpeechControl", word);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
            }
        }

Usage Example

            /// <summary>
            /// Executes the command
            /// </summary>
            /// <param name="handled">set to true if handled</param>
            /// <returns>true on success</returns>
            public override bool Execute(ref bool handled)
            {
                handled = true;

                switch (Command)
                {
                case "QuickSearch":
                    _menu.handleQuickSearch();
                    break;

                case "GoogleSearch":
                    _menu.handleGoogleSearch();
                    break;

                case "WikiSearch":
                    _menu.handleWikiSearch();
                    break;

                case "Volume":
                    DialogUtils.LaunchVolumeSettingsAgent();
                    break;

                case "SpeechControl":
                    _menu.handleSpeechControl();
                    _menu.commandDispatcher.Dispatch("CmdGoBack", ref handled);
                    break;

                case "talkWindowZoomMenu":
                    _menu.handleTalkWindowZoom();
                    break;

                default:
                    handled = false;
                    break;
                }

                return(true);
            }