Share via


ISpRecoResult::GetAudio

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

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

This method creates an audio stream of the requested words from the audio data in the result object.

Even if there are no elements, that is, ulStartElement = 0 and cElements = 0, then the audio will still be played. There are "unrecognized" results that have no elements but do have audio.

An application can find the time offsets for each element by examining the retrieved phrase using ISpPhrase::GetPhrase.

Syntax

HRESULT GetAudio(
  ULONG ulStartElement,
  ULONG cElements,
  ISpStreamFormat** ppStream
); 

Parameters

  • ulStartElement
    [in] Element in the result data at which the audio stream starts.
  • cElements
    [in] Total number of words.
  • ppStream
    [out] Address of a pointer to an object implementing ISpStreamFormat that represents the audio data.

Return Value

The following table shows the possible return values.

Value Description

S_OK

Function completed successfully.

E_INVALIDARG

cElements is zero or the expected number of elements to count exceeds the number available.

E_POINTER

ppStream is an invalid pointer.

SPERR_NO_AUDIO_DATA

This result object does not have any audio data.

FAILED(hr)

Appropriate error message.

Example

The following code snippet illustrates the use this method to retrieve the retained audio.

HRESULT hr = S_OK;
// ... obtain a recognition result object from the recognizer...
hr = cpRecoResult->GetAudio( 0, 0, &cpStreamFormat );
// Check hr
// check the format of the stream for fun...
hr = cpStreamFormat->GetFormat(&formatId, &pWaveFormatEx);
// Check hr

Requirements

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

See Also

Reference

ISpRecoResult
SAPI Interfaces