Share via


Respond to microphone buttons (.NET)

Dragon Medical SpeechKit supports button events from microphones and control devices. Make sure that microphone button support is properly set up in your app.

Use the ISession.ControlDeviceEventReceived event to assign functionality to microphone buttons. This event is fired each time a supported button is pressed on a supported microphone.

Enabling microphone button support

To support Nuance PowerMic and Philips SpeechMike buttons, add the following dependencies to your app's manifest file:

  • For x86 apps:

    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Nuance.PowerMic"
                version="<Nuance.PowerMic assembly version>"
                processorArchitecture="x86"/>
        </dependentAssembly>
    </dependency>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Philips.SpeechMike"
                version="<Philips.SpeechMike assembly version>"
                processorArchitecture="x86"/>
        </dependentAssembly>
    </dependency>
    
  • For x64 apps:

    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Nuance.PowerMic"
                version="<Nuance.PowerMic assembly version>"
                processorArchitecture="amd64"/>
        </dependentAssembly>
    </dependency>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Philips.SpeechMike"
                version="<Philips.SpeechMike assembly version>"
                processorArchitecture="amd64"/>
        </dependentAssembly>
    </dependency>
    
    

Remarks

  • If you're using Philips SpeechMike, we recommend always installing the latest SpeechMike firmware.
  • Nuance supports the use of Dragon Medical SpeechKit in combination with the Nuance.PowerMic and Philips.SpeechMike assembly versions distributed with that Dragon Medical SpeechKit package. Newer versions that the vendor guarantees to be binary backwards compatible can also be used.
  • The GetAudioDevices() function and the AudioDevice property are deprecated. It's still possible, but not recommended to use them on the shared session object to retrieve the available audio devices and override the default device.
  • The user can select a microphone via the user interface. The selected microphone will be remembered for the user and given precedence over any integration-defined audio device. For more information, see the 'Speak' topic of the integrated end user help.

Customizable buttons

You can customize some microphone buttons via your integration. When these buttons are pressed, Dragon Medical SpeechKit sends notifications to your app via the ControlDeviceEventReceived event. Use these notifications to trigger custom functionality in your app, such as opening and closing a report. For more information, see: Session events.

To be notified about button presses, do the following:

  1. Add an event handler for the ControlDeviceEventReceived event exposed by the ISessionEvents interface. This will be invoked whenever the user presses a customizable microphone button while the session is open.
  2. In the event handler, invoke the corresponding functionality based on the value of the cdEvent parameter. This is one of the values of the ControlDeviceEvent enumeration, indicating which microphone button is pressed by the user.

Button mapping

The Nuance PowerMic III buttons are as follows:

PowerMic button names

The mapping between the ControlDeviceEvent enumeration values and the physical microphone buttons varies depending on the microphone model.

This table shows the mapping for Nuance PowerMic and Philips SpeechMike devices:

ControlDeviceEvent value Nuance PowerMic III button name Philips SpeechMike button name Nuance PowerMic 4 button name Default Dragon Medical One/DM Direct functionality
Button1Pressed Transcribe EOL Rear function button Transfer text
Button2Pressed Enter/Select Command Enter/Select Accept defaults
Button3Pressed Customizable Right Insert/Overwrite Function D Show/hide dictation box
Button4Pressed Tab Backward F1 Tab Backward Previous field
Button5Pressed Tab Forward F2 Tab Forward Next field
Button6Pressed Customizable Left F4 Function B No default
Button7Pressed Reserved for future use Reserved for future use Reserved for future use No default
Button8Pressed Not mapped to a button F3 Function C No default
Button9Pressed Not mapped to a button Not mapped to a button Function A No default

Non-customizable buttons

You can't customize the following microphone buttons: Play, Stop, Record, Fast Forward and Fast Rewind. No values of the ControlDeviceEvent enumeration map to these buttons; your app doesn't receive notifications when these buttons are pressed.

These buttons provide the following standard functionality out of the box:

  • Record: Starts recording audio.

  • Stop: Stops recording.

  • Fast Forward: Moves the cursor to the next field.

  • Fast Rewind: Moves the cursor to the previous field.

For more information on using these buttons, see the 'Microphones' topic in the Help section of the personalization & help window.