跳转至

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

返回值

例子