Lua:一次性结束MPV

使用 MPV ,我想要一个Lua脚本,在节目结束时结束流回放,但是我的脚本在我设置的时间什么都没做。

curtime = os.date("!%H:%M:%S")
endtime = "00:30:00"

if ( curtime == endtime )
then mp.command("quit")
end
点赞
用户7396148
用户7396148

我建议将您的代码更改为评估时期时间,这样您就可以将时间作为数字值进行评估。

endtime = endtime or os.time() + 3600 -- 添加预期流持续时间(秒)。
curtime = os.time()

if (curtime >= endtime) then
    mp.command("quit")
end

您的示例只有 1 秒钟的时间,if 语句为 true。虽然 1 秒钟对于计算机来说是很长的时间,但可能会错过这样一段绝对定义的时间窗口。如果您的代码存在可能休眠或等待很长时间的点,则仅从这一点就可能错过窗口。

在我的示例中,流被设置为在第一次运行此代码部分的 1 小时后结束,这由我添加到 os.time() 的 3600 秒表示。

一旦当前时间等于或大于增加的 3600 秒,if 语句条件将为 true,并且应发送退出命令。

2019-01-02 23:53:16