chr
1
从寻求一款Windows端视频播放器继续讨论:
改进了一下 usnake老哥的代码,为Potplayer播放器提供长按倍速播放,松开时恢复正常速度。
;Potplayer播放器长按倍速播放
#IfWinActive ahk_class PotPlayer64 ahk_exe PotPlayerMini64.exe
Right:: ; 长按0.3秒方向右键进行倍速播放,松开时恢复
KeyWait, Right, T0.3
if ErrorLevel {
Send, cccccccccccccccccccc ; 调整此数值修改速度
ToolTip, >>>
KeyWait, Right ; 松开按键恢复正常速度
Send, z
ToolTip
} else Send {Right}
return
2 个赞
chr
3
已经用ahk写了两千多行提高效率的代码用来自动化完成部分工作内容
1 个赞
LRJ
(LRJ)
4
potplayer自带的 z x c快捷键就很好用。
qhqiii
(byline)
5
potplayer播放控制里有很丰富的控制,就速度而言也有预设的快捷键挺方便的
而且这个速度控制步长可以修改
1 个赞
18CM
(Ryan)
6
刚开始用autohotkey,ahk 脚本里放了你这段脚本,后面再加别的脚本就不生效了,怎么办
chr
8
我猜你添加段代码后,又添加了一些全局热键,这就导致后面添加的热键会在#IfWinActive ahk_class PotPlayer64 ahk_exe PotPlayerMini64.exe
这个条件下才生效。
解决办法就是把全局热键放在#IfWinActive
这样条件语的前面。
或者在这个热键前面添加其它的条件,如:#IfWinActive ahk_exe QQ.exe
,(这个条件是指在QQ窗口)
18CM
(Ryan)
9
对。加了个全局打开 Windows Terminal 的,我现在就是把全局的放在前面
; Windows Terminal
#t::ToggleTerminal()
ShowAndPositionTerminal()
{
WinShow ahk_class CASCADIA_HOSTING_WINDOW_CLASS
WinActivate ahk_class CASCADIA_HOSTING_WINDOW_CLASS
WinGetPos,,, Width, Height, ahk_class CASCADIA_HOSTING_WINDOW_CLASS
SysGet, WorkArea, MonitorWorkArea
TargetX := (A_ScreenWidth/2)-(Width/2)
TargetY := (A_ScreenHeight/2)-(Height/2)
WinMove, ahk_class CASCADIA_HOSTING_WINDOW_CLASS,, %TargetX%, %TargetY%
}
ToggleTerminal()
{
EnvGet, home, HOME
EnvGet, localappdata, LOCALAPPDATA
WinMatcher := "ahk_class CASCADIA_HOSTING_WINDOW_CLASS"
DetectHiddenWindows, On
if WinExist(WinMatcher)
; Window Exists
{
DetectHiddenWindows, Off
; Check if its hidden
if !WinExist(WinMatcher) || !WinActive(WinMatcher)
{
ShowAndPositionTerminal()
}
else if WinExist(WinMatcher)
{
; Script sees it without detecting hidden windows, so..
WinHide ahk_class CASCADIA_HOSTING_WINDOW_CLASS
Send !{Esc}
}
}
else
{
Run "%localappdata%\Microsoft\WindowsApps\wt.exe", %home%
Sleep, 200
ShowAndPositionTerminal()
}
}
;Potplayer播放器长按倍速播放
#IfWinActive ahk_class PotPlayer64 ahk_exe PotPlayerMini64.exe
Right:: ; 长按0.3秒方向右键进行倍速播放,松开时恢复
KeyWait, Right, T0.3
if ErrorLevel {
Send, cccccccccccccccccccc ; 调整此数值修改速度
ToolTip, >>>
KeyWait, Right ; 松开按键恢复正常速度
Send, z
ToolTip
} else Send {Right}
return
18CM
(Ryan)
10
又遇到一个新问题,有时候输入法是打开状态的,按下→会出现输入法的候选
chr
11
我之前也考虑到了这个问题,但是打开potplayer后我看到输入法是禁用的状态,所以应该不会出现这个情况,所以也没管它(实际上是没有什么好的办法解决这个问题 )
一个最容易的解决方案:加入一段代码用于开启键盘大写,这样会发送英文的C而不出现输入法候选了,松开按键的时候再做一下恢复小写。
usnake
12
哈我随手写的 因为我自己不太用potplayer 可能有诸多不完善的地方 感谢修正
18CM
(Ryan)
13
现在用 V2,楼主会 V2 语法嘛,试了一下GPT,不会V2语法