#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语言实现将文字转为语音相关推荐

  1. 跟随鼠标走的文字的html代码,跟随鼠标走的文字的HTML代码

    跟随鼠标走的文字的HTML代码 跟着鼠标走的文字 visibility:visible; top:-50px; font-size:12pt; font-family:隶书; color: 00001 ...

  2. c语言万年历查询程序代码,C语言 万年历程序(示例代码)

    C语言 万年历程序 原代码:[email protected]:~/c++$ cat 123.c #include #define Mon   1 #define Tues  2 #define We ...

  3. 摇摇棒C语言程序,摇摇棒代码C语言.doc

    摇摇棒代码C语言 /**************************************************************************** * * ********* ...

  4. C语言存储管理模拟程序设计代码,C语言程序设计教学大纲.doc

    目 录 <C语言程序设计>教学大纲1 <实用操作系统>教学大纲5 <网页设计>教学大纲8 <计算机硬件基础>教学大纲12 <计算机网络技术> ...

  5. c语言交通违章编程代码,C语言程序设计交通处罚单管理系统 报告(内含代码).doc...

    C语言程序设计交通处罚单管理系统 报告(内含代码) C语言程序设计 姓名:张强强 学号:座机电话号码695 班序号:011121 前言: C语言是近年来国内得到迅速推广使用的一种计算机语言.C语言程序 ...

  6. c语言万年历查询程序代码,C语言小程序实现万年历

    分享一个简单的小程序,看看如何打印万年历吧~ 程序打开时时这样的,输入一个年份: 比如输入2016再回车,效果如下: 下面我们来看看实现这个程序的代码吧: #include #include #def ...

  7. html5 文字滑动特效代码,三种网页状态栏文字滚动特效代码

    网页状态栏底部滚动文字特效代码 文字滚动特效代码一: >

  8. c语言坐标正反算代码,C语言代码逆向的实战十篇(原创)

    ); } printf("\n"); system("pause"); } (之前从VS2008复制过来的时候代码有高亮的,现在换了VC6就木有了..) 进入正 ...

  9. html文字转语音代码,【JavaScript】实现文本转语音功能

    JavaScript 代码: // 初始化 speechSynthesis API const synth = window.speechSynthesis // 获取 DOM 节点 const bo ...

最新文章

  1. suse安装gcc,升级到4.8.5
  2. 蓝桥杯 第十届 JAVAB组 E迷宫
  3. 1022 词法分析程序总结
  4. inspect python_python之inspect模块
  5. 《操作系统真象还原》-阅读笔记(中)
  6. Python创建进程、线程的两种方式
  7. bash:express:command not found
  8. 阿里巴巴再陷“抄袭门”,究竟孰真孰假?
  9. 在非controllers中获取httpServletRequest
  10. 为什么有时不能正确定位到异常的发生位置?
  11. 线性变换与矩阵的一一映射
  12. html期末作业代码网页设计 我的家乡网站设计——我的家乡-四川成都(4页) HTML+CSS+JavaScript
  13. javascript时钟代码
  14. 一、zabbix与nagios对比
  15. uniapp 树组件 可设置展开层级 可设置回显内容 可设置单选多
  16. Python模拟登陆强智教务以及使用(持续更新中)
  17. hive执行insert overwrite失败,报错 could notbe cleaned up错误
  18. 小学计算机基础知识思维导图,简单易懂的小学除法思维导图
  19. nginx中的超时设置,请求超时、响应等待超时等
  20. 对PHM铣刀磨损数据进行分析

热门文章

  1. Redis--重写机制(减小AOF文件大小)
  2. GPU服务器使用教程
  3. 在win10系统安装linux系统,win10系统安装Linux子系统的操作方法
  4. 将家安在天涯,将这儿作为副战
  5. 【最新版】宝塔面板7.9.3企业版 开心破解版一键脚本
  6. Go语言环境配置 Sublime Text + GoSublime+ gocode + MarGo组合
  7. 对于20+想转行程序员但非常迷茫的人的一些建议
  8. zabbix邮箱告警
  9. 研发计算机主板需要什么专业,一种计算机主板研发用固定装置的制作方法
  10. linux 杂记 怎么解决 cuda 10.1 跑 cuda8下的代码 error