Autohotkey 声音播放不适用于每个 wav
Autohotkey soundplay does not work with every wav
我注意到 SoundPlay 不适用于我使用的所有 wav。我可以正常播放文件,但是当我使用 SoundPlay 时,其中一些文件无法播放并抛出错误。我试图获取有关错误的更多详细信息,但异常未显示任何内容。
在示例代码中,第一个文件不播放并抛出异常,但 'e' 为空。如果我把它注释掉,其他两部剧就没有任何问题。有什么想法吗?
try
{
SoundPlay, c:\Alarm Files\La Cucaracha - Intro.wav, Wait ; THIS DOES NOT PLAY
SoundPlay, c:\Alarm Files\Marimba.wav, Wait ; PLAYS WITH NO ERROR
SoundPlay, c:\Alarm Files\Train Crossing.wav, Wait ; PLAYS WITH NO ERROR
}
catch e
{
MsgBox, An exception was thrown!`nDetails: %e%
}
return
已知限制: 如果省略 WAIT 参数,OS 可能会认为正在播放的文件是 "in use",直到脚本关闭或另一个播放文件(即使是不存在的文件)。
SoundPlay, FILEPATH, Wait
作为一个晦涩的替代方法,您可以尝试 运行 通过 DLL 调用音频。
FilePath := "c:\Alarm Files\La Cucaracha - Intro.wav"
DllCall("winmm.dll\PlaySound", AStr, FilePath, uint, 0, uint, 0)
我注意到 SoundPlay 不适用于我使用的所有 wav。我可以正常播放文件,但是当我使用 SoundPlay 时,其中一些文件无法播放并抛出错误。我试图获取有关错误的更多详细信息,但异常未显示任何内容。
在示例代码中,第一个文件不播放并抛出异常,但 'e' 为空。如果我把它注释掉,其他两部剧就没有任何问题。有什么想法吗?
try
{
SoundPlay, c:\Alarm Files\La Cucaracha - Intro.wav, Wait ; THIS DOES NOT PLAY
SoundPlay, c:\Alarm Files\Marimba.wav, Wait ; PLAYS WITH NO ERROR
SoundPlay, c:\Alarm Files\Train Crossing.wav, Wait ; PLAYS WITH NO ERROR
}
catch e
{
MsgBox, An exception was thrown!`nDetails: %e%
}
return
已知限制: 如果省略 WAIT 参数,OS 可能会认为正在播放的文件是 "in use",直到脚本关闭或另一个播放文件(即使是不存在的文件)。
SoundPlay, FILEPATH, Wait
作为一个晦涩的替代方法,您可以尝试 运行 通过 DLL 调用音频。
FilePath := "c:\Alarm Files\La Cucaracha - Intro.wav"
DllCall("winmm.dll\PlaySound", AStr, FilePath, uint, 0, uint, 0)