//C++小程序: 文字转声音
// 本小程序基于C++空项目,通过包含头文件WinSock2.h、库文件ws2_32.lib,仅使用简单代码即实现文字转声音目的。
// 程序运行环境为VS2022,有关代码及注释见以下内容:
#define _CRT_SECURE_NO_WARNINGS //编译出现错误时按提示加此行代码解决
#include<iostream>
#include<fstream>
#include<string>
#include <WinSock2.h>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main()
{
while (true)
{
//使用system函数设置界面
system("color B0"); //设置控制前景背景颜色
system("title 文字转声音小程序"); //修改控制台caption
system("mode con cols=50 lines=20"); //设置控制台大小
//输入需要转成声音的文字(直接输入或粘贴)
string inputString =""; //设置准备输入的字符串变量
cout << "请输入要转声音的文字" ;
cin >> inputString;
if (inputString[0] == 'q'&& inputString[1]=='w' && inputString[2] == 'e' && inputString[3] == 'r' &&
inputString[4] == 't') //设置退出的条件为输入字符串"qwert"。
{
cout << "程序即将退出......" << endl;
break;
}
//生成vbs脚本文件
FILE* fp = fopen("voice.vbs", "w");
//按照下面第三行格式将要转声音的文字内容写入脚本文件
char temp[1024]; //若文字较多时,增加这个数组
memset(temp, 0, 1024);//字符串变量要重复使用时要进行清空
strcpy_s(temp, inputString.c_str());
fprintf(fp,"CreateObject(\"SAPI.SpVoice\").Speak(\"%s\")",temp);//注意转义字符,无报错
//关闭脚本文件
fclose(fp);//
//用system函数运行生成的脚本文件发出声音
system("voice.vbs");
system("pause");
}
//程序退出时将声音脚本文件删除
remove("voice.vbs");
system("pause");
return 0;
}
C++小程序: 文字转声音
最新推荐文章于 2024-08-25 16:26:02 发布