找回密码
 论坛注册
搜索
查看: 1065|回复: 0

声音报警的实现

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:118
  • 打卡月天数:5
  • 打卡总奖励:1949
  • 最近打卡:2025-06-20 17:28:05

278

主题

36

回帖

5万

积分

管理员

积分
57998

最佳新人活跃达人技术达人先锋会员官方徽章

发表于 2023-12-21 17:09:32 | 显示全部楼层 |阅读模式
❈前言
    在实际的项目应用中,有时会遇到声音报警需求,那么在紫金桥软件里如何实现呢?总结一下几种常用的方式:使用媒体播放组件、函数、系统自带的预定义动作功能。上述几种方式不支持Web。

方式一:预定义条件及动作
    该方式简单,无需写脚本,可以简单实现声音报警。
  • 新建条件脚本
     选择预定义动作,类型选择过程报警,下面配置报警条件
      
     条件配置完,然后配置预定义动作,选择标准报警音或语音提示,保存即可。
     提醒注意:预定义里的过程报警,非确认报警都算为真,即使报警恢复但未手动确认报警也是为真。
      

     预定义动作不支持周期执行,所以报警声音只会播放一次。

演示视频:


从上面视频可以看出,只要发生报警,就会播放报警音。当无报警发生,声音播放完即停止。如何能够在报警发生期间一直播放报警音呢?下面看方法二。

方式二:函数播放
   关键函数:
  1. PlaySound(String SoundFile, Int Synch)
  2. 说明:
  3. 播放一段声音文件。
  4. 参数:
  5. SoundFile: 声音文件名,包括路径名。
  6. Synch: 播放方式。1:同步,播放完程序才继续执行;0:异步,不等播放完,程序继续执行。
  7. 返回值:
  8. 无。
  9. 示例:
  10. PlaySound("C:\Program Files\Windows NT\Pinball\SOUND1.WAV",1);//同步播放指定的声音文件
复制代码
多次执行playsound,如果同步模式,会等上一个音频播放完再播放下一个,异步模式会立即播放最新。

条件脚本改动:
       paste1610008637755.png
消音按钮脚本:
   
运行效果:


方式三:媒体组件
使用媒体组件播放音频:
    paste1610009412490.png


关键函数:
  1. Play()
  2. 说明:
  3. 开始播放当前设置的多媒体文件。
  4. 示例:
  5. #Media.Play();//播放媒体
  6. Pause()
  7. 说明:
  8. 暂停播放当前设置的多媒体文件。

  9. Open(String csPath)
  10. 说明:
  11. 设置新的当前播放文件。
  12. 参数:
  13. csPath:播放文件路径
  14. 示例:
  15. #Media.Open("C:/a.avi");//设置播放文件
  16. 注意:
  17. 必须设置存在的路径文件名。

  18. SetPlayCount(Int nCount)
  19. 说明:
  20. 设置播放器对当前文件的连续播放次数。
  21. 参数:
  22. nCount: 为大于0 的整数 表示播放次数 ,为-1表示循环播放。
  23. 示例:
  24. #Media.SetPlayCount(-1);//循环播放
复制代码
具体使用请参考帮助手册

  • 组件配置

       paste1610009796717.png

  • 脚本

       paste1610010827521.png

消音:

       paste1610010852677.png

演示视频:
      


上面简单演示报警发声的几种方式,实际应用中可以结合软件其他功能可以做的灵活,比如结合报警组件,不同级别或类型的报警发不同声音等等。

顶部qrcode底部
帅的人都用微信扫了!
快速回复 返回顶部 返回列表