# Potplayer长按倍速播放

**URL:** <https://meta.appinn.net/t/topic/36469>\
**Category:** 讨论分享\
**Tags:** autohotkey, windows\
**Created:** [2022 年9 月 21 日 14:58 UTC](https://meta.appinn.net/t/topic/36469 "2022-09-21T14:58:07Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

作者： ![chr](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/c/bb73d2/32.png) [@chr](https://meta.appinn.net/u/chr)\
发布日期： [2022 年9 月 21 日 14:58 UTC](https://meta.appinn.net/t/topic/36469/1 "2022-09-21T14:58:07Z")

</div>

从[寻求一款Windows端视频播放器](https://meta.appinn.net/t/topic/36323/10)继续讨论：

改进了一下 [usnake](https://meta.appinn.net/u/usnake)老哥的代码，为Potplayer播放器提供长按倍速播放，松开时恢复正常速度。

```auto
;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

```

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2022 年9 月 22 日 05:14 UTC](https://meta.appinn.net/t/topic/36469/2 "2022-09-22T05:14:53Z")

</div>

AHK 真是万能啊

---

<div class="post-metadata">

作者： ![chr](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/c/bb73d2/32.png) [@chr](https://meta.appinn.net/u/chr)\
发布日期： [2022 年9 月 22 日 07:42 UTC](https://meta.appinn.net/t/topic/36469/3 "2022-09-22T07:42:07Z")

</div>

已经用ahk写了两千多行提高效率的代码用来自动化完成部分工作内容 :joy:

---

<div class="post-metadata">

作者： ![LRJ](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/lrj/32/60154_2.png) [@LRJ](https://meta.appinn.net/u/LRJ)\
发布日期： [2022 年9 月 24 日 02:50 UTC](https://meta.appinn.net/t/topic/36469/4 "2022-09-24T02:50:19Z")

</div>

potplayer自带的 z x c快捷键就很好用。

---

<div class="post-metadata">

作者： ![qhqiii](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qhqiii/32/4785_2.png) [@qhqiii](https://meta.appinn.net/u/qhqiii)\
发布日期： [2022 年9 月 24 日 03:21 UTC](https://meta.appinn.net/t/topic/36469/5 "2022-09-24T03:21:22Z")

</div>

potplayer播放控制里有很丰富的控制，就速度而言也有预设的快捷键挺方便的

- 

- z 重置

- x 减速，按几下就可以减速几次：0.9→0.8→→→0.1

- c 加速，按几下就可以加速几次：1.0→1.1→→→10.0

而且这个速度控制步长可以修改

- ![image](https://meta.appinn.net/uploads/default/original/3X/7/3/7382cfeebcb60572a752e30b6dca7169af0666ab.png)

---

<div class="post-metadata">

作者： ![18CM](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/1/3ab097/32.png) [@18CM](https://meta.appinn.net/u/18CM)\
发布日期： [2022 年9 月 29 日 07:43 UTC](https://meta.appinn.net/t/topic/36469/6 "2022-09-29T07:43:57Z")

</div>

刚开始用autohotkey，ahk 脚本里放了你这段脚本，后面再加别的脚本就不生效了，怎么办

---

<div class="post-metadata">

作者： ![chr](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/c/bb73d2/32.png) [@chr](https://meta.appinn.net/u/chr)\
发布日期： [2022 年9 月 29 日 07:58 UTC](https://meta.appinn.net/t/topic/36469/7 "2022-09-29T07:58:41Z")

</div>

把脚本全部贴出来看下

---

<div class="post-metadata">

作者： ![chr](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/c/bb73d2/32.png) [@chr](https://meta.appinn.net/u/chr)\
发布日期： [2022 年9 月 29 日 08:03 UTC](https://meta.appinn.net/t/topic/36469/8 "2022-09-29T08:03:45Z")

</div>

我猜你添加段代码后，又添加了一些全局热键，这就导致后面添加的热键会在`#IfWinActive ahk_class PotPlayer64 ahk_exe PotPlayerMini64.exe`这个条件下才生效。

解决办法就是把全局热键放在`#IfWinActive`这样条件语的前面。

或者在这个热键前面添加其它的条件，如：`#IfWinActive ahk_exe QQ.exe`，（这个条件是指在QQ窗口）

---

<div class="post-metadata">

作者： ![18CM](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/1/3ab097/32.png) [@18CM](https://meta.appinn.net/u/18CM)\
发布日期： [2022 年9 月 29 日 08:16 UTC](https://meta.appinn.net/t/topic/36469/9 "2022-09-29T08:16:37Z")

</div>

对。加了个全局打开 Windows Terminal 的，我现在就是把全局的放在前面

```auto
; 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

```

---

<div class="post-metadata">

作者： ![18CM](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/1/3ab097/32.png) [@18CM](https://meta.appinn.net/u/18CM)\
发布日期： [2022 年10 月 10 日 07:56 UTC](https://meta.appinn.net/t/topic/36469/10 "2022-10-10T07:56:45Z")

</div>

又遇到一个新问题，有时候输入法是打开状态的，按下→会出现输入法的候选

---

<div class="post-metadata">

作者： ![chr](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/c/bb73d2/32.png) [@chr](https://meta.appinn.net/u/chr)\
发布日期： [2022 年10 月 10 日 08:15 UTC](https://meta.appinn.net/t/topic/36469/11 "2022-10-10T08:15:57Z")

</div>

我之前也考虑到了这个问题，但是打开potplayer后我看到输入法是禁用的状态，所以应该不会出现这个情况，所以也没管它（实际上是没有什么好的办法解决这个问题 :rofl:）

一个最容易的解决方案：加入一段代码用于开启键盘大写，这样会发送英文的C而不出现输入法候选了，松开按键的时候再做一下恢复小写。

---

<div class="post-metadata">

作者： ![usnake](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/usnake/32/30743_2.png) [@usnake](https://meta.appinn.net/u/usnake)\
发布日期： [2022 年10 月 10 日 08:59 UTC](https://meta.appinn.net/t/topic/36469/12 "2022-10-10T08:59:42Z")

</div>

哈我随手写的 因为我自己不太用potplayer 可能有诸多不完善的地方 感谢修正

---

<div class="post-metadata">

作者： ![18CM](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/1/3ab097/32.png) [@18CM](https://meta.appinn.net/u/18CM)\
发布日期： [2023 年5 月 16 日 11:59 UTC](https://meta.appinn.net/t/topic/36469/13 "2023-05-16T11:59:33Z")

</div>

现在用 V2，楼主会 V2 语法嘛，试了一下GPT，不会V2语法

---

<div class="post-metadata">

作者： ![SeanX](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/s/a587f6/32.png) [@SeanX](https://meta.appinn.net/u/SeanX)\
发布日期： [2025 年8 月 26 日 00:35 UTC](https://meta.appinn.net/t/topic/36469/14 "2025-08-26T00:35:33Z")

</div>

试试这个，我用着没问题

```auto
#Requires AutoHotkey v2.0
; Potplayer 长按倍速播放
#HotIf WinActive("ahk_class PotPlayer64 ahk_exe PotPlayerMini64.exe")
Right:: ; 模仿B站长按右方向键倍速播放的功能：长按0.3秒右方向键倍速播放，松开时恢复
{
if !(KeyWait("Right", "T0.3")) { ; 按住右方向键持续0.3s
Send("cccccccccc") ; 二倍速播放。PotPlayer里默认每按一个c表示+0.1x。可以自行修改c的数量
KeyWait("Right") ; 松开按键
Send("z") ; 恢复一倍速
}
else {
Send("{Right}") ; 如果按住右方向键未持续0.3s，则触发Potplayer原始快捷键
}
return
}

```

---

<div class="post-metadata">

作者： ![PandaFiredoge](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/pandafiredoge/32/58789_2.png) [@PandaFiredoge](https://meta.appinn.net/u/PandaFiredoge)\
发布日期： [2025 年11 月 16 日 17:11 UTC](https://meta.appinn.net/t/topic/36469/15 "2025-11-16T17:11:59Z")

</div>

PotPlayer支持一个类似的功能，不过不是键盘而是鼠标。在“选项”(F5)→“鼠标”→“按住左键时”里选择“按下时以3.0倍速度播放”即可
