SDK摸了两天了,具体也有一点点眉目了。
有一个疑问,不知道实现不实现得了,应该是实现不了。
想给程序一串带中文英文的字符串,然后让程序都分别读出来。
目前使用中文语言,能发音中文,遇到英文一个一个字母念出来。
使用英文语言,英文能准确发音,遇到中文不认识,跳过。

解决方案 »

  1.   

    呵呵, lz看看我的博客吧, 最近搞过多语言的TTS.ISpVoice * pVoice = NULL;
     hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); hr = pVoice->Speak(L"< voice required='Language=409'/ >Hi, <voice required='Language=804'/> 欢迎来到中国。 ", SPF_IS_XML, NULL);http://blog.csdn.net/muzizongheng/archive/2009/09/15/4553673.aspx
      

  2.   

    用ms的引擎能区分出语言的种类来吗?
    我准备自己先区分种类在分别speak试试看了。
      

  3.   

    在vista上就可以中英混读,lili语音比较纯正
    语音包是5.3版本你看我以前的帖子
    http://topic.csdn.net/u/20090324/23/95cdd4c4-64d8-40d9-95a8-31538dd0b30a.html
      

  4.   

    vista 带的是5.3 , win7是5.4
    就是5.1是中文拼读字母.lz看看我的博客 应该能解决你的问题了.
      

  5.   

    sapi5.3的比较智能, 声音好听, 也不会傻傻的标点符号都读 或者单词拼写.
      

  6.   

    TMD,如果5.3 xp也能用弄完这个我就升级。
      

  7.   

     hr = pVoice->Speak(L"< voice required='Language=409'/ >Hi, <voice required='Language=804'/> 欢迎来到中国。 ", SPF_IS_XML, NULL); (木子纵横):你说对我有用的就是这个办法是吧。哈哈。
     
      

  8.   


    那就是 用SetVoice啊  反复调用它就行了
      

  9.   

    setvoice本意和读XML命令一样的道理。
    我当初就是想我增加先解析出来然后用setvoice,speak出来。
    不过5.1的话我想就这样了,中英文都要读出来的话,解析的过程还是得自己来做了。
      

  10.   

    恩, 和xml一样, 只是最简洁的.