You are reading help file online using chmlib.com
|
ISpRecoResult::ScaleAudio converts an existing audio stream into a different audio format.
HRESULT ScaleAudio(
const GUID *pAudioFormatId,
const WAVEFORMATEX *pWaveFormatEx
);
Value | Description |
---|---|
S_OK | Function completed successfully. |
E_INVALIDARG | Either pAudioFormatId or pWaveFormatEx is invalid or bad. |
SPERR_NO_AUDIO_DATA | Audio stream is unavailable. |
SPERR_UNSUPPORTED_FORMAT | The engine format is non-waveformatex and the retained format the same format. |
E_OUTOFMEMORY | Exceeded available memory. |
FAILED(hr) | Appropriate error message. |
Use the ISpPhrase::Discard method to completely discard audio data associated with a result object.
The application can also set the default retained audio format for the ISpRecoResult object by calling ISpRecoContext::SetAudioOptions. Calling ::SetAudioOptions will only apply to all subsequent recognitions, not the current ISpRecoResult object.
When performing a scaling with a compressed format, it is possible to introduce small rounding errors, since the content of the audio is not used to perform the conversion.
Scaling between certain compressed formats is not supported by the SAPI format converter (See the Remarks section for ISpStreamFormatConverter).
The following code snippet illustrates the use ISpRecoResult::ScaleAudio to scale the audio to a low quality format before serialization to the disk (to save space).
HRESULT hr = S_OK;
// ... obtain a recognition result object from the recognizer...
// create a format helper with a very low quality format
CSpStreamFormat ScaleFormat(SPSF_8kHz8BitMono, &hr);
// Check hr
hr = cpRecoResult->ScaleAudio(&(ScaleFormat.FormatId()), ScaleFormat.WaveFormatExPtr());
// Check hr
// get a result serialization pointer
SPSERIALIZEDRESULT* pSerializedResult;
// serialize the result
hr = cpRecoResult->Serialize(&pSerializedResult);
// Check hr
// ... write pSerializedResult to the disk
Development Helpers
Helper Enumerations, Functions and Classes
Description
SPSTREAMFORMAT
SAPI supported stream formats
CSpStreamFormat
Class for managing SAPI supported stream formats and WAVEFORMATEX
structures
You are reading help file online using chmlib.com
If you want your help file to be removed or added please send e-mail to chmlibcom@gmail.com