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);
}
}