airtalk - 设备之间,设备与PC、手机,对讲处理#
示例
-- 本库仅部分BSP支持
-- 主要是 Air8000 和 Air780EXX 系列
-- 详细用法请参考demo
常量#
常量 |
类型 |
解释 |
---|---|---|
airtalk.PROTOCOL_DEMO_MQTT_8K |
number |
演示用MQTT协议,音频采样率8K |
airtalk.EVENT_OFF_LINE |
number |
airtalk离线 |
airtalk.EVENT_ON_LINE_IDLE |
number |
airtalk在线处于空闲状态 |
airtalk.EVENT_PLAY_START |
number |
airtalk下行播放开始 |
airtalk.EVENT_PLAY_END |
number |
airtalk下行播放结束 |
airtalk.EVENT_RECORD_START |
number |
airtalk录音上行开始 |
airtalk.EVENT_RECORD_END |
number |
airtalk录音上行结束 |
airtalk.EVENT_AUDIO_START |
number |
airtalk audio启动,只要上行和下行有一个开始就启动 |
airtalk.EVENT_AUDIO_END |
number |
airtalk audio停止,上行和下行都结束才停止 |
airtalk.EVENT_ERROR |
number |
airtalk发生异常,后续param为异常值 |
airtalk.config(protocol,netc,cache_time,encode_cnt,decode_cnt,audio_pm_mode_when_stop)#
配置airtalk参数
参数
传入值类型 |
解释 |
---|---|
int |
协议类型,见airtalk.PROTOCOL_XXX |
userdata |
network_ctrl或者mqtt客户端,如果协议是mqtt类型,传入mqtt.create返回值,如果是其他类型,传入socket.create的返回值 |
int |
缓冲时间,单位ms,默认500ms,值越小,delay越小,抗网络波动能力越差 |
int |
单次编码帧数,默认值5,不能低于2,不能高于5 |
int |
单次解码帧数,如果缓冲没有足够的帧数,自动补0,默认值5,不能低于2,不能高于10,不能低于encode_cnt, decode_cnt * 4 必须是 encode_cnt的整数倍 |
int |
对讲停止后,audio的pm状态,默认是audio.SHUTDOWN |
return |
nil |
返回值
无
例子
mqttc = mqtt.create(nil,"120.55.137.106", 1884)
airtalk.config(airtalk.PROTOCOL_DEMO_MQTT_8K, mqttc)
airtalk.on(func)#
注册airtalk事件回调
参数
传入值类型 |
解释 |
---|---|
function |
回调方法 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
airtalk.on(function(event, param)
log.info("airtalk event", event, param)
end)
airtalk.start(uid,ctrl_url,ctrl_port)#
airtalk启动
参数
传入值类型 |
解释 |
---|---|
string |
用于确认身份的唯一id,不超过15字节,如果是演示协议,随意填写一个不重复的即可 |
string |
如果协议是非MQTT类型是服务器url,如果是mqtt演示协议,则是通话topic,不填则使用默认topic |
int |
服务器端口,如果是mqtt协议,不需要填写,mqtt.create已经传入 |
return |
nil |
返回值
无
例子
mqttc = mqtt.create(nil,"120.55.137.106", 1884)
airtalk.config(airtalk.PROTOCOL_DEMO_MQTT_8K, mqttc)
airtalk.on(function(event, param)
log.info("airtalk event", event, param)
end)
--airtalk.start("123456789012345", "xxxxxx") --用户用mqtt测试协议时,应该自己定义topic,防止被别人听
airtalk.start("123456789012345")
airtalk.uplink(on_off)#
airtalk上行控制
参数
传入值类型 |
解释 |
---|---|
boolean |
录音上行控制,true开始,false停止 |
return |
nil |
返回值
无
例子
--开始录音
airtalk.uplink(true)
--停止录音
airtalk.uplink(false)
airtalk.debug(on_off)#
airtalk的详细调试信息开关
参数
传入值类型 |
解释 |
---|---|
boolean |
调试信息开关,true打开,false关闭 |
return |
nil |
返回值
无
例子
无