Skip to content

LUA SCRIPTING(Lua 脚本)

mpv 可以使用 Lua 脚本进行扩展。

脚本目录

bash
~/.config/mpv/scripts/

基本结构

lua
local mp = require 'mp'

-- 添加快捷键
mp.add_key_binding('ctrl+s', 'screenshot', function()
    mp.command('screenshot')
end)

-- 显示消息
mp.osd_message('Hello World')

常用功能

获取属性

lua
local title = mp.get_property('media-title')
local volume = mp.get_property_number('volume')

设置属性

lua
mp.set_property('volume', 80)

执行命令

lua
mp.command('seek 10')
mp.commandv('seek', 10)

显示消息

lua
mp.osd_message('Hello World', 2)

监听事件

lua
mp.register_event('file-loaded', function()
    mp.msg.info('File loaded')
end)

监听属性变化

lua
mp.observe_property('volume', 'number', function(name, value)
    mp.msg.info('Volume: ' .. value)
end)

定时器

lua
-- 周期定时器
mp.add_periodic_timer(1, function()
    mp.msg.info('Timer tick')
end)

-- 单次定时器
mp.add_timeout(5, function()
    mp.msg.info('Timeout')
end)

相关链接