0

我希望能够将我的电脑键盘用作钢琴键盘,但是 AutoHotkey 的默认版本一次只支持一个“声音”。我尝试为每个音符运行一个实例,但如果我反复按下同一个音符,这并不能解决问题。

我发现了这个关于如何用 BASS 库解决这个问题的线程,但是在编码方面我很绿色,所以我不确定如何将库合并到我的简单代码中。

这是另一个可能解决问题的类似论坛,但它有延迟,并且重叠的解决方案并不能真正解决我的问题。

这是一个如此简单的想法(按下按钮时播放声音),但不知何故它超出了我的深度。目前我的代码如下所示:

~1::
SoundPlay, C:\Users\Fires\Downloads\2489__jobro__piano-ff\39187__jobro__piano-ff-040.wav 

对于每个音符

编辑:

~a::
FileDelete, %A_ScriptDIR%\Sound1.AHK
FileAppend,
(
SoundPlay, C:\Users\Fires\Desktop\New folder (4)\043.wav, Wait
), %A_ScriptDir%\Sound1.AHK
Run, %A_ScriptDIR%\Sound1.AHK
Return

是我现在正在使用的,但是同时按下两个时仍然不确定。

4

1 回答 1

0

这可能是由于“等待”。根据文档: https ://autohotkey.com/docs/commands/SoundPlay.htm

“如果一个文件正在播放,而当前脚本播放第二个文件,第一个文件将停止播放,以便第二个文件可以播放。在某些系统上,即使完全独立的脚本播放新文件,某些文件类型也可能停止播放。 "

看起来这是 AutoHotKey 的“问题”。并且不可能打开多个“声音”或同时发出的声音。完全有可能制作一个做同样事情的 C# 程序,我以前做过。我现在还有一些代码(它播放midi声音,而不是wavs,但相同的概念异步播放音符)。

于 2018-08-15T02:36:35.063 回答