1

使用MPV我想要一个 Lua 脚本在节目结束时结束流的播放,但我的脚本在我设置它的时候什么都不做。

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

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

1 回答 1

1

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

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 语句为真。虽然 1 秒对计算机来说是很长的时间,但可能会错过如此绝对定义的窗口。如果您的代码有可能会休眠或等待很长时间的点,那么您可能会因此错过窗口。

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

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

于 2019-01-02T23:53:16.580 回答