How to get dictation in command and control mode?
In C++/C#, use AddGrammar/SetGrammar functions.
In UtilPipeline/UtilMPipeline, use the SetVoiceCommands() function.
I tried the SetVoiceCommands / SetDictation of the UtilPipeline (c++) during runtime, it turned out that as soon as you invoke the call, the LoopFrames method will terminate upon the next speech input...
Thus, I've been wondering if we need to pause or quit the processing loop first before making such call for the mode change???Anyone has experienced this too?
Please call m_vrec->ProcessAudioAsync(0, 0);to synchronize previous audio before switching between dictation and command-and-control modes.
Thanks for the tip. This improved the mentioned situation and solved the issue to some extent.
For some reasons though, it kinda introduces a new stability issue of itself. Sometimes I got serious application crash when performing the mentioned switch, while other times the switch seems to be executed without much complication and things work as expected.
Whenever a crash occur during the switch (by calling the ProcessAudioAsync as suggested prior the switch), it tends to corrupt some of the memory space of the wrapped application and causes the debugger to break and flags the problem. Since the corrupted memory is different from time to time, it is not quite possible for me to nail down the actual cause from my side. Just wonder, has any of you experienced such crash during the switch before?
Setup: VS 2010, PC SDK Gold, Win8 Pro 64-bit