❈前言
在实际的项目应用中,有时会遇到声音报警需求,那么在紫金桥软件里如何实现呢?总结一下几种常用的方式:使用媒体播放组件、函数、系统自带的预定义动作功能。上述几种方式不支持Web。
❈方式一:预定义条件及动作
该方式简单,无需写脚本,可以简单实现声音报警。 选择预定义动作,类型选择过程报警,下面配置报警条件
条件配置完,然后配置预定义动作,选择标准报警音或语音提示,保存即可。
提醒注意:预定义里的过程报警,非确认报警都算为真,即使报警恢复但未手动确认报警也是为真。
预定义动作不支持周期执行,所以报警声音只会播放一次。
演示视频:
从上面视频可以看出,只要发生报警,就会播放报警音。当无报警发生,声音播放完即停止。如何能够在报警发生期间一直播放报警音呢?下面看方法二。
❈方式二:函数播放
关键函数:
- PlaySound(String SoundFile, Int Synch)
- 说明:
- 播放一段声音文件。
- 参数:
- SoundFile: 声音文件名,包括路径名。
- Synch: 播放方式。1:同步,播放完程序才继续执行;0:异步,不等播放完,程序继续执行。
- 返回值:
- 无。
- 示例:
- PlaySound("C:\Program Files\Windows NT\Pinball\SOUND1.WAV",1);//同步播放指定的声音文件
复制代码多次执行playsound,如果同步模式,会等上一个音频播放完再播放下一个,异步模式会立即播放最新。
条件脚本改动: 消音按钮脚本:
运行效果:
❈方式三:媒体组件
使用媒体组件播放音频:
关键函数:
- Play()
- 说明:
- 开始播放当前设置的多媒体文件。
- 示例:
- #Media.Play();//播放媒体
- Pause()
- 说明:
- 暂停播放当前设置的多媒体文件。
-
- Open(String csPath)
- 说明:
- 设置新的当前播放文件。
- 参数:
- csPath:播放文件路径
- 示例:
- #Media.Open("C:/a.avi");//设置播放文件
- 注意:
- 必须设置存在的路径文件名。
- SetPlayCount(Int nCount)
- 说明:
- 设置播放器对当前文件的连续播放次数。
- 参数:
- nCount: 为大于0 的整数 表示播放次数 ,为-1表示循环播放。
- 示例:
- #Media.SetPlayCount(-1);//循环播放
复制代码 具体使用请参考帮助手册
消音:
演示视频:
上面简单演示报警发声的几种方式,实际应用中可以结合软件其他功能可以做的灵活,比如结合报警组件,不同级别或类型的报警发不同声音等等。
|