ISpeechRecoGrammar DictationUnload method (SAPI 5.3)
Microsoft Speech API 5.3
Interface: ISpeechRecoGrammar
DictationUnload Method
The DictationUnload method unloads the active dictation topic from the grammar.
ISpeechRecoGrammar.DictationUnload()
Parameters
None.
Return Value
None.
Example
The following Visual Basic form code demonstrates the use of the DictationLoad, DictationSetState, and DictationUnload methods. It creates a grammar, configures the grammar to perform both dictation and command and control (C and C) recognition, and toggles between the two types of recognition.
To run this code, create a form with the following control:
- A command button called Command1
Paste this code into the Declarations section of the form.
The Form_Load procedure creates a grammar object, associates it with the system dictation lexicon and the Solitaire C and C grammar, and begins recognition in dictation mode. The Command1_Click procedure toggles the recognition mode between dictation and C and C. The Form_Unload procedure unloads the dictation grammar and deactivates the C and C grammar.
Option Explicit
Dim MyRecoContext As SpeechLib.SpSharedRecoContext
Dim MyGrammar As SpeechLib.ISpeechRecoGrammar
Private Sub Command1_Click()
On Error GoTo EH
If Command1.Caption = "&Dictation;" Then
MyGrammar.CmdSetRuleIdState 0, SGDSInactive 'C&C; off
MyGrammar.DictationSetState SGDSActive 'Dictation on
Command1.Caption = "&C; and C"
Else
MyGrammar.DictationSetState SGDSInactive 'Dictation off
MyGrammar.CmdSetRuleIdState 0, SGDSInactive 'C&C; on
Command1.Caption = "&Dictation;"
End If
EH:
If Err.Number Then ShowErrMsg
End Sub
Private Sub Form_Load()
On Error GoTo EH
'Create a RecoContext and its Grammar
Set MyRecoContext = New SpSharedRecoContext
Set MyGrammar = MyRecoContext.CreateGrammar
'Get dictation grammar and set it inactive
MyGrammar.DictationLoad "", SLOStatic
MyGrammar.DictationSetState SGDSInactive
'Get Command & Control grammar, and set it inactive
MyGrammar.CmdLoadFromFile "C:\SOL.XML", SLOStatic
MyGrammar.CmdSetRuleIdState 0, SGDSInactive
'Set dictation active and set up Command1.Caption
MyGrammar.DictationSetState SGDSActive
Command1.Caption = "&C; and C"
EH:
If Err.Number Then ShowErrMsg
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo EH
MyGrammar.DictationUnload
MyGrammar.CmdSetRuleIdState 0, SGDSInactive
EH:
If Err.Number Then ShowErrMsg
End Sub
Private Sub ShowErrMsg()
' Declare identifier:
Dim T As String
T = "Desc: " & Err.Description & vbNewLine
T = T & "Err #: " & Err.Number
MsgBox T, vbExclamation, "Run-Time Error"
End
End Sub