【问题标题】:Lua: end MPV at a timeLua:一次结束 MPV
【发布时间】:2019-05-28 17:33:26
【问题描述】:

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

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

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

【问题讨论】:

  • 分享完整代码
  • curtime 的意图是 UTC 吗?所以您的直播会在世界标准时间上午 12:30 结束。

标签: lua mpv


【解决方案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 语句条件将为真并且应该发送退出命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 2012-05-11
    • 1970-01-01
    • 2021-07-11
    • 2021-11-23
    • 2010-10-26
    • 2012-07-11
    • 2014-03-18
    相关资源
    最近更新 更多