国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標(biāo)題: 博圖V15 wincc報(bào)警聲音提示 C函數(shù) [打印本頁]

作者: 俠客天下    時(shí)間: 2020-10-23 15:44
標(biāo)題: 博圖V15 wincc報(bào)警聲音提示 C函數(shù)
播放聲音C函數(shù) PlaySound_WinCC_Prof
WinCC Runtime Professional

    1.創(chuàng)建如下圖的C腳本:

//從此處開始插入標(biāo)頭

#include "GlobalDefinitions.h"
void Play_Sound()
{
//從此處開始插入標(biāo)頭

#pragma code("Winmm.dll")
VOID WINAPI PlaySoundA(char *pszSound, char* hmode, DWORD dwflag);
#pragma code()
PlaySoundA("C:\\mysound.wav", NULL, 1);
}


    2.如果替換掉“PlaySoundA” ("C:\\mysound.wav")路徑中的聲音文件就能實(shí)現(xiàn)播放其他的聲音文件。

    3.腳本鏈接到相關(guān)系統(tǒng)事件,例如:單擊按鈕或屏幕更改。

    4.當(dāng)事件發(fā)生時(shí)聲音就會被播放。


實(shí)現(xiàn)此功能的要求是必須安裝聲卡。


PlaySoundA函數(shù)的說明:

1.     參數(shù)char* pszSound:

      指定聲音文件 (*.wav 文件) 的全路徑。

2.     參數(shù)char* hmode:

      總為 0。

3.     參數(shù)DWORD dwflag:

       SND_SYNC = 0x0000:聲音文件播放一次,該腳本一直等到播放結(jié)束。

       SND_ASYNC = 0x0001:聲音文件播放一次,同時(shí)并行處理該腳本。

       SND_NODEFAULT = 0x0002:如果未找到該聲音文件,則不播放默認(rèn)值,而是什么也不播放。

       SND_LOOP = 0x0008:重復(fù)播放該聲音文件直到下個(gè) PlaySoundA 調(diào)用 (只能通過 0x0001) => 總是指定 0x0009。

    這些參數(shù)也可通過逐位邏輯‘或’進(jìn)行組合 (如:SND_ASYNC | SND_LOOP)





//從此處開始插入標(biāo)頭

#include "GlobalDefinitions.h"
void Play_Sound()
{
//從此處開始插入代碼

#pragma code ("Winmm.dll")
VOID WINAPI PlaySoundA(char *pszSound, char* hmode, DWORD dwflag );
#pragma code ( )


BOOL m1=GetTagWord("Tag_2");

if (m1)
{

PlaySoundA("D:\\f2818.wav",NULL,0x0001|0x0008);

}
if (m1==0)
{
         PlaySoundA(NULL,NULL,0x0000 );
}


作者: lubin5282    時(shí)間: 2020-10-29 08:01
不咋的,不咋的,不咋的,
作者: 俠客天下    時(shí)間: 2021-5-13 14:25
lubin5282 發(fā)表于 2020-10-29 08:01
不咋的,不咋的,不咋的,

有什么好的方法,指教下。謝謝





歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0