報(bào)警來了,播個(gè)鈴聲,播放一個(gè)一段wav文件,不過這個(gè)功能有點(diǎn)簡單。
來換個(gè)玩法吧,在指定的事件發(fā)生時(shí),把根據(jù)你自由定義的文本(報(bào)警文本或運(yùn)行時(shí)生成的文本)讀出
來,操作員不用看屏幕就知道發(fā)生了什么事,這樣不是更愜意些嗎……
這中間就需要“文本轉(zhuǎn)語音”tts功能,當(dāng)然這個(gè)功能的歷史也算是比較悠久了,可惜wincc oa沒有提供
中文tts功能。
那就想辦法自己找一個(gè)吧,windows中文操作系統(tǒng)自帶的中文tts功能,可以借用這個(gè)。
用記事本寫一個(gè)vbs: d:\tts.vbs
set sp = createobject(sapi.spvoice)
set voices = sp.getvoices() '獲得語音引擎集合
for i=0 to voices.count-1
if right(voices(i).id, 24)=mssimplifiedchinesevoice then cn=i
next
set sp.voice = voices.item(cn)
set oargs = wscript.arguments '命令行參數(shù)
for each text in oargs
sp.speak(text)
next
在命令行下測試一下:
d:\>tts.vbs 測試測試
這時(shí)如果計(jì)算機(jī)tts正常工作,應(yīng)該聽得到“測試測試”的中文朗讀。
接下來在wincc oa需要播放聲音的地方,加入以下腳本:
string text=測試測試;
system(start /b d:\\tts.vbs + text);
請加入自己的文本即可。
英文單詞也可以讀出來。
簡單易行!