获取当前TTS语音的语言

时间:2011-02-23 07:55:08

标签: c++ text-to-speech sapi

获取TTS引擎将使用的当前语音的语言的最佳方法是什么?

我以为我会使用像

这样的东西
ISpObjectToken *pToken = NULL;
HRESULT hResult;
CComPtr<ISpVoice>   cpVoice;
hResult = cpVoice.CoCreateInstance( CLSID_SpVoice );
hResult = cpVoice->GetVoice(&pToken);

但我不确定如何从中提取LangId以确定当前语言。我见过的导游似乎都在谈论改变声音。我更愿意保留当前的语音,然后针对用户已为其系统选择的语音做一些定制的事情。

1 个答案:

答案 0 :(得分:1)

Windows SDK中的sphelper.h有一个辅助函数

SpGetLanguageFromToken(ISpObjectToken* pToken, LANGID* pLangid)

应该做你想做的事。