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