c语言文字转语音代码,C语言实现将文字转为语音
#include
using namespace std;
#include //导入语音头文件
#include
#pragma comment(lib,"sapi.lib") //导入语音头文件库
void MSSSpeak(LPCTSTR speakContent)// speakContent为LPCTSTR型的字符串,调用此函数即可将文字转为语音
{
ISpVoice *pVoice = NULL;
//初始化COM接口
if (FAILED(::CoInitialize(NULL)))
MessageBox(NULL, (LPCWSTR)L"COM接口初始化失败!", (LPCWSTR)L"提示", MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2);
//获取SpVoice接口
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void**)&pVoice);
if (SUCCEEDED(hr))
{
pVoice->SetVolume((USHORT)100); //设置音量,范围是 0 -100
pVoice->SetRate(0); //设置速度,范围是 -10 - 10
hr = pVoice->Speak(speakContent, 0, NULL);
pVoice->Release();
pVoice = NULL;
}
//释放com资源
::CoUninitialize();
}
//string转换车wstring
std::wstring StringToWString(const std::string& s)
{
std::wstring wszStr;
int nLength = MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, NULL, NULL);
wszStr.resize(nLength);
LPWSTR lpwszStr = new wchar_t[nLength];
MultiByteToWideChar(CP_ACP, 0, s.c_str(), -1, lpwszStr, nLength);
wszStr = lpwszStr;
delete[] lpwszStr;
return wszStr;
}
void read(string temp) {
wstring a = StringToWString(temp);
LPCWSTR str = a.c_str();
/*不知道为什么Cstr不行*/
MSSSpeak(str);
cout << "朗读结束\n";
}
int main()
{
char buf[128];
int i;
while (1)
{
cout << "输入1继续程序,输入2退出\n";
cin >> i;
switch (i)
{
case 1: cout << "输入一句话\n";
cin >> buf;
read(buf);
break;
case 2:break;
}
if (i == 2)
break;
}
return 0;
}
。
c语言文字转语音代码,C语言实现将文字转为语音相关推荐
- 跟随鼠标走的文字的html代码,跟随鼠标走的文字的HTML代码
跟随鼠标走的文字的HTML代码 跟着鼠标走的文字 visibility:visible; top:-50px; font-size:12pt; font-family:隶书; color: 00001 ...
- c语言万年历查询程序代码,C语言 万年历程序(示例代码)
C语言 万年历程序 原代码:[email protected]:~/c++$ cat 123.c #include #define Mon 1 #define Tues 2 #define We ...
- 摇摇棒C语言程序,摇摇棒代码C语言.doc
摇摇棒代码C语言 /**************************************************************************** * * ********* ...
- C语言存储管理模拟程序设计代码,C语言程序设计教学大纲.doc
目 录 <C语言程序设计>教学大纲1 <实用操作系统>教学大纲5 <网页设计>教学大纲8 <计算机硬件基础>教学大纲12 <计算机网络技术> ...
- c语言交通违章编程代码,C语言程序设计交通处罚单管理系统 报告(内含代码).doc...
C语言程序设计交通处罚单管理系统 报告(内含代码) C语言程序设计 姓名:张强强 学号:座机电话号码695 班序号:011121 前言: C语言是近年来国内得到迅速推广使用的一种计算机语言.C语言程序 ...
- c语言万年历查询程序代码,C语言小程序实现万年历
分享一个简单的小程序,看看如何打印万年历吧~ 程序打开时时这样的,输入一个年份: 比如输入2016再回车,效果如下: 下面我们来看看实现这个程序的代码吧: #include #include #def ...
- html5 文字滑动特效代码,三种网页状态栏文字滚动特效代码
网页状态栏底部滚动文字特效代码 文字滚动特效代码一: >
- c语言坐标正反算代码,C语言代码逆向的实战十篇(原创)
); } printf("\n"); system("pause"); } (之前从VS2008复制过来的时候代码有高亮的,现在换了VC6就木有了..) 进入正 ...
- html文字转语音代码,【JavaScript】实现文本转语音功能
JavaScript 代码: // 初始化 speechSynthesis API const synth = window.speechSynthesis // 获取 DOM 节点 const bo ...
最新文章
- suse安装gcc,升级到4.8.5
- 蓝桥杯 第十届 JAVAB组 E迷宫
- 1022 词法分析程序总结
- inspect python_python之inspect模块
- 《操作系统真象还原》-阅读笔记(中)
- Python创建进程、线程的两种方式
- bash:express:command not found
- 阿里巴巴再陷“抄袭门”,究竟孰真孰假?
- 在非controllers中获取httpServletRequest
- 为什么有时不能正确定位到异常的发生位置?
- 线性变换与矩阵的一一映射
- html期末作业代码网页设计 我的家乡网站设计——我的家乡-四川成都(4页) HTML+CSS+JavaScript
- javascript时钟代码
- 一、zabbix与nagios对比
- uniapp 树组件 可设置展开层级 可设置回显内容 可设置单选多
- Python模拟登陆强智教务以及使用(持续更新中)
- hive执行insert overwrite失败,报错 could notbe cleaned up错误
- 小学计算机基础知识思维导图,简单易懂的小学除法思维导图
- nginx中的超时设置,请求超时、响应等待超时等
- 对PHM铣刀磨损数据进行分析
热门文章
- Redis--重写机制(减小AOF文件大小)
- GPU服务器使用教程
- 在win10系统安装linux系统,win10系统安装Linux子系统的操作方法
- 将家安在天涯,将这儿作为副战
- 【最新版】宝塔面板7.9.3企业版 开心破解版一键脚本
- Go语言环境配置 Sublime Text + GoSublime+ gocode + MarGo组合
- 对于20+想转行程序员但非常迷茫的人的一些建议
- zabbix邮箱告警
- 研发计算机主板需要什么专业,一种计算机主板研发用固定装置的制作方法
- linux 杂记 怎么解决 cuda 10.1 跑 cuda8下的代码 error