Re: [請問] 有甚麼撥放器可以用快捷鍵撥放不同音效擋?

看板EZsoft作者 (:~)時間14年前 (2011/03/30 14:04), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
簡單的用 ahk 寫一個,不過沒有做什麼檢查,例如熱鍵是否重複... 可以自己設定熱鍵播放聲音檔,也可以使用複合鍵 (Alt、Ctrl、Shift) 程式會自行產生一個 info.ini 檔 用來儲存設定的資訊(聲音檔路徑、熱鍵),必需與主程式放在同一個目錄下 有兩個地方沒有斷行,需要注意一下 或直接下載:http://www.mediafire.com/?78ws5no250zcqi5 ================================== #SingleInstance Force Gui, Font, s9 Gui, Add, Text, x12, Label Gui, Add, Text, x+60, File Gui, Add, Text, x+250, HotKey Gui, Add, Edit, x12 ys+15 w70 Gui, Add, Edit, x+10 ys+15 w200 +ReadOnly, Gui, Add, Button,x+10 ys+13 gBrowse, Browse Gui, Add, HotKey, x+12 ys+15 w80, vHK gLabel Gui, Add, Button, x+12 ys+13 gSave, Save Gui, Add, Button, x+12 ys+13 gdel, Delete ;---- 下面是同一行 Gui, Add, ListView, x12 h240 w530 gEdit +AltSubmit -Multi +Grid, Label|File|HotKey ;---- 上面是同一行 Gui, Show, h300 w550 , Sound Play Gosub, ReloadFile Return Browse: ;---- 下面是同一行 FileSelectFile, SelectedFile, 3, , Select a file, Sound File (*.mp3;*.wav;*.wma) ;---- 上面是同一行 if SelectedFile = Return Else GuiControl, , Edit2, %SelectedFile% Return Save: GuiControlGet, path, , Edit2 GuiControlGet, lb, , Edit1 GuiControlGet, hk, , msctls_hotkey321 if(strLen(path) == 0 || strLen(lb) == 0 || StrLen(hk) == 0) { MsgBox, error... Return } IniWrite, %path%, info.ini, %lb%, Path IniWrite, %hk%, info.ini, %lb%, Hotkey Gosub, ReloadFile Return Edit: Gui, submit, NoHide ControlGet, selectedItem, List, Selected, SysListView321 StringSplit, items, selectedItem, %A_Tab% GuiControl, , Edit1, %items1% GuiControl, , Edit2, %items2% IniRead, hk, info.ini, %items1%, Hotkey GuiControl, , msctls_hotkey321, %hk% Return ReloadFile: LV_Delete() IniRead, SectionsList, info.ini Loop, Parse, SectionsList, `n,`r { IniRead, path, info.ini, %A_LoopField%, Path IniRead, hk, info.ini, %A_LoopField%, Hotkey Hotkey, %hk%, RunScript, On StringReplace, sHK, hk, +, Shift + StringReplace, sHK, sHK, ^, Ctrl + StringReplace, sHK, sHK, !, Alt + LV_Add("", A_LoopField, path, sHK) } LV_ModifyCol() Return RunScript: IniRead, SectionsList, info.ini Loop, Parse, SectionsList, `n,`r { IniRead, path, info.ini, %A_LoopField%, Path IniRead, hk, info.ini, %A_LoopField%, Hotkey if(hk == A_ThisHotkey) { SoundPlay, %path% } } Return del: Loop % LV_GetCount() { LV_GetText(RetrievedText,A_Index) GuiControlGet, target, , Edit1 if instr(RetrievedText, target) { LV_Delete(A_Index) IniDelete, info.ini, %target% } } Return GuiClose: ExitApp Return ============================= 懶得上註解.. -- 承諾就像 幹伶XX 常說,但通常做不到 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.29.150.125

03/30 22:48, , 1F
push
03/30 22:48, 1F
文章代碼(AID): #1DaiVeVb (EZsoft)
文章代碼(AID): #1DaiVeVb (EZsoft)