首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于Speech SDK 5.1的有关问题

2012-02-21 
关于Speech SDK 5.1的问题求助现在语音改为中文,中文能读了,英文单词只能一个字母一个字母读了,怎么能让英

关于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的相关文档。

热点排行