MacOS平台:
开源播放器mpv是支持自定义脚本的. 例如我想要播放器实现长按倍速功能,方法如下:
在 MPV 配置目录( ~/.config/mpv/scripts/)中,创建一个 Lua 脚本文件,名字任意,保存即可.

我的下面脚本实现功能就是:
长按数字键 2,3,4,5 分别可以实现播放器对应的倍速功能,再按一次恢复正常, 非常适合学习党或者考研党
可以根据脚本自定义其它按键
脚本代码如下:
-- 引入 mpv 的 Lua API 模块
-- 通过 mp 对象,可以获取和设置播放器属性、绑定按键、显示 OSD 等
local mp = require 'mp'
-- 定义正常播放速度,当退出倍速模式时,会恢复到这个速度
local normal_speed = 1.0
--=========================================================
-- 切换播放速度函数:如果当前已经是目标速度,则恢复正常速度;如果当前不是目标速度,则切换到目标速度,例如:当前 1x,按 2 -> 变成 2x,当前 2x,再按 2 -> 恢复 1x
--=========================================================
local function toggle_speed(speed)
-- 获取当前播放速度
-- 如果获取失败,则默认返回 1
local current = mp.get_property_number("speed", 1)
-- 判断当前速度是否已经等于目标速度
-- 为什么不用:current == speed,因为浮点数比较可能出现:1.9999999,2.0000001等,所以使用一个误差范围判断更加安全。
if math.abs(current - speed) < 0.01 then
-- 已经是该速度
-- 恢复正常播放速度
mp.set_property_number("speed", normal_speed)
-- 在屏幕左上角显示提示
mp.osd_message("Speed: 1x")
else
-- 当前不是目标速度
-- 切换到指定倍速
mp.set_property_number("speed", speed)
-- 显示当前速度
mp.osd_message("Speed: "..speed.."x")
end
end
--=========================================================
-- 数字键 2
mp.add_forced_key_binding(
"2", -- 绑定按键
"speed2", -- 绑定名称(必须唯一)
function()
toggle_speed(2)
end
)
--=========================================================
-- 数字键 3
mp.add_forced_key_binding(
"3",
"speed3",
function()
toggle_speed(3)
end
)
--=========================================================
-- 数字键 4
mp.add_forced_key_binding(
"4",
"speed4",
function()
toggle_speed(4)
end
)
--=========================================================
-- 数字键 5
mp.add_forced_key_binding(
"5",
"speed5",
function()
toggle_speed(5)
end
)
--=========================================================
-- Q 键: 1.5倍速度
mp.add_forced_key_binding(
"q",
"speed1_5",
function()
toggle_speed(1.5)
end
)
Windows平台
这段脚本在 Windows 下同样可以正常工作,不需要针对操作系统做任何修改,原因如下:
- mpv 的 Lua 脚本接口是跨平台的:mpv 的 Lua API(如 mp.add_forced_key_binding、mp.set_property 等)在 Windows、macOS、Linux 下表现一致。
- 按键绑定机制一致:mpv 的按键事件(down/up)在各主流操作系统下都支持,脚本逻辑不会因平台不同而失效。
- 上面脚本本身无平台相关代码:你的脚本没有用到任何与操作系统相关的路径、命令或 API
在 Windows 下,脚本应放在 C:\Users<你的用户名>\AppData\Roaming\mpv\scripts\ 目录下(或 mpv 配置目录的 scripts 文件夹)