(仅供参考)如何在IFIX中播放WAV音频
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何在IFIX中播放WAV音频
第一步:
打开IFIX工作台,在Globals目录下选择User,点击鼠标右键,选择编辑脚本(如下图所示):
打开VB编程环境,选择“User”,点击鼠标右键,选择插入模块:
将会出来以下内容:
在右侧窗口内写入下列代码(可直接COPY),保存:
Public Declare Function sndPlaySound Lib "winmm" Alias _
"sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
' flag uitzetten
Public Const SND_SYNC = &H0
Public Const SND_ASYNC = &H1
Public Const SND_NODEFAULT = &H2
Public Const SND_MEMORY = &H4
Public Const SND_LOOP = &H8
Public Const SND_NOSTOP = &H10
Public Sub PlaySound(strSound As String)
sndPlaySound strSound, SND_ASYNC Or SND_NODEFAULT
End Sub
如下所示:
退出VB编程环境。
(此步骤所有应用都一样,通用)
第二步:
在需要调用声音文件的地方写入如下代码:
PlaySound "D:\10156031.wav",
黄色标记处为声音文件的详细路径
Sample:
选择按钮点击鼠标右键,选择“编辑脚本”:
写入下列脚本:
Private Sub CommandButton1_Click()
Dim Alms As Long ' Alarm Counter Variable
'Get the alarm counter of the specific area.
'Format: Fix32.NodeName.AlarmArea.F_CV
'In this example change FIX to your node name and change 'CRITICAL to your alarm area name Alms = Fix32.Fix.T1.F_CV
'if the counter is > 0 then play sound file
If Alms > 0 Then
'Play wav file (wav files are only supported)
'in this example change the path in double quotes to your file you want to play on alarm PlaySound "D:\10156031.wav"
End If
End Sub
(黄色标记处是自动生成,用户只需写入中间的内容即可)
Fix32.Fix.T1.F_CV为测试仿真点,用户可根据需要和实际应用关联,如该点是一个报警点,即可在报警发生时,调用声音文件。
运行ifix画面:
输入大于0的值,点击“声音测试”按钮,即可播放出声音。
和报警的关联:
当有报警时,调用声音文件可在事件调度中做,
利用Fix32.FIX.ALARMCOUNTERS.F_UNACKTOT(未确认报警计数器点),
当该点不为0时,执行自定义脚本调用声音文件(脚本写法如上述例子)。