SpeechRecognizer IsUISupported Method

Microsoft Speech SDK

Intelligent Interface Technologies Home Page Microsoft Speech SDK

Speech Automation 5.1

Interface: ISpeechRecognizer

IsUISupported Method


The IsUISupported method determines if the specified UI is supported.

The speech recognition (SR) and text-to-speech (TTS) engines are capable of displaying and running various user interfaces (UI). These displays assist with different aspects of the speech environment such as user training, microphone wizards, adding and removing words, or setting controls for the engine. Many of these UIs are available using Speech properties in Control Panel. In addition, the engines are capable of requesting that specific UIs are run to improve a situation. For example, the SR could request more user training if the recognitions are consistently poor.

Engines are not required to support UI and not all engines will have the same UI. Consult the manufacturer's engine documentation for specific details. An application may call ISpeechRecognizer.IsUISupported before attempting to invoke a particular UI to see if the engine supports it. Invoking unsupported UIs will cause a run-time error. If the UI is available, use ISpeechRecognizer.DisplayUI to invoke the display.


SpeechRecognizer.IsUISupported(
     TypeOfUI As String,
     [ExtraData As Variant = Nothing]
) As Boolean

Parameters

TypeOfUI
A String specifying the name of the UI to display. For a list of available SAPI 5 UI, see Engine User Interfaces.
ExtraData
[Optional] Specifies the ExtraData. This information is unique to the application and may be used to provide additional or more specific information to the UI. By default the Nothing value is used and indicates the UI does not use any additional information provided by this method.

Return Value

The IsUISupported method returns a Boolean variable.


Remarks

See ISpeechRecognizer.DisplayUI and ISpeechRecoContext.RequestUI for additional information.

Example

The following Visual Basic form code demonstrates the use of the IsUISupported event. The application attempts to run two UIs. The first is the training wizard (the same one available using Speech properties in Control Panel) and the second UI is a nonexistent one called MyAppUI.

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.

    Public WithEvents RC As SpSharedRecoContext
    Public myGrammar As ISpeechRecoGrammar
    
    Private Sub Command1_Click()
        RunUI SpeechUserTraining
        RunUI "MyAppUI"
    End Sub
    
    Private Sub Form_Load()
        Set RC = New SpSharedRecoContext
        
        Set myGrammar = RC.CreateGrammar
        myGrammar.DictationSetState SGDSActive
    End Sub
    
    Private Function RunUI(theUI As String)
        If RC.Recognizer.IsUISupported(theUI) = True Then
            RC.Recognizer.DisplayUI Form1.hWnd, "My App's Additional Training", theUI, vbNullString
        Else
            MsgBox theUI & " UI not supported"
        End If
    End Function