SoundPlay

优质
小牛编辑
129浏览
2023-12-01

播放音频、视频或其他支持的文件类型。

SoundPlay, Filename [, wait]

参数

Filename

要播放的文件名, 如果未指定绝对路径则假定在 %A_WorkingDir% 中.

要发出标准的系统声音, 请像下面显示的那样指定星号后跟着数字. 注: 在此模式中 wait 参数没有效果.
*-1:简单的哔哔声。如果声卡不可用, 则使用扬声器生成这个声音.
*16:手型(停止/错误声)
*32:问号声
*48:感叹声
*64:星号(消息声)

wait

如果省略, 则在播放文件时脚本的 当前线程 会移动到下一个命令. 要避免这种情况, 请指定 1 或单词 WAIT, 这会使得当前线程会等到文件播放结束后才继续执行. 即使在等待时, 可以通过 热键, 自定义菜单项计时器 启动新的 线程.

已知限制: 如果省略 WAIT 参数, 则操作系统可能认为播放的文件 "在使用中", 直到脚本关闭或播放另一个文件 (甚至是不存在的文件).

ErrorLevel

[v1.1.04+] 此命令失败时会抛出异常. 想了解更多信息, 请参阅 运行时错误.

如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.

备注

所有 Windows 操作系统应该够能播放 .wav 文件. 不过, 如果操作系统中没有安装正确的解码器或功能, 那么其他文件 (.mp3, .avi, etc.) 可能无法播放.

如果在播放一个文件时当前脚本播放了第二个文件, 那么第一个文件会被停止后才可以播放第二个. 在一些系统中, 即使在完全独立的脚本中播放新文件时, 某些文件类型也可能停止播放.

要停止当前正在播放的文件,请对不存在的文件使用 SoundPlay,例如:SoundPlay, Nonexistent.avi

如果脚本退出了, 那么任何由它启动的当前正在播放的文件将会停止.

相关

SoundBeep, SoundGet, SoundSet, SoundGetWaveVolume, SoundSetWaveVolume, MsgBox, 线程

示例

SoundPlay, %A_WinDir%\Media\ding.wav
SoundPlay *-1  ; 简单的哗哗声. 如果声卡不可用, 则使用扬声器生成这个声音..