C++ : 如何将 SAPI 与 QT Creator 一起使用
C++ : How to use SAPI with QT Creator?
我必须做一个项目,包括创建一个包含文本到语音解决方案的Web浏览器。我使用了 MSDN(此处)中的示例,但是当我尝试编译我的项目时,我遇到了很多错误,并且没有找到任何解决方案......
我正在这个项目中使用QT Creator。
控制台输出
这是我 project.pro:
#-------------------------------------------------
#
# Project created by QtCreator 2015-06-18T15:14:25
#
#-------------------------------------------------
QT += widgets webkitwidgets network multimedia
TARGET = Project
TEMPLATE = app
SOURCES += main.cpp
browser.cpp
HEADERS +=
browser.h
unix|win32: LIBS += -lsapi
而我的主要.cpp:
#include <sapi.h>
#include "sphelper.h"
int main(int argc, char *argv[])
{
ISpVoice *pVoice;
pVoice = NULL;
HRESULT hr = SpCreateBestObject(SPCAT_VOICES, L”Gender=Female”, NULL, &pVoice);
// --> I tried with HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice);, that's the same result...
if( SUCCEEDED( hr ) )
{
hr = pVoice->Speak(L"Hello world", 0, NULL);
pVoice->Release();
pVoice = NULL;
}
return 0;
}
感谢您的帮助!
这可能是我能想到的最简单的例子,适用于 MSVC。我不认为对于QT Creator来说会有很大的不同。
#include <sapi.h>
#include <sphelper.h>
#include <conio.h>
int main(int argc, char *argv[]){
HRESULT hr = S_OK;
CComPtr<ISpVoice> cpVoice;
::CoInitialize(NULL);
hr = cpVoice.CoCreateInstance(CLSID_SpVoice);
if(SUCCEEDED(hr)){
cpVoice->Speak(L"This is a test phrase.", SPF_DEFAULT, NULL);
cpVoice.Release();
}
puts("Press any key to continue...");
getch();
}
此代码将获取默认语音并开始说话。在Windows 7中,这个声音将是MS Anna。
相关文章:
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 如何在QT Creator上将QWidget声明为继承类的对象
- 在 QTextEdit 中使用指针或在 Qt-Creator 上使用 connect()
- Qt creator 4.11,在应用程序输出面板中创建一个链接
- 使用 Cmake 在 Qt Creator 中显示头文件
- 如何在 CMakeLists.txt Qt Creator 中包含头文件?
- 为什么Qt Creator的应用程序输出不能从spdlog记录器打印
- 使用Qt Creator在调试模式下编译一段代码
- Qt Creator 在执行步骤 "make" 时出现编译错误,-fno-stack-limit
- Qt creator语言 - fno-elide-constructors 不起作用
- 如何将Valgrind与Qt Creator一起使用来调试远程应用程序?
- QT Creator将SQLite复制为空数据库
- 如何在QT Creator中手动运行CMake和Run
- 在Qt Creator中应用代码更改的快捷方式是什么?
- Qt Creator在linux mint 64位中找不到CMAKE_CXX_COMPILER编译器
- 为什么 qt-creator 在我用小写字母命名小部件类后无法构建?
- Qt Creator项目打破:"找不到建筑x86_64符号"
- 您将如何在现有的QT Creator GUI项目中实现ROS发布者和订阅者?
- 将OpenBLAS与Qt Creator项目链接