fix(server): 完善列车接近音频的处理与日志记录

新增列车接近音频入队和构建失败的日志输出
调整音频任务优先级为1,中断模式改为ifLower
修复音频构建为空时的静默失败问题
This commit is contained in:
2026-08-03 10:22:04 +08:00
parent 101d392840
commit a36b21cfaf
2 changed files with 20 additions and 12 deletions
+15 -10
View File
@@ -1,6 +1,6 @@
-- 1. Configuration & Constants
local APP_VERSION_TEXT = "v1.0.47"
local APP_VERSION_TEXT = "v1.0.48"
local CONFIG = {
CLOUD_URL = "ws://stabadmin.fse-media.group",
@@ -2774,22 +2774,27 @@ function Main.loop()
end
if tName and etaStr then
local announceKey = tName .. "_" .. dest
local announceKey = normalizeUpcomingKey(tName, dest)
local etaSeconds = -1
local isNow = string.find(etaStr, "现在") or string.find(etaStr, "0")
local isNow = string.find(etaStr, "现在")
if isNow then
etaSeconds = 0
else
local num, unit = string.match(etaStr, "(%d+)%s*(.*)")
if num then
num = tonumber(num)
local mm, ss = string.match(etaStr, "^(%d+)%s*:%s*(%d+)%s*$")
if mm and ss then
etaSeconds = tonumber(mm) * 60 + tonumber(ss)
else
local num, unit = string.match(etaStr, "(%d+)%s*(.*)")
if num then
num = tonumber(num)
if string.find(unit, "秒") or string.find(unit, "s") or string.find(unit, "sec") or (unit == "??" and num > 10) then
etaSeconds = num
else
etaSeconds = num * 60
if string.find(unit, "秒") or string.find(unit, "s") or string.find(unit, "sec") or (unit == "??" and num > 10) then
etaSeconds = num
else
etaSeconds = num * 60
end
end
end
end