poc - 对讲服务
2024-11-29
该库对接的是伯纳德对讲平台,并且只能使用支持 PoC 功能的固件。
支持 PoC 功能的模组型号如下:
系列 | 型号 |
---|---|
EC600M | EC600MCN_LA、EC600MCN_LE、EC600MCN_LF、EC600MEU_LA、EC600MLA_LA |
EC800M | EC800MCN_LA、EC800MCN_LE |
EC600U | EC600UEU_AB |
EC800G | EC800GCN_LD |
请联系 QuecPython 技术支持人员获取伯纳德平台账号。
访问 github 仓库获取示例代码、使用说明和适用的固件。
导入 poc
模块
代码示例:
import poc
初始化
poc.init(init_cb)
该方法用于初始化 poc。
参数描述:
init_cb
- 初始化回调函数,fun类型。用于通知用户 PoC 是否初始化成功。
函数原型:init_cb(msg)
。msg
表示初始化成功与否的结果。1
- 初始化成功;0
- 初始化失败。
代码示例:
def init_cb(msg):
if msg:
print("poc init successfully.")
else:
print("poc init failed.")
poc.init(init_cb)
参数设置
poc.get_init_status()
该方法用于获取初始化状态。
返回值描述:
1
- 已初始化。0
- 未初始化。
poc.set_solution(solution)
该方法用于设置方案名。
参数描述:
solution
- 方案名,str 类型。
方案名用来记录本次方案的具体名称,用户可自行定义。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.set_solution_version(version)
该方法用于设置方案版本号。
参数描述:
version
- 方案版本号,str 类型。
方案版本号用来记录本次方案的版本号,用户可自行定义。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.set_productInfo(productInfo)
该方法用于设置产品信息。
参数描述:
productInfo
- 产品信息,str 类型。
产品信息用来记录对讲产品的具体信息,用户可自行定义。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.set_manufacturer(manufacturer)
该方法用于设置制造商信息。
参数描述:
manufacturer
- 制造商信息,str 类型。
制造商信息用来记录对讲方案的制造商信息,用户可自行定义。
返回值描述:
0
- 成功;- 其它 - 失败。
登录对讲平台
poc.login(login_cb)
该方法用于登录对讲平台。
参数描述:
login_cb
- 登录状态回调函数,fun 类型。用于通知用户对讲平台是否登录成功。
函数原型:login_cb(msg)
。msg
表示初始化成功与否的结果。1
- 已登录;0
- 未登录。
返回值描述:
0
- 成功;- 小于
0
- 失败。
呼叫
poc.speak(ctrl)
该方法用于呼叫组内用户。
参数描述:
ctrl
表示控制组内呼叫行为。1
- 呼叫;0
- 退出呼叫。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.callusers(uid, cb)
该方法用于呼叫指定用户。
参数描述:
uid
- 对方用户 id,int 类型。cb
- 单呼回调,fun 类型。
函数原型:cb(msg)
。msg
表示呼叫指定用户是否成功。1
- 呼叫成功;0
- 呼叫失败。
返回值描述:
0
- 成功;- 其它 - 失败。
参数查询
poc.member_getbyid(uid)
该方法用于查询用户信息。
参数描述:
uid
- 被查询用户的 id,int 类型。
若为0
,则查询当前用户信息。
返回值描述:
列表:[uid, user_name, online_sta, index]
uid
- 被查询用户的 id,int 类型;user_name
- 被查询用户的名称,str 类型;online_sta
- 被查询用户的在线状态, int 类型;1
- 在线;2
- 离线;3
- 在线在组。
index
- 被查询用户的索引号,int 类型。
poc.get_loginstate()
该方法用于查询当前用户在线状态。
返回值描述:
1
- 在线;2
- 离线;3
- 在线在组。
群组管理
poc.jiongroup(gid)
该方法用于设备进入群组。
参数描述:
gid
- 群组 id,int 类型。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.leavegroup()
该方法用于设备离开当前群组。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.get_groupcount()
该方法用于获取群组数。
返回值描述:
群组个数。
poc.get_grouplist(index_begin, count)
该方法用于查询群组信息。
参数描述:
index_begin
- 查询的索引起始值,int 类型;count
- 计划查询的个数,int 类型。
返回值描述:
-1
- 失败;- 元组 - 成功。定义为:
(gid, group_name, group_type, index)
gid
- 被查询的群组 id,int 类型;group_name
- 被查询的群组名,str 类型;group_type
- 被查询的群组类型,str 类型;index
- 被查询的群组索引号,int 类型。
poc.group_getbyindex(index)
该方法用于按索引查询群组信息。
参数描述:
index
- 被查询群组的索引号,int 类型。
返回值描述:
- 列表:
[gid, group_name, group_type, index]
gid
- 被查询的群组 id,int 类型;group_name
- 被查询的群组名,str 类型;group_type
- 被查询的群组类型,str 类型;index
- 被查询的群组索引号,int 类型。
poc.group_getbyid(gid)
该方法用于按组id查询群组信息。
参数描述:
gid
- 群组id,int类型。若为0,则查询当前群组信息。
返回值描述:
- 列表:
[gid, group_name, group_type, index]
gid
- 被查询的群组 id,int 类型;group_name
- 被查询的群组名,str 类型;group_type
- 被查询的群组类型,str 类型;index
- 被查询的群组索引号,int 类型。
poc.get_membercount(gid)
该方法用于查询群组内成员个数。
参数描述:
gid
- 群组id,int类型。
返回值描述:
成员个数。
poc.get_memberlist(gid,index_begin,count)
该方法用于获取群组内成员列表。
参数描述:
gid
- 群组id,int类型;index_begin
- 查询的索引起始值,int类型;count
- 计划查询的个数,int类型。
返回值描述:
-1
- 失败;- 元组 - 成功。定义为:
(uid, user_name, online_sta, priority, index)
uid
- 组内用户的 id,int 类型;user_name
- 组内用户的名称,str 类型;online_sta
- 组内用户的在线状态, int 类型。1
- 在线;2
- 离线;3
- 在线在组。
priority
- 组内用户呼叫的优先级,int 类型。index
- 用户索引号,int 类型。
音频播放管理
poc.get_audiostate()
该方法用于获取当前音频状态。
返回值描述:
0
- 空闲;1
- 开始通话;2
- 通话中;3
- 停止通话;4
- 开始接听;5
- 接听中;6
- 停止接听;7
- 开始播放tts;8
- 停止播放tts;9
- 开始播放提示音;10
- 停止播放提示音;11
- 开始录音;12
- 结束录音。
poc.set_tts_enable(enable)
该方法用于使能tts。
参数描述:
enable
- 是否使能 tts,int 类型。1
:使能;0
:不使能。
返回值描述:
0
- 成功;- 其它 - 失败。
poc.play_tts(tts_str,interrupt)
该方法用于播放tts。
参数描述:
tts_str
- tts 播放的内容,str 类型。interrupt
- 是否可以被打断,int 类型。1
:表示允许被打断;0
:表示不允许被打断。
返回值描述:
0
- 成功;- 其它 - 失败。
回调注册
poc.register_join_group_cb(cb)
该方法用于注册入组回调。
参数描述:
cb
- 进组回调,触发源包括主动进组和被动进组,fun 类型。用于通知用户设备是否成功进入群组。
函数原型:cb(msg)
。msg
为一个列表:[group_name, gid]group_name
- 当前群组的名字;gid
- 当前群组的 id。
poc.register_audio_cb(poc_audio_cb)
该方法用于注册音频回调。
参数描述:
poc_audio_cb
- 音频回调,fun 类型。用于通知用户当前的音频信息。
函数原型:poc_audio_cb(msg)
。msg
为一个列表:[state, uid, name, flag]
state
- 当前语音状态:收听/讲话/TTS/TONE;uid
- 当前操作用户 id,讲话/TTS/TONE时为0;name
- 当前操作用户名字,讲话/TTS/TONE时为NULL;flag
- 如果 state 为 BND_LISTEN_START,flag 为1
表示本机可以打断对方讲话,flag 为0
表示本机不能打断对方讲话。
poc.register_listupdate_cb(poc_listupdate_cb)
该方法注册数据更新回调。
参数描述:
poc_listupdate_cb
- 数据变化的回调函数,fun 类型。用于通知用户当前数据变化的信息。
函数原型:poc_listupdate_cb(msg)
。msg
表示列表变化的对象。1
- 群组列表变化;2
- 成员列表变化。
poc.register_upgrade_cb(cb)
该方法用于注册是否升级的回调。
参数描述:
cb
- 升级回调函数,fun 类型。用于通知用户是否需要升级。
函数原型:cb(msg)
。msg
表示是否需要升级。1
- 需要升级;0
- 不需要升级。