ISpTranscript::GetTranscript
ISpTranscript::GetTranscript gets the current transcript. The string returned will be allocated by CoTaskMemAlloc and applications implementing this method must call CoTaskMemFree() to free memory associated with this string.
HRESULT GetTranscript(
LPWSTR **ppszTranscript
);
Parameters
- ppszTranscript
- [out, string] A pointer to the null-terminated transcription string.
Return values
Value | Description |
---|---|
S_OK | Function completed successfully. ppszTranscript contains a CoTaskMemAllocated string. |
E_OUTOFMEMORY | Exceeded available memory. |
SPERR_UNINITIALIZED | Object has not been initialized. |
E_POINTER | ppszTranscript is bad or invalid. |
S_FALSE | No transcript is present and ppszTranscript will be NULL. |
FAILED (hr) | Appropriate error message. |
Example
The following code snippet illustrates the use of ISpTranscript::GetTranscript.
// Declare local identifiers:
HRESULT hr = S_OK;
CComPtr<ISpStream> cpStream;
CComPtr<ISpTranscript> cpTranscript;
PWCHAR pwszTranscript;
// Bind a stream to an existing wavefile (assumes
// existence of the file "C:\VoiceToFile.wav").
hr = SPBindToFile(L"C:\\VoiceToFile.wav", SPFM_CREATE_ALWAYS, &cpStream;);
if (SUCCEEDED(hr))
{
hr = cpStream.QueryInterface(&cpTranscript;);
}
if (SUCCEEDED(hr))
{
hr = cpTranscript->GetTranscript(&pwszTranscript;);
}
if (SUCCEEDED(hr))
{
// Do stuff here.
}
// Release system resources.
::CoTaskMemFree(&pwszTranscript;);