是否可以在整個腳本中循環播放,同時還可以繼續執行腳本的其餘部分。即如何一次運行兩個腳本autohotkey?
Loop
{
Send {Volume_Up 100}
}
SoundBeep, 1000
所以在上面的例子中,想法是該卷正在不斷向上成環,當一個音可在後臺播放,我無法得到它的工作,我已經試過把SoundBeep在循環中,但它只是嗶嗶聲,不會無限發送音量。我知道這是一個相當低級別的問題,但我無法弄清楚。
是否可以在整個腳本中循環播放,同時還可以繼續執行腳本的其餘部分。即如何一次運行兩個腳本autohotkey?
Loop
{
Send {Volume_Up 100}
}
SoundBeep, 1000
所以在上面的例子中,想法是該卷正在不斷向上成環,當一個音可在後臺播放,我無法得到它的工作,我已經試過把SoundBeep在循環中,但它只是嗶嗶聲,不會無限發送音量。我知道這是一個相當低級別的問題,但我無法弄清楚。
在你的例子中,你連續100次發送{Volume_Up}
。在你的(無限!)循環之後,你讓它一次發出嗶嗶聲。下面就來增大音量和蜂鳴每次代碼:
Loop 20
{
Send, {Volume_Up 5}
SoundBeep, 1000
Sleep, 500
}
這是有道理的,讓腳本休眠每次循環運行一段時間後。否則,將不會有有意義的聲學效果。 當然,您可以修改循環運行的次數以及連續的{Volume_Up}
按鍵次數。
更新:
如果你想嘟嘟聲不斷,沒有一個短暫的休息,同時起到提高音量:有沒有簡單的方法來做到這一點,因爲AHK支持沒有真正的多線程。無論如何,我將展示一種快速和骯髒的方法。它基於啓動另一個AHK過程,其中SoundBeep
不會停止主流程的執行。
結構示例:
在一個目錄中,我們創建了兩個文件,分別main.ahk和beep.ahk
beep.ahk包含:
SoundBeep, %1%, %2%
main.ahk contains S:
Run, %A_AhkPath% "%A_ScriptDir%\beep.ahk" 750 1000
Loop 10
{
Send, {Volume_Up 2}
Sleep, 100
}
當您啓動main.ahk,它會先調用beep.ahk,產卵另一個進程,並傳遞給它的啓動參數的頻率和持續時間(這裏:和)。 beep.ahk只會根據您傳遞的內容發出聲音(請注意,%1%
和%2%
包含我們的啓動參數)。然後,main.ahk可以同時發送我們的音量按鍵,而無需等待嘟嘟聲完成。
這應該只用於教育目的,因爲並行執行不應該用多個進程來實現。如果你想在真實的項目中播放背景音樂,你很可能會擁有自己的聲音文件;在這種情況下,SoundPlay將能夠異步播放聲音。