Share via


ISpAudio::SetFormat (SAPI 5.4)

Microsoft Speech API 5.4

ISpAudio::SetFormat

ISpAudio::SetFormat sets the format of the audio device.

  
    HRESULT SetFormat(
   REFGUID                rguidFmtId,
   const  WAVEFORMATEX   *pWaveFormatEx
);

Parameters

  • rguidFmtId
    [in] The REFGUID for the format to set. Typically this will be SPDFID_WaveFormatEx. This is required for the SAPI multimedia objects.
  • pWaveFormatEx
    [in] Address of the WAVEFORMATEX structure containing the wave file format information.

Return values

Value
S_OK
E_INVALIDARG
SPERR_DEVICE_BUSY
SPERR_UNINITIALIZED
SPERR_UNSUPPORTED_FORMAT
FAILED(hr)

Remarks

This method can be called only when the audio device is in the SPAS_CLOSED state. Note that successfully setting the format on an audio device does not necessarily mean that the format is supported. An attempt must be made to place the device into a non-closed state (SPAS_STOP, SPAS_PAUSE or SPAS_RUN) to be sure that the device can handle the format.

The format can be retrieved by calling the ISpStreamFormat::GetFormat method.

The helper class CSpStreamFormat and the SPSTREAMFORMAT enumeration can be used to avoid the possibility of typos or mistakes when filling in the WAVEFORMATEX structure.