Share via


ISpRecoContext::GetAudioOptions

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

This method gets audio options for a given stream. The default audio options are none (such as SPAO_NONE). The default retained audio format is the recognition format of the speech recognition (SR) engine. see ISpRecognizer::GetFormat with SPWF_SRENGINE. See also ISpRecoContext::SetAudioOptions.

Syntax

HRESULT GetAudioOptions(
  SPAUDIOOPTIONS* Options,
  GUID* pAudioFormatId,
  WAVEFORMATEX** ppCoMemWFE
);

Parameters

  • Options
    [out] Pointer to a value indicating the audio option set for the provided format identifier, or NULL if a value is not retrieved. Possible values are defined for SPAUDIOOPTIONS enumeration.
  • pAudioFormatId
    [in] Pointer to an audio stream format identifier (such as a GUID), or to NULL if the application is not interested in the retained audio format. If the application is not interested in the format, it ignores both pAudioFormatId and pWaveFormatEx parameters when calling ISpRecoContext::SetAudioOptions.
  • ppCoMemWFE
    [in] Address of a pointer to a WAVEFORMATEX containing the retained audio format, or to NULL if the application is not interested in the retained audio format. If WAVEFORMATEX data is retrieved, then the application must free it using CoTaskMemFree.

Return Value

The following table shows the possible return values.

Value Description

S_OK

Function completed successfully.

E_POINTER

One of the pointers is invalid or bad.

FAILED(hr)

Appropriate error message.

Remarks

A related enumeration is SPSTREAMFORMAT, which defines SAPI-supported stream formats. A related class is CspStreamFormat, which manages SAPI-supported stream formats and WAVEFORMATEX structures.

Example

The following code snippet illustrates the use of this method and querying the different retained audio settings.

HRESULT hr = S_OK;
// check if audio is being retained (default is NO)
hr = cpRecoContext->GetAudioOptions(&pAudioOptions, NULL, NULL);
// Check hr
// check what audio format would be retained 
hr = cpRecoContext->GetAudioOptions(NULL, &guidFormat, &pWaveFormatEx);
// Check hr
// ... do other operations
// free the wave format memory
::CoTaskMemFree(pWaveFormatEx);
// check if audio is being retained, and if so what the format is
hr = cpRecoContext->GetAudioOptions(&guid, &guidFormat, &pWaveFormatEx);
// Check hr
// ... do other operations
// free the wave format memory
::CoTaskMemFree(pWaveFormatEx);

Requirements

Header sapi.h, sapi.idl
Library sapilib.lib
Windows Embedded CE Windows CE .NET 4.1 and later

See Also

Reference

ISpRecoContext
SAPI Interfaces