--此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