——雨燕 2018-10-27 12:57 采纳率: 0%
浏览 994

windows自带语音合成服务,CoCreateInstance函数返回REGDB_E_CLASSNOTREG。

我使用vs2017下载的 window 10 SDK 自带的SAPI库。CoCreateInstance函数会根据CLSID的值到注册表中寻找对应的DLL文件,但在注册表中查询不到我在VS中追踪GUID打印出来的项值{96749377-3391-11d2-9EE3-00C04F797396},如果要自己在注册表中增加这个项,那么在InProcServer路径下对应的DLL文件是哪个呢?
#include
#include
#pragma comment(lib,"SAPI.lib")
int main()
{
SetConsoleOutputCP(936);
ISpVoice pVoice = NULL;
::CoInitialize(NULL);
if (FAILED(::CoInitialize(NULL))) MessageBox(NULL, TEXT("CoInitialize Error!"), TEXT(""), MB_OK);
HRESULT hr = CoCreateInstance(CLSID_SpVoice,NULL, CLSCTX_ALL, IID_ISpVoice,(void *
)&pVoice);
if (hr == REGDB_E_CLASSNOTREG) {
printf_s("%x\n", hr);
}
if (SUCCEEDED(hr)) {
MessageBox(NULL,TEXT("CoInitialize Error!"), TEXT(""), MB_OK);
pVoice->SetVolume((USHORT)100); //设置音量,范围是 0 -100
pVoice->SetRate(0); //设置速度,范围是 -10 - 10
hr = pVoice->Speak(L"Hello World", 0, NULL);
pVoice->Release();
pVoice = NULL;
}
::CoUninitialize();
}

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2018-10-31 14:44
    关注
    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码