FREESWITCH中录音你如果要搞到LUA脚本里就麻烦了,直接在dialplan里面就能录音。
<action application="set" data="execute_on_answer=record_session /data/media/${strftime(%Y%m%d)}/${strftime(%Y%m%d%H)}/${uuid}_$1_${caller_id_number}wav"/>
时间也都是从FS上面获取到传进LUA脚本里的。我是这么使用的。
两个函数需要注意的地方就是加入了时区的概念
ostime() 得到是当前时间的距离19701108:00时间的秒数,如果传入的参数小于这个时间,那么就会得到一个,秒数就是负数,会得到一个空值
ostime()函数
1、不传参的话返回当前时间转化成秒数的结果 local time2 = ostime()
2 传参返回指定时间转化秒数的结果 local time = ostime({year =2016, month = 11, day =23, hour =17, min =17, sec = 00})
print(“====================time=,”,time) -- 结果打印 1479892620
3、任何一个时区,在相同的时间,同时调用ostime() 返回的结果都是一样的
osdate()
1、把时间戳转化成可显示的时间字符串
dump(osdate(“t”,0),“--->”) -- 格式化成表的形式显示
2print("===============osdate()==",osdate("%Y-%m-%d%H:%M:%S",1479892620))
Result:
===============osdate()== 2016-11-23﹎17:17:00
3、如果服务器返回一个时间戳,客户端想要转换成可读样式,需要考虑到时区问题,因为是按照本地时区转换的,如果本地时区跟服务器所在时区不一致,就会导致时间显示错误,一般解决办法就是 加上时区差即可。ps:如果有夏令时,则需要加上3600s
以上就是关于freeswitch,在lua脚本如何获取通话时间全部的内容,包括:freeswitch,在lua脚本如何获取通话时间、lua中os.time和os.date区别、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)