Commit 5243f2e8 authored by Shaun Ren's avatar Shaun Ren Committed by Alexandre Julliard

sapi: Implement ISpeechVoice::Speak.

parent afac7d7e
......@@ -431,6 +431,7 @@ static void test_spvoice(void)
ULONG stream_num;
DWORD regid;
DWORD start, duration;
ISpeechVoice *speech_voice;
HRESULT hr;
if (waveOutGetNumDevs() == 0) {
......@@ -681,6 +682,14 @@ static void test_spvoice(void)
ok(hr == S_OK, "got %#lx.\n", hr);
ok(duration < 300, "took %lu ms.\n", duration);
hr = ISpVoice_QueryInterface(voice, &IID_ISpeechVoice, (void **)&speech_voice);
ok(hr == S_OK, "got %#lx.\n", hr);
hr = ISpeechVoice_Speak(speech_voice, NULL, SVSFPurgeBeforeSpeak, NULL);
ok(hr == S_OK, "got %#lx.\n", hr);
ISpeechVoice_Release(speech_voice);
done:
reset_engine_params(&test_engine);
ISpVoice_Release(voice);
......
......@@ -357,9 +357,11 @@ static HRESULT WINAPI speech_voice_get_SynchronousSpeakTimeout(ISpeechVoice *ifa
static HRESULT WINAPI speech_voice_Speak(ISpeechVoice *iface, BSTR text, SpeechVoiceSpeakFlags flags, LONG *number)
{
FIXME("(%p, %s, %#x, %p): stub.\n", iface, debugstr_w(text), flags, number);
struct speech_voice *This = impl_from_ISpeechVoice(iface);
return E_NOTIMPL;
TRACE("(%p, %s, %#x, %p).\n", iface, debugstr_w(text), flags, number);
return ISpVoice_Speak(&This->ISpVoice_iface, text, flags, (ULONG *)number);
}
static HRESULT WINAPI speech_voice_SpeakStream(ISpeechVoice *iface, ISpeechBaseStream *stream,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment