-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathosd-bar.lua
52 lines (37 loc) · 1.86 KB
/
osd-bar.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
--此lua脚本由软件No1编写并提供支持
--This lua script is written by www.rjno1.com
--只有这么传输命令,在一直显示osd-bar时才能不对其他lua脚本文字的显示和其他操作时osd文字的显示产生干扰和闪烁
local osd_duration_value = mp.get_property_osd("osd-duration")
local osd_duration_value_second = osd_duration_value / 1000
local osd_bar_value = mp.get_property_osd("osd-bar")
local osd_level_value = mp.get_property_osd("osd-level")
function osdbar_show_hide_with_fullscreen(name, param)
if param == true then
--使用stop()大部分时间会比kill()更快
osd_bar_show_forever:stop()
else
--这一行是为了退出全屏后立刻显示osd-bar,而不是等待osd_duration_value_second秒后才开始一直显示
mp.command("osd-bar show-progress")
osd_bar_show_forever:resume()
end
end
function file_loaded(event)
local fullscreen_value = mp.get_property("fullscreen")
if fullscreen_value == "yes" then
--如果启动时直接进入全屏,那么不执行快速显示osd bar的命令
else
mp.command("osd-bar show-progress")
end
end
if osd_bar_value ~= "no" and osd_level_value >= "1" then
--这一行是为了运行后就立刻显示osd-bar,而不是等待osd_duration_value_second秒后才开始一直显示
--加载文件时
mp.register_event("file-loaded", file_loaded)
--mp.add_periodic_timer需要写在最前面,在没有加载这个前调用osd_bar_show_forever:kill()等命令会让mpv崩溃
osd_bar_show_forever = mp.add_periodic_timer( osd_duration_value_second, function()
mp.command("osd-bar show-progress")
--osd_bar_show_forever:resume()
end)
--下面一行是当mpv进入全屏状态时加载function,退出全屏状态时加载function
mp.observe_property("fullscreen", "bool", osdbar_show_hide_with_fullscreen)
end