ISpAudio::SetVolumeLevel (Microsoft Speech Platform)

Microsoft Speech Platform SDK 11

Microsoft Speech Platform

ISpAudio::SetVolumeLevel

ISpAudio::SetVolumeLevel sets the current volume level. It is on a linear scale from zero to 10000. 

HRESULT SetVolumeLevel(
   ULONG   Level
);

Parameters

Level
[in] The new volume level.

Return values

Value Description
S_OK Function completed successfully.
E_INVALIDARG Level is greater than 10,000.
SPERR_DEVICE_NOT_SUPPORTED The device is not valid or does not support volumes.
FAILED(hr) Appropriate error message.

Remarks

For input devices with a boost control for the microphone, SAPI will split the volume range into two to allow automated use of the boost. The boost will be off from zero to 4,999 and on from 5,000 to 10,000. In each range, the full volume range of the device will be used independently. This can lead to discontinuity in the input energy level for a constant volume sound source. On some sound cards, the boost is applied to the input volume, but on others, the boost is applied to the playback volume resulting in the two ranges performing identically because the input level is unaffected.

Microphone wizards determining the best volume input level should take into consideration the potential discontinuity and ensure that the algorithm used to adjust the input volume level can handle the various possible forms of discontinuity at 5,000

For devices without a boost, there is no discontinuity at 5,000.