读书人

关于Speech SDK 5.1的有关问题

发布时间: 2012-02-21 16:26:23 作者: rapoo

关于Speech SDK 5.1的问题求助
现在语音改为中文,中文能读了,英文单词只能一个字母一个字母读了,怎么能让英文也按单词读呢?
请指教,谢谢大家.

[解决办法]
CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);
你的这句是初始化读汉字的,以读汉字的方式读英文,它就一个字母一个字母的发音.
可用下面的方法做:
CoInitialize(NULL);



CLSIDFromProgID(L "SAPI.SpVoice ", &CLSID_SpVoice);



ISpVoice * pSpVoice = NULL;



if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL,

CLSCTX_INPROC_SERVER, IID_ISpVoice, (void **)&pSpVoice)))

{

cout < < "Failed to create instance of ISpVoice! " < < endl;

return -1;

}



现在我们用它来说 “Hello World”,非常简单:



pSpVoice-> Speak(L "Hello World! ", SPF_DEFAULT, NULL);



最后,清除这一切



pSpVoice-> Release();



CoUninitialize();

[解决办法]
应该没有提供自动切换,需要你在代码里面根据情况来切换speech模式
[解决办法]
当然可以,用XML进行标注。
你看看MSDN的相关文档。

读书人网 >VC/MFC

热点推荐