用 lua 来描述,是这样的
第一种做法:
session:setVariable("fire_asr_events", "true")
session:execute("detect_speech", "start-input-timers")
识别到结果之后可以收到 DETECTED_SPEECH 事件
另外一个做法:
function onInput(s, type, obj)
if type == "event" then
s:consoleLog("DEBUG", obj:serialize())
endif obj:getHeader("Speech-Type") == "detected-speech" then
body = obj:getBody()
--
endreturn ""
endsession:setInputCallback("onInput")
这种做法是调用 switch_core_session_queue_event 直接给 session 发事件
fs_cli
console loglevel 0
/event plain DETECTED_SPEECH
这种搞法是收不到事件的
全文完