我希望能够将计算机键盘用作钢琴键盘,但是AutoHotkey的默认版本一次仅支持一个"语音"。我尝试为每个音符运行一个实例,但如果我反复按下同一个音符,这并不能解决它。
我找到了这个关于如何使用 BASS 库解决这个问题的线程,但在编码方面我很环保,所以我不确定如何将库合并到我的简单代码中。
这是另一个类似的论坛,可能会解决问题,但它有延迟,重叠的解决方案并不能真正解决我的问题。
这是一个如此简单的想法(按下按钮时播放声音(,但不知何故,它超出了我的深度。目前我的代码如下所示:
~1::
SoundPlay, C:UsersFiresDownloads2489__jobro__piano-ff39187__jobro__piano-ff-040.wav
对于每个音符
编辑:
~a::
FileDelete, %A_ScriptDIR%Sound1.AHK
FileAppend,
(
SoundPlay, C:UsersFiresDesktopNew folder (4) 43.wav, Wait
), %A_ScriptDir%Sound1.AHK
Run, %A_ScriptDIR%Sound1.AHK
Return
是我现在使用的,但是当同时按下两个时,它仍然很不稳定。
这可能是由于"等待"。 根据文档:https://autohotkey.com/docs/commands/SoundPlay.htm
"如果一个文件正在播放,并且当前脚本播放第二个文件,则第一个文件将被停止,以便第二个文件可以播放。在某些系统上,即使完全独立的脚本播放新文件,某些文件类型也可能停止播放。
看起来这是AutoHotKey的"问题"。并且不可能打开多个"声音"或同时发出声音。完全有可能制作一个做同样事情的 C# 程序,我以前做过。而且我现在仍然有一些代码(它播放 midi 声音,而不是 WAV,但相同概念异步播放音符(。