Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 fires 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 theAudioDeviceproperty 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 through your integration. When users press these buttons, Dragon Medical SpeechKit sends notifications to your app through 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 get notifications about button presses, follow these steps:
Add an event handler for the
ControlDeviceEventReceivedevent exposed by theISessionEventsinterface. This event handler is invoked whenever the user presses a customizable microphone button while the session is open.In the event handler, invoke the corresponding functionality based on the value of the
cdEventparameter. This parameter is one of the values of theControlDeviceEventenumeration, indicating which microphone button the user pressed.
Button mapping
The Nuance PowerMic III buttons are as follows:

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 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 |
Unify SpeechMike and PowerMic 4 button events
By default, Philips SpeechMike and Nuance PowerMic 4 use different button event mappings. This means pressing the same physical button on either device triggers a different ControlDeviceEvent value, as indicated in the Philips SpeechMike and Nuance PowerMic 4 button name columns in the button mapping section above.
For example, pressing the SpeechMike EOL button triggers Button1Pressed by default, while pressing the PowerMic 4 rear function button also triggers Button1Pressed. Without standardization, your integration must accommodate device-specific mappings individually.
To streamline this process and eliminate the need to handle two sets of button events, set SpeechMikeButtonMappingAsPowerMicEnabled to true on the shared session instance:
Session.SharedSession.SpeechMikeButtonMappingAsPowerMicEnabled = true;
You can configure this setting before or after Session.Open().
When enabled, SpeechMike button presses correspond to the ControlDeviceEvent values listed in the Nuance PowerMic 4 column of the button mapping table, enabling unified button behavior across both devices.
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.