1、批处理播放语音,代码以下:html
::代码示例 @echo off ::英文 mshta vbscript:createobject("sapi.spvoice").speak("There is a piece of pure land of legend, lived in ancient nation")(window.close) ::中文 mshta vbscript:createobject("sapi.spvoice").speak("传说中有一片净土,住着古老的民族!")(window.close)
代码解释: c++
一、mshta是dos里支持调用vbs和js的命令行;shell 二、这里是利用vbs实行语音朗读;api 注意:若是只能播放英文,则须要安装tts中文引擎函数 |
2、批处理播放文本文件url
一、新建一文本文件命名为PlayTxtSound.bat,右键编辑输入如下代码:spa
@echo off title 将文本文件的内容以音频方式输出 echo. *************音频输出txt内容**************** color 0a echo. ******************************************* echo. 做者:moki echo. 功能说明: echo. 1. 播放./config/Sound.txt里的文本内容; echo. ... echo. ******************************************* echo. ::启用延迟环境变量扩充 SetLocal EnableDelayedExpansion set txtstring= for /f %%i in (./config/Sound.txt) do ( echo %%i set "txtstring=!txtstring!%%i" ) mshta vbscript:createobject("sapi.spvoice").speak("!txtstring!")(window.close) ::mshta vbscript:createobject("sapi.spvoice").speak("净土")(window.close) ::停用延迟环境变量扩充 SetLocal DisableDelayedExpansion pause
二、在PlayTxtSound.bat同一目录,新建config文件夹。在config文件下新建一文本文件命名为Sound.txt,右键打开输入如下内容:命令行
传说中有一片净土, 住着古老的民族! 每一个人能歌善舞, 他们从不孤独。 传说中有一座雪山, 白云在山顶漂浮。 一个梦反反复复, 只想让你默默领悟。 哦啊依哟啊依哟啊依耶... 哦啊依哟啊依耶... 哦啊依哟啊依哟啊依耶... 哦啊依哟啊依耶... |
三、双击PlayTxtSound.bat运行。code
3、c++中调用批处理程序htm
一、新建一个win32控制台程序(我使用的是vs2010),项目名称为PlayTxtSound.sln。打开PlayTxtSound.cpp,在_tmain函数中输入以下代码并保存:
/****************c++内嵌批处理程序朗读***************/ char* chbuf= "传说中有一片净土,住着古老的民族!"; char chcmd[1024] = {0}; sprintf(chcmd,"mshta vbscript:createobject(\"sapi.spvoice\").speak(\"%s\")(window.close)",chbuf); system(chcmd); system("pause"); /***************c++调用批处理文件朗读***************/ char* batfile = "F:\\test\\批处理之播放文本文件里的内容"; memset(chcmd,0,sizeof(chcmd)); sprintf(chcmd,"call %s",batfile); system(chcmd); system("pause"); return 0;
二、编译运行结束。
4、源代码下载地址以下:
http://pan.baidu.com/s/1dDgi1Ux
提取码:416f
参考文档:
http://baike.baidu.com/link?url=XMACGB5luUTjKRDxdllQroKbRbCTMSBFI9FWazmTBkqWwFOImePgmjggezkJ0tAg