Microsoft Speech SDK
SAPI 5.1
ISpMMSysAudio::SetDeviceId
ISpMMSysAudio::SetDeviceId sets the multimedia device ID.
HRESULT SetDeviceId(
UINT uDeviceId
);
Parameters
- uDeviceId
- [in] The device ID of the device to set.
Return values
Value | Description |
---|---|
S_OK | Function completed successfully. |
SPERR_DEVICE_BUSY | Object is not in the SPAS_CLOSED state. |
SPERR_ALREADY_INITIALIZED | Object was created using an object token. |
E_INVALIDARG | uDeviceId is invalid. It is not set to WAVE_MAPPER or device does not exist. |
Remarks
This method works only on audio objects that were not created using an object token, and only when the object is in the SPAS_CLOSED state. This method should not be used in normal application development. SAPI provides tokens for all the available sound devices in a computer and these can be used to create an initialized SpMMSysAudio object. This method is available for non-standard multimedia audio devices. See the Simple Telephony sample for an example of when this method is useful.
Example
The following code snippet illustrates the use of ISpMMSysAudio::SetDeviceId.
HRESULT hr = S_OK;
// create the multimedia output object
hr = cpMMSysAudio.CoCreateInstance(CLSID_SpMMAudioOut);
// Check hr
// set the output device to an alternate multimedia device (e.g. modem)
hr = cpMMSysAudio->SetDeviceId(ALTERNATE_MM_DEVICE);
// Check hr