Lua: конец MPV за раз
Используя MPV, я хочу, чтобы скрипт Lua заканчивал воспроизведение потока в конце шоу, но мой сценарий ничего не делает в тот момент, когда я его установил.
curtime = os.date("!%H:%M:%S")
endtime = "00:30:00"
if ( curtime == endtime )
then mp.command("quit")
end
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 час после первого запуска этого раздела кода, он представлен 3600 секундами, которые я добавил в os.time().
Если текущее время равно или превышает это увеличение на 3600 секунд, условие if будет выполнено, и команда quit должна быть отправлена.