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

 找回密碼
 注冊
搜索

博圖V15 wincc報警聲音提示 C函數

[復制鏈接]
樓主
俠客天下 發表于 2020-10-23 15:44:32 | 只看該作者 |倒序瀏覽 |閱讀模式
播放聲音C函數 PlaySound_WinCC_Prof
WinCC Runtime Professional

    1.創建如下圖的C腳本:

//從此處開始插入標頭

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

#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")路徑中的聲音文件就能實現播放其他的聲音文件。

    3.腳本鏈接到相關系統事件,例如:單擊按鈕或屏幕更改。

    4.當事件發生時聲音就會被播放。


實現此功能的要求是必須安裝聲卡。


PlaySoundA函數的說明:

1.     參數char* pszSound:

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

2.     參數char* hmode:

      總為 0。

3.     參數DWORD dwflag:

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

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

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

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

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





//從此處開始插入標頭

#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 發表于 2020-10-29 08:01:43 | 只看該作者
不咋的,不咋的,不咋的,
板凳
 樓主| 俠客天下 發表于 2021-5-13 14:25:51 | 只看該作者
lubin5282 發表于 2020-10-29 08:01
不咋的,不咋的,不咋的,

有什么好的方法,指教下。謝謝
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 02:49

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表