|
Tange Cloud for Device
Rev.362 |
结构体 | |
| struct | CalleeEx |
| 被叫 更多... | |
宏定义 | |
| #define | TgVdpSendReq(handle, cmd, data, size) |
| 发送请求 | |
| #define | TgVdpSendResp(handle, cmd, data, size) |
| 发送应答 | |
类型定义 | |
| typedef void(* | RTMSGCALLBACK) (const RTMSG_t *msg, int len, struct CalleeEx *callee) |
| 被叫端传过来的命令数据. | |
| typedef int(* | TGVDPCALLBACK) (int status, struct CalleeEx *pCallee) |
| 呼叫/通话状态回调. | |
枚举 | |
| enum | EVDPCALLSTATE |
| 呼叫/通话状态 更多... | |
函数 | |
| TG_PUBLIC int | TgVdpInit (const char *cfg_path, struct TciCB *cbs) |
| VDP 初始化. | |
| TG_PUBLIC void | TgVdpSetCmdHandler (TGCMDHANDLER func) |
| 设置p2p命令处理回调, 代替 TciSetCmdHandler(). | |
| TG_PUBLIC int | TgVdpStart (int isBound, const char *uuid) |
| 开启VDP 服务. | |
| TG_PUBLIC void | TgVdpStop () |
| 停止VDP服务, 释放资源 会调用 TciStop()/TciCleanup() | |
| TG_PUBLIC int | TgVdpCallEx (struct CalleeEx *callees, int size, int timeout, TGVDPCALLBACK cb, const char *whoami, uint32_t uCallFlags) |
| 呼叫. | |
| TG_PUBLIC int | TgVdpHangup () |
| 结束呼叫或通话. | |
| TG_PUBLIC int | TgVdpAccept2 () |
| 被叫接听, 等同于 TciAcceptInCall2(). | |
| TG_PUBLIC int | TgVdpReject2 () |
| 被叫拒接, 等同于 TciRejectInCall2(). | |
| TG_PUBLIC int | TgVdpSend (void *handle, int cmd, const void *data, size_t size) |
| 发送请求或应答. | |
| TG_PUBLIC int | TgVdpSendRespStatus (void *handle, int cmd, int status) |
| 发送状态应答. | |
呼叫标志. | |
| #define | TVC_F_SHOW_CALLER 0x00000001 |
| 允许设备端被叫(CALLTYPE_TANGE)接听前看到主叫的视频. 门口机呼叫室内机时可以打开此选项。 | |
| #define | TVC_F_PULL_HIRES 0x00000002 |
| 从设备端被叫(CALLTYPE_TANGE)拉取高清码流 | |
| #define | TVC_F_PUSH_HIRES 0x00000004 |
| 向设备端被叫(CALLTYPE_TANGE)推送高清码流 | |
| struct CalleeEx |
| 成员变量 | ||
|---|---|---|
| int | type | 被叫类型 CALLTYPE_TANGE 或 CALLTYPE_WEIXIN 或 CALLTYPE_EVENT |
| char * | token |
被叫标识.
|
| void * | hConn |
该值为输出参数. 呼叫被接听后(收到 TVCS_ACCEPTED), hConn为与对端的连接句柄,可以调用TgVdpSend()来发送数据。 仅当 type 为 CALLTYPE_TANGE 或 CALLTYPE_EVENT, hConn 才会非NULL. |
| RTMSGCALLBACK | msg_cb |
本回调用于接收对端的音视频之外的数据.
|
| int | err |
该值为输出参数. 当status = TVCS_FAILED 时, err 为错误码. 错误码取值同被叫类型有关: 微信呼叫错误范围 -10008, -20~20, 说明在 wx_err.h Tange呼叫错误码在 TgCloudConst.h |
| void * | pUser | 用于向回调中传入用户自己的额外数据 |
| #define TVC_F_SHOW_CALLER 0x00000001 |
| #define TgVdpSendReq | ( | handle, | |
| cmd, | |||
| data, | |||
| size ) |
| #define TgVdpSendResp | ( | handle, | |
| cmd, | |||
| data, | |||
| size ) |
| typedef int(* TGVDPCALLBACK) (int status, struct CalleeEx *pCallee) |
呼叫/通话状态回调.
| status | 状态 EVDPCALLSTATE |
| pCallee | status=TVCS_ACCEPTED为被叫指针,其于时候为NULL. 注意,这个指针不同于调用 TgVdpCall()时传入的数组元素的地址, 因为那个数组会被复制 |
| enum EVDPCALLSTATE |
| TG_PUBLIC int TgVdpInit | ( | const char * | cfg_path, |
| struct TciCB * | cbs ) |
| TG_PUBLIC void TgVdpSetCmdHandler | ( | TGCMDHANDLER | func | ) |
设置p2p命令处理回调, 代替 TciSetCmdHandler().
对端(只能另一个VDP设备)的请求和应答都通知本回调接收.
| func | p2p命令处理回调。 |
| TG_PUBLIC int TgVdpStart | ( | int | isBound, |
| const char * | uuid ) |
开启VDP 服务.
| isBound | 设备本地保存的是否绑定的标志。如果为0(没有绑定), 需要走绑定流程 |
| uuid | 设备的 UUID |
| TG_PUBLIC int TgVdpCallEx | ( | struct CalleeEx * | callees, |
| int | size, | ||
| int | timeout, | ||
| TGVDPCALLBACK | cb, | ||
| const char * | whoami, | ||
| uint32_t | uCallFlags ) |
呼叫.
| callees | 被叫对象数组. |
| size | 数组大小 |
| timeout | 等待时间。单位: 秒.
|
| cb | 状态回调 |
| whoami | 呼叫者标识, 内容自定义。 |
| uCallFlags | 0 或 呼叫标志 的组合 |
| TG_PUBLIC int TgVdpHangup | ( | ) |
结束呼叫或通话.
对主叫端,可以在调用 TgVdpCall()成功后的任何时候调用本接口, 从而实现 取消呼叫、结束通话、响应对方挂断 的功能.
对被叫端,调用本接口实现通话中挂断的功能, 实际调用了TciHangup().
| TG_PUBLIC int TgVdpAccept2 | ( | ) |
被叫接听, 等同于 TciAcceptInCall2().
| TG_PUBLIC int TgVdpReject2 | ( | ) |
被叫拒接, 等同于 TciRejectInCall2().
| TG_PUBLIC int TgVdpSend | ( | void * | handle, |
| int | cmd, | ||
| const void * | data, | ||
| size_t | size ) |
发送请求或应答.
只能对设备发送,目前不支持对小程序发送数据。
| handle | 连接句柄. 来自不同地方, 见下面注释 |
| cmd | 命令码。
|
| data | 请求或应答的数据 |
| size | 数据长度 |
不要使用 TciSendCmdXxxx 接口来发送 !
| TG_PUBLIC int TgVdpSendRespStatus | ( | void * | handle, |
| int | cmd, | ||
| int | status ) |
发送状态应答.
| status | TCI_OK 或 TCI_E_xxx, 参见 通用错误码 |
| handle | 参见 TgVdpSend() |
| cmd | 请求命令 |