【问题标题】:Get language of the current TTS voice获取当前 TTS 语音的语言
【发布时间】:2012-04-04 02:11:59
【问题描述】:

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

我想我会使用类似的东西

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

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

【问题讨论】:

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


    【解决方案1】:

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

    SpGetLanguageFromToken(ISpObjectToken* pToken, LANGID* pLangid)
    

    应该做你想做的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-11
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多