在實際的項目應(yīng)用中,常常會遇到現(xiàn)場產(chǎn)生的報警要求有聲音提示的需求,而紫金橋軟件實現(xiàn)聲音報警也有多種方式,這里總結(jié)一下幾種常用的方式:使用媒體播放組件、函數(shù)、系統(tǒng)自帶的預(yù)定義動作功能,不過要注意無論哪種方式都不支持在ie客戶端上使用。下面就分別介紹一下這三種方式的實現(xiàn)過程:
一.使用媒體播放組件實現(xiàn)
使用媒體播放組件結(jié)合增強(qiáng)型報警組件可以很方便的控制報警聲音的播放。為了方便介紹,再對需求細(xì)化一下,就是只要有未確認(rèn)的報警就會播放報警聲音文件。
1. 在軟件的子圖里可以找到媒體播放器控件組件:
拖曳到窗口上并命名這里是DM。
對媒體播放器對象屬性進(jìn)行簡單配置:
在初始播放里關(guān)聯(lián)聲音文件,這里因為不需要界面所以界面模式設(shè)置成簡潔方式。
2. 同理再找到增強(qiáng)型報警組件并在畫面上組態(tài):
并將此控件命名為alarm,完成畫面組態(tài):
3. 腳本組態(tài)
在工程的畫面/腳本/應(yīng)用,周期腳本里寫如下函數(shù):
這樣在工程運行時就可以自動判斷未確認(rèn)的報警并播放報警聲音。
這種方式的特點是,靈活性比較好,可以滿足多種報警條件觸發(fā)聲音報警,但是要求客戶基本掌握媒體播放器組件的配置和函數(shù)使用。
二.使用聲音播放函數(shù)實現(xiàn):
紫金橋播放聲音的有兩個函數(shù):分別是beep()和PlaySound();下面是函數(shù)的使用介紹:
beep(Int Flag)
說明:系統(tǒng)揚聲器發(fā)出聲響。
參數(shù):Flag: 聲音標(biāo)識。-1和0為兩種不同的系統(tǒng)報警聲音。
返回值:無。
示例:Bepp(0);//系統(tǒng)揚聲器發(fā)出0聲音標(biāo)識的系統(tǒng)報警聲音
注意:確保參數(shù)有效。
PlaySound(String SoundFile, Int Synch)
說明:播放一段聲音文件。
參數(shù):SoundFile: 聲音文件名,包括路徑名。
Synch: 播放方式。1:同步,播放完程序才繼續(xù)執(zhí)行;0:異步,不等播放完,程序繼續(xù)執(zhí)行。
返回值:無。
示例:PlaySound("C:\Program Files\Windows NT\Pinball\SOUND1.WAV",1);//同步播放指定的聲音文件。
函數(shù)使用都很簡單但是要注意:beep要求機(jī)器主板要有揚聲器。
這種方式的特點是,在報警條件滿足(類似上面的提到的有未確認(rèn)的報警),即調(diào)用這兩函數(shù)之一都可以播放聲音。和上一種方式類似靈活性比較好,可以滿足多種報警條件觸發(fā)的聲音報警。
三.通過系統(tǒng)提供的預(yù)定義功能來實現(xiàn)
紫金橋軟件也提供了方便的播放聲音文件的預(yù)定義功能,只要簡單的配置就可以使用。
在開發(fā)環(huán)境里的畫面/腳本/條件腳本,預(yù)定義動作可以勾選語音播放的選項:
上述兩個勾選都可以產(chǎn)生報警。(條件腳本的使用可以參照軟件的幫助主題中的具體介紹)同時,報警條件既可以使用預(yù)定義條件也可以自己編寫條件表達(dá)式。
這種方式的特點是,使用起來比較簡單,只需要簡單的組態(tài)即可以完成功能,但是相對前面的兩種方式靈活性差一些。
|