我正在创建一个小的 silverlight 小部件,它可以发音一个单词并在发音时突出显示每个音节。
作为其中的一部分,我使用SpeechSynthesizer.PhonemeReached 事件来确定每个音素的开始和结束时间(作为确定每个音节开始和结束时间的一个步骤)。
奇怪的是,PhonemeReachedEventArgs.Phoneme 属性有时是一个控制字符,至少(但可能不完全是)U+0004 END OF TRANSMISSION,包括不是,嗯,传输结束的地方(例如,开始)。
我找不到任何关于这应该意味着什么的文档,有人知道吗?
编辑:澄清一下,我没有在 Silverlight 中进行语音合成(因为不支持),我在服务器上进行,并在音频的 HTTP 标头中返回音节边界时间和单词的 IPA 转录回复。我可能根本不应该提到silverlight部分,因为它并不真正相关,我只是没有真正考虑解释上下文。哎呀。:)