あなたの例では、{Volume_Up}
100回連続して送信しています。(無限!) ループの後、ビープ音を 1 回鳴らします。毎回音量を上げてビープ音を鳴らすコードは次のとおりです。
Loop 20
{
Send, {Volume_Up 5}
SoundBeep, 1000
Sleep, 500
}
各ループの実行後にスクリプトをしばらくスリープさせることは理にかなっています。そうしないと、意味のある音響効果が得られません。もちろん、ループ実行回数と連続{Volume_Up}
キーストローク数を変更できます。
アップデート:
音量を上げながら短い休憩なしで連続してビープ音を鳴らしたい場合: AHK は実際のマルチスレッドをサポートしていないため、これを行う簡単な方法はありません。とにかくそれを達成するための迅速で汚いアプローチを示します。SoundBeep
これは、メイン プロセスの実行を停止しない別の AHK プロセスの起動に基づいています。
構造例:
1 つのディレクトリに、main.ahkとbeep.ahkという 2 つのファイルを作成します。
beep.ahkには以下が含まれます。
SoundBeep, %1%, %2%
main.ahkには以下が含まれます。
Run, %A_AhkPath% "%A_ScriptDir%\beep.ahk" 750 1000
Loop 10
{
Send, {Volume_Up 2}
Sleep, 100
}
main.ahk を開始すると、最初に beep.ahk が呼び出され、別のプロセスが生成され、頻度と期間 (ここでは750と1000 ) の開始パラメーターが渡されます。beep.ahk は、渡されたものに基づいて単純に音を出します (開始パラメータが含まれていること%1%
に注意してください)。%2%
main.ahk は、ビープ音が終了するのを待たずに、音量キーストロークを同時に送信できます。
複数のプロセスで並列実行を行うべきではないため、これは教育目的でのみ使用する必要があります。実際のプロジェクトでバックグラウンド サウンドを再生したい場合は、独自のサウンド ファイルを用意することがほとんどです。この場合、SoundPlayは非同期でサウンドを再生できます。