比较 FreeSWITCH 的 asr 事件和回调函数

用 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())
    end

    if obj:getHeader("Speech-Type") == "detected-speech" then
        body = obj:getBody()
        --
    end

    return ""
end

session:setInputCallback("onInput")

这种做法是调用 switch_core_session_queue_event 直接给 session 发事件

fs_cli

console loglevel 0

/event plain DETECTED_SPEECH

这种搞法是收不到事件的

全文完

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值