【发布时间】:2012-08-10 07:22:58
【问题描述】:
这是一个微软语音api相关的问题:
当 SpeechSynthesizer 触发 SpeakStarted 事件时,我想知道 SpeechSynthesizer 在这个事件中会说什么。这样我就可以同步语音和 GUI 显示了。
代码:
SpeechSynthesizer _reader = new SpeechSynthesizer();
_reader.SpeakStarted += new EventHandler<SpeakStartedEventArgs>(_reader_SpeakStarted);
void _reader_SpeakStarted(object sender, SpeakStartedEventArgs e)
{
// now _speak started!
Console.WriteLine("_reader_SpeakStarted\t" + e.ToString());
// string textContent=????
// updateGUI(textContent);
}
_reader.SpeakAsync("Hello world A B C"); //asynchronize method!!!
_reader.SpeakAsync("Hello world B C D");
_reader.SpeakAsync("Hello world C D E");
问题:
在 SpeakStarted 事件中,无法说出要说出的文本内容。
奇怪的是,“Hello world x x x”确实出现在参数中,如果你在那里放一个断点,但没有办法访问它。
如果有人可以帮助我,我将不胜感激。
.Net 4,windows 7 64 位,VS2010
【问题讨论】:
标签: c# sapi text-to-speech