Lua:一次结束MPV

时间:2019-01-02 00:41:21

标签: lua mpv

我希望使用MPV的Lua脚本在放映结束时结束流的播放,但是我的脚本在设置为它时什么也没做。

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

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

1 个答案:

答案 0 :(得分:0)

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

endtime = endtime or os.time() + 3600 -- add the expected stream duration in seconds.
curtime = os.time()

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

您的示例只有1秒钟的时间,其中if语句为true。虽然一秒钟对于计算机而言是很长的时间,但可能会错过如此绝对定义的窗口。如果您的代码中有可能休眠或等待很长时间的点,则您可能会错过其中的一个窗口。

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

一旦当前时间等于或大于(即增加3600秒),if语句条件将为true,则应发送quit命令。