@@ -77,28 +77,6 @@ return eciDataAbort;
77
77
if (Msg == eciWaveformBuffer && lParam > 0 )
78
78
{
79
79
SAPI->m_OutputSite ->Write (SAPI->buffer , lParam*2 , NULL );
80
- SAPI->m_AudioOffset += lParam*2 ;
81
- }
82
- if (Msg == eciIndexReply && lParam < 0x7fffffff && SAPI->m_pCurrFrag != NULL )
83
- {
84
- CSpEvent Event;
85
- Event.eEventId = SPEI_WORD_BOUNDARY;
86
- Event.elParamType = SPET_LPARAM_IS_UNDEFINED;
87
- Event.ullAudioStreamOffset = SAPI->m_AudioOffset ;
88
- Event.lParam = SAPI->m_pCurrFrag ->ulTextSrcOffset ;
89
- Event.wParam = SAPI->m_pCurrFrag ->ulTextLen ;
90
- SAPI->m_OutputSite ->AddEvents ( &Event, 1 );
91
- SAPI->m_pCurrFrag = SAPI->m_pCurrFrag ->pNext ;
92
- }
93
- if (Msg == eciIndexReply && lParam == 0x7fffffff )
94
- {
95
- CSpEvent Event;
96
- Event.eEventId = SPEI_SENTENCE_BOUNDARY;
97
- Event.elParamType = SPET_LPARAM_IS_UNDEFINED;
98
- Event.ullAudioStreamOffset = 0 ;
99
- Event.lParam = 0 ;
100
- Event.wParam = SAPI->m_TotalLen ;
101
- SAPI->m_OutputSite ->AddEvents ( &Event, 1 );
102
80
}
103
81
return eciDataProcessed;
104
82
}
@@ -361,10 +339,6 @@ STDMETHODIMP CTTSEngObj::Speak( DWORD dwSpeakFlags,
361
339
return hr;
362
340
}
363
341
m_OutputSite = pOutputSite;
364
- m_pCurrFrag = pTextFragList;
365
- m_AudioOffset = 0 ;
366
- m_IndexNum = 1 ;
367
- m_TotalLen = 0 ;
368
342
369
343
while (pTextFragList != NULL )
370
344
{
@@ -402,6 +376,7 @@ STDMETHODIMP CTTSEngObj::Speak( DWORD dwSpeakFlags,
402
376
{
403
377
// --- Notify SAPI how many items we skipped. We're returning zero
404
378
// because this feature isn't implemented.
379
+ hr = pOutputSite->CompleteSkip ( 0 );
405
380
}
406
381
}
407
382
@@ -418,10 +393,6 @@ STDMETHODIMP CTTSEngObj::Speak( DWORD dwSpeakFlags,
418
393
text2speak[strsize] = 0 ;
419
394
WideCharToMultiByte (CP_ACP, 0 , pTextFragList->pTextStart , pTextFragList->ulTextLen , text2speak, strsize, NULL , NULL );
420
395
if (text2speak) eciAddText (engine, text2speak);
421
- // Insert an index
422
- // Increment index number and total length
423
- m_IndexNum++;
424
- m_TotalLen += pTextFragList->ulTextLen ;
425
396
break ;
426
397
}
427
398
case SPVA_Speak:
@@ -434,10 +405,6 @@ STDMETHODIMP CTTSEngObj::Speak( DWORD dwSpeakFlags,
434
405
text2speak[strsize] = 0 ;
435
406
WideCharToMultiByte (CP_ACP, 0 , pTextFragList->pTextStart , pTextFragList->ulTextLen , text2speak, strsize, NULL , NULL );
436
407
if (text2speak) eciAddText (engine, text2speak);
437
- // Insert an index
438
- // Increment index number and total length
439
- m_IndexNum++;
440
- m_TotalLen += pTextFragList->ulTextLen ;
441
408
break ;
442
409
}
443
410
@@ -473,8 +440,6 @@ STDMETHODIMP CTTSEngObj::Speak( DWORD dwSpeakFlags,
473
440
pTextFragList = pTextFragList->pNext ;
474
441
}
475
442
476
- // Mark the end of the text
477
-
478
443
// Synthesize text
479
444
eciSynthesize (engine);
480
445
0 commit comments