0

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

我以为我会使用类似的东西

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

但我不确定如何从中提取 LangId 以确定当前语言。我见过的指南似乎都解决了改变声音的问题。我更愿意保留当前的声音,然后根据用户已经为其系统选择的声音做一些定制的事情。

4

1 回答 1

1

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

SpGetLanguageFromToken(ISpObjectToken* pToken, LANGID* pLangid)

那应该做你想做的事。

于 2011-03-09T22:56:14.863 回答