接口说明
PC C++ SDK 接口集合,覆盖初始化、账号登录与登出、设备列表、局域网发现、直播拉流、截图、物模型、DataChannel 指令通道等能力。Windows与Linux通用,参考如下。开发可先阅读用户账号开发指南。
API 总览
初始化相关
| 方法 | 说明 | 自从 |
|---|---|---|
| Initialize | 初始化 SDK | v1.1.0 |
| Uninitialize | 释放 SDK 资源 | v1.1.0 |
| GetVersion | 获取 SDK 版本号 | v1.1.0 |
| CreateRtcxPcApi | 创建 API 实例 | v1.1.0 |
账号相关
| 方法 | 说明 | 自从 |
|---|---|---|
| Login | 内置账号登录 | v1.1.0 |
| ThirdLogin | 自有账号登录 | v1.1.0 |
| LoginLan | 进入局域网模式 | v1.1.0 |
| IsLanMode | 是否处于局域网模式 | v1.1.0 |
| Logout | 登出 | v1.1.0 |
局域网发现
| 方法 | 说明 | 自从 |
|---|---|---|
| StartLanDiscover | 开始搜索局域网设备 | v1.1.0 |
| StopLanDiscover | 停止搜索 | v1.1.0 |
| IsLanDiscovering | 是否正在搜索 | v1.1.0 |
设备管理
| 方法 | 说明 | 自从 |
|---|---|---|
| GetDeviceList | 获取设备列表 | v1.1.0 |
| GetGatewaySubDeviceList | 获取网关子设备列表 | v1.1.0 |
| GetDeviceGroupList | 获取设备分组列表 | v1.1.0 |
| GetThirdPartyDeviceDetailsAsync | 异步查询第三方设备详情 | v1.1.0 |
物模型
| 方法 | 说明 | 自从 |
|---|---|---|
| GetThingProperties | 获取物模型属性 | v1.1.0 |
| SetThingProperties | 设置物模型属性 | v1.1.0 |
播放相关
| 方法 | 说明 | 自从 |
|---|---|---|
| StartPlay | 开始拉流 | v1.1.0 |
| StopPlay | 停止指定播放 | v1.1.0 |
| GetPlayTimeline | 获取播放 Timeline | v1.1.0 |
| GetPlayStreamType | 获取码流类型描述 | v1.1.0 |
截图
| 方法 | 说明 | 自从 |
|---|---|---|
| Snapshot | 异步截图 | v1.1.0 |
DataChannel
| 方法 | 说明 | 自从 |
|---|---|---|
| SendCmdData | 发送指令数据 | v1.1.0 |
| DestroyDataChannel | 销毁指令通道 | v1.1.0 |
事件回调
| 回调 | 说明 | 自从 |
|---|---|---|
| OnPlayLoading | 拉流开始加载 | v1.1.0 |
| OnPlayStarted | 拉流成功并开始播放 | v1.1.0 |
| OnPlayRetrying | 拉流失败并将自动重连 | v1.1.0 |
| OnPlayError | 拉流失败 | v1.1.0 |
| OnSnapshotTaken | 截图完成 | v1.1.0 |
| OnLanDeviceDiscovered | 发现一台局域网设备 | v1.1.0 |
| OnLanDiscoverFinished | 局域网搜索结束 | v1.1.0 |
| OnDataChannelStatus | DataChannel 状态 | v1.1.0 |
| OnDataChannelData | DataChannel 下行数据 | v1.1.0 |
| OnEncodedVideoData | 编码视频帧 | v1.1.0 |
| OnEncodedAudioData | 编码音频帧 | v1.1.0 |
| OnThirdPartyDeviceDetails | 第三方设备详情查询完成 | v1.1.0 |
| OnDeviceStatusChanged | 设备上下线 | v1.1.0 |
初始化相关
Initialize
初始化 SDK:加载配置、日志、网关、信令和播放器。
自从 v1.1.0
static int32_t Initialize(const InitParam ¶m);
调用时机
在调用其他 API 之前必须先调用。同一进程只初始化一次。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| param | InitParam | 是 | 无 | 初始化配置 | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):成功。< 0:失败。
所属接口类
IRtcxPcApi(静态方法)
InitParam param;
param.cfgFileName = "config.ini";
param.appKey = "yourAppKey";
param.appSecret = "yourAppSecret";
IRtcxPcApi::Initialize(param);
Uninitialize
释放 SDK 占用的资源。调用成功后不可再使用 SDK 中的方法或回调;如需再次使用,必须重新 Initialize 并 CreateRtcxPcApi。
自从 v1.1.0
static int32_t Uninitialize();
调用时机
登出并释放 IRtcxPcApi 实例之后。不建议在任何 SDK 回调中调用。
参数
无参数。
返回值
RTCX_PC_SUCCESS(0):成功。< 0:失败。
所属接口类
IRtcxPcApi(静态方法)
GetVersion
获取当前 SDK 版本号。
自从 v1.1.0
static int32_t GetVersion(std::string &version);
调用时机
Initialize 之后即可调用。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| version | std::string & | 是(出参) | 无 | 成功时写入版本字符串,例如 "1.1.0" | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):成功。< 0:失败。
所属接口类
IRtcxPcApi(静态方法)
CreateRtcxPcApi
创建 IRtcxPcApi 智能指针,并绑定事件回调。
自从 v1.1.0
static IRtcxPcApi::Ptr CreateRtcxPcApi(const std::shared_ptr<IRtcxPcEvtHandler> handler);
调用时机
Initialize 成功之后、登录之前。回调对象须在返回的 API 实例生命周期内保持有效。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| handler | std::shared_ptr<IRtcxPcEvtHandler> | 是 | 无 | 事件回调对象。拉流、截图、局域网发现、DataChannel、设备上下线等结果均通过该对象回调。完整回调列表见 事件回调 | v1.1.0 |
返回值
- 非空
IRtcxPcApi::Ptr:创建成功。 - 调用方应在使用完毕后将指针置空,再调用
Uninitialize。
所属接口类
IRtcxPcApi(静态方法)
账号相关
Login
内置账号登录。账号含 @ 时按邮箱验证码登录,否则按手机密码登录。登录成功后会建立信令连接。
自从 v1.1.0
virtual int32_t Login(const std::string &account, const std::string &credential,
std::string *errorMessage = nullptr) = 0;
调用时机
CreateRtcxPcApi 之后。与 ThirdLogin、LoginLan 互斥,同一实例同时只使用一种登录方式。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| account | const std::string & | 是 | 无 | 登录账号。含 @ 按邮箱验证码登录,否则按手机号密码登录 | v1.1.0 |
| credential | const std::string & | 是 | 无 | 登录凭证。邮箱登录时为验证码,手机登录时为密码 | v1.1.0 |
| errorMessage | std::string * | 否 | nullptr | 失败时写入错误描述。不需要错误文本时可传 nullptr | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):成功。RTCX_PC_FAIL(-1):失败,详见errorMessage。
所属接口类
IRtcxPcApi
std::string errorMessage;
int32_t ret = pcapi->Login("13800000000", "password", &errorMessage);
ThirdLogin
自有账号登录。使用业务侧换取的 authCode 登录,并建立信令连接。
自从 v1.1.0
virtual int32_t ThirdLogin(const std::string &authCode,
const std::string &authFlag = "",
std::string *errorMessage = nullptr) = 0;
调用时机
CreateRtcxPcApi 之后。账号体系说明见用户账号开发指南。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| authCode | const std::string & | 是 | 无 | 自有账号认证码 | v1.1.0 |
| authFlag | const std::string & | 否 | "" | 可选认证标识,按业务账号体系填写;无则保持空 | v1.1.0 |
| errorMessage | std::string * | 否 | nullptr | 失败时写入错误描述 | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):成功。RTCX_PC_FAIL(-1):失败,详见errorMessage。
所属接口类
IRtcxPcApi
LoginLan
进入纯局域网模式。不走云端账号登录,之后只能通过局域网发现获取设备并拉流。
自从 v1.1.0
virtual int32_t LoginLan() = 0;
调用时机
CreateRtcxPcApi 之后。进入局域网模式后,IsLanMode 返回 true;物模型、第三方设备详情等云端能力不可用。局域网模式下同时只支持一路播放。
参数
无参数。
返回值
RTCX_PC_SUCCESS(0):成功。RTCX_PC_FAIL(-1):失败。
所属接口类
IRtcxPcApi
相关回调
OnLanDeviceDiscovered、OnLanDiscoverFinished
IsLanMode
查询当前实例是否处于局域网模式。
自从 v1.1.0
virtual bool IsLanMode() const = 0;
调用时机
CreateRtcxPcApi 之后随时可调。LoginLan 成功后为 true,Logout 后为 false。
参数
无参数。
返回值
true:局域网模式。false:云端账号模式。
所属接口类
IRtcxPcApi
Logout
登出:停止局域网搜索、停止全部播放、清理 DataChannel、取消设备订阅并断开账号会话。
自从 v1.1.0
virtual int32_t Logout() = 0;
调用时机
不再使用当前登录会话时调用。之后如需再次使用,重新 Login / ThirdLogin / LoginLan。
参数
无参数。
返回值
RTCX_PC_SUCCESS(0):成功。< 0:失败。
所属接口类
IRtcxPcApi
局域网发现
StartLanDiscover
开始搜索局域网设备。targetIp 为空时广播,非空时向指定 IPv4 单播。
自从 v1.1.0
virtual int32_t StartLanDiscover(const LanDiscoverParam ¶m = {}) = 0;
调用时机
LoginLan 成功之后。非局域网模式调用会失败。搜索过程中可再次调用以重启搜索。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| param | LanDiscoverParam | 否 | {}(广播) | 搜索参数 | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):已开始搜索。RTCX_PC_FAIL(-1):未处于局域网模式,或启动搜索失败。
所属接口类
IRtcxPcApi
相关回调
OnLanDeviceDiscovered、OnLanDiscoverFinished
LanDiscoverParam discoverParam;
discoverParam.targetIp = "";
pcapi->StartLanDiscover(discoverParam);
StopLanDiscover
停止局域网设备搜索。
自从 v1.1.0
virtual void StopLanDiscover() = 0;
调用时机
搜索过程中或搜索结束后均可调用。Logout 时会自动停止。
参数
无参数。
返回值
无。
所属接口类
IRtcxPcApi
IsLanDiscovering
查询是否正在进行局域网搜索。
自从 v1.1.0
virtual bool IsLanDiscovering() const = 0;
调用时机
StartLanDiscover 之后。搜索结束(OnLanDiscoverFinished)或 StopLanDiscover 后为 false。
参数
无参数。
返回值
true:正在搜索。false:未在搜索。
所属接口类
IRtcxPcApi
设备管理
GetDeviceList
分页获取当前账号下的设备列表。默认只返回第一页,需自行按 total / pageNo / pageSize 遍历。成功返回的设备会被缓存,供后续 StartPlay、SendCmdData 解析设备身份。
自从 v1.1.0
virtual std::shared_ptr<rtx::account::DeviceList> GetDeviceList(
const rtx::account::DeviceListReq &deviceListReq) = 0;
调用时机
云端账号 Login 或 ThirdLogin 成功之后。局域网模式无云端设备列表,应使用局域网发现。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| deviceListReq | DeviceListReq | 是 | 无 | 分页与过滤条件 | v1.1.0 |
返回值
- 非空
std::shared_ptr<DeviceList>:成功。字段见 DeviceList,列表项见 DeviceInfo。 - 空指针:失败。
所属接口类
IRtcxPcApi
相关回调
rtx::account::DeviceListReq req;
req.pageNo = 1;
req.pageSize = 100;
auto resp = pcapi->GetDeviceList(req);
GetGatewaySubDeviceList
分页获取网关下的子设备列表。成功返回的子设备会被缓存,供后续拉流使用。
自从 v1.1.0
virtual std::shared_ptr<rtx::account::GatewaySubDeviceList> GetGatewaySubDeviceList(
const rtx::account::GatewaySubDeviceListReq &req) = 0;
调用时机
已登录且已拿到网关设备的 iotId 之后。子设备拉流时,StartPlay 的 dstUserId 传父网关 iotId。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| req | GatewaySubDeviceListReq | 是 | 无 | 网关子设备查询条件 | v1.1.0 |
返回值
- 非空
std::shared_ptr<GatewaySubDeviceList>:成功。见 GatewaySubDeviceList、GatewaySubDeviceInfo。 - 空指针:失败。
所属接口类
IRtcxPcApi
GetDeviceGroupList
分页获取设备分组列表。默认只返回第一页,需自行遍历。
自从 v1.1.0
virtual std::shared_ptr<rtx::account::DeviceGroupList> GetDeviceGroupList(
const rtx::account::DeviceGroupListReq &deviceGroupListReq) = 0;
调用时机
云端账号登录成功之后。可用返回的 groupId 过滤 GetDeviceList。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| deviceGroupListReq | DeviceGroupListReq | 是 | 无 | 分组列表查询条件 | v1.1.0 |
返回值
- 非空
std::shared_ptr<DeviceGroupList>:成功。见 DeviceGroupList、DevicGroupInfo。 - 空指针:失败。
所属接口类
IRtcxPcApi
GetThirdPartyDeviceDetailsAsync
异步批量查询第三方设备详情。仅返回查询成功的设备,结果通过 OnThirdPartyDeviceDetails 回调。同一时刻只允许一次查询。
自从 v1.1.0
virtual int32_t GetThirdPartyDeviceDetailsAsync(
const std::vector<rtx::account::ThirdPartyDeviceQuery> &devices,
std::string *errorMessage = nullptr) = 0;
调用时机
云端账号登录成功之后。局域网模式不支持。适用于业务侧已有 iotId / productKey / deviceName,需要补齐完整 DeviceInfo 的场景。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| devices | std::vector<rtx::account::ThirdPartyDeviceQuery> | 是 | 无 | 待查询设备列表,不能为空。元素见 ThirdPartyDeviceQuery | v1.1.0 |
| errorMessage | std::string * | 否 | nullptr | 调用失败时写入错误描述,例如局域网模式、列表为空、回调为空、查询进行中 | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):已受理,结果走回调。RTCX_PC_FAIL(-1):失败,详见errorMessage。
所属接口类
IRtcxPcApi
相关回调
物模型
GetThingProperties
获取设备物模型属性。lastUpdateTime 为 0 表示全量,非 0 表示按时间戳差量获取。
自从 v1.1.0
virtual std::shared_ptr<rtx::account::ThingPropertiesData> GetThingProperties(
const std::string &iotId, int64_t lastUpdateTime = 0) = 0;
调用时机
云端账号登录成功之后。局域网模式不支持,返回空指针。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| iotId | const std::string & | 是 | 无 | 设备唯一标识 | v1.1.0 |
| lastUpdateTime | int64_t | 否 | 0 | 差量时间戳。0 为全量;传入上次返回的 maxUpdateTimeValue 可做增量 | v1.1.0 |
返回值
- 非空
std::shared_ptr<ThingPropertiesData>:成功。见 ThingPropertiesData。 - 空指针:失败或局域网模式。
所属接口类
IRtcxPcApi
SetThingProperties
设置设备物模型属性。items 形如 {"powerstate":0}。多目设备可通过 lensId 指定镜头。
自从 v1.1.0
virtual int32_t SetThingProperties(const std::string &iotId, const Json::Value &items,
int32_t lensId = -1, std::string *errorMessage = nullptr) = 0;
调用时机
云端账号登录成功之后。局域网模式不支持。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| iotId | const std::string & | 是 | 无 | 设备唯一标识 | v1.1.0 |
| items | const Json::Value & | 是 | 无 | 属性键值表,例如 items["powerstate"] = 0 | v1.1.0 |
| lensId | int32_t | 否 | -1 | 多目设备镜头 ID。< 0 表示不带镜头参数 | v1.1.0 |
| errorMessage | std::string * | 否 | nullptr | 失败时写入错误描述 | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):成功。RTCX_PC_FAIL(-1):失败,详见errorMessage。
所属接口类
IRtcxPcApi
Json::Value items;
items["powerstate"] = 0;
std::string errorMessage;
int32_t ret = pcapi->SetThingProperties(iotId, items, -1, &errorMessage);
播放相关
StartPlay
开始拉流。Windows 将画面渲染到 hWnd;Linux 无内置渲染时 hWnd 传空,通过编码帧回调取流。网关子设备须把父网关 iotId 传入 dstUserId。
自从 v1.1.0
virtual PlayHandle StartPlay(const std::string &deviceName,
const std::string &productKey,
void *hWnd,
const std::string &dstUserId = "") = 0;
调用时机
已登录,且目标设备已通过 GetDeviceList、GetGatewaySubDeviceList 或局域网发现进入 SDK 缓存。云端模式支持多路播放;局域网模式同时只支持一路。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| hWnd | void * | 是 | 无 | Windows 渲染窗口句柄(HWND)。Linux 无内置渲染时传 nullptr,通过 OnEncodedVideoData / OnEncodedAudioData 取帧 | v1.1.0 |
| dstUserId | const std::string & | 否 | "" | 网关子设备传父网关 iotId;普通设备保持空 | v1.1.0 |
返回值
- 非
INVALID_PLAY_HANDLE:播放句柄,后续StopPlay/Snapshot/GetPlayTimeline使用。 INVALID_PLAY_HANDLE(0):失败。常见原因:未登录、设备未在列表中、局域网已有一路播放。设备未找到时还会触发 OnPlayError。
所属接口类
IRtcxPcApi
相关回调
OnPlayLoading、OnPlayStarted、OnPlayRetrying、OnPlayError、OnEncodedVideoData、OnEncodedAudioData
PlayHandle playHandle = pcapi->StartPlay(deviceName, productKey, renderHwnd);
PlayHandle subPlayHandle = pcapi->StartPlay(subDeviceName, subProductKey, renderHwnd, gatewayIotId);
StopPlay
停止指定 PlayHandle 对应的播放。
自从 v1.1.0
virtual void StopPlay(PlayHandle playHandle) = 0;
调用时机
StartPlay 返回有效句柄之后。传入无效句柄时无效果。Logout 会停止全部播放。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | StartPlay 返回的播放句柄 | v1.1.0 |
返回值
无。
所属接口类
IRtcxPcApi
GetPlayTimeline
获取指定播放的 Timeline。出图前 valid 为 false。
自从 v1.1.0
virtual PlayTimelineInfo GetPlayTimeline(PlayHandle playHandle) const = 0;
调用时机
StartPlay 之后随时可调。首帧出图前 valid=false,出图后可读取各阶段耗时。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄。无效句柄时返回 valid=false 的空结果 | v1.1.0 |
返回值
PlayTimelineInfo。出图前 valid=false。
所属接口类
IRtcxPcApi
GetPlayStreamType
获取指定播放当前使用的码流类型描述。
自从 v1.1.0
virtual std::string GetPlayStreamType(PlayHandle playHandle) const = 0;
调用时机
StartPlay 之后。出图前可能为空。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄。无效句柄返回空字符串 | v1.1.0 |
返回值
码流类型描述字符串;无效句柄或尚未就绪时为空。
所属接口类
IRtcxPcApi
截图
Snapshot
对正在播放的画面异步截图。结果通过 OnSnapshotTaken 回调。
自从 v1.1.0
virtual int32_t Snapshot(PlayHandle playHandle, const std::string &filePath,
bool withWatermark = false) = 0;
调用时机
对应 PlayHandle 已开始播放之后。调用成功仅表示已提交截图请求。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| filePath | const std::string & | 是 | 无 | 本地保存路径,例如 D:/capture/snap.jpg | v1.1.0 |
| withWatermark | bool | 否 | false | 是否叠加水印 | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):已提交。最终成败见 OnSnapshotTaken 的errCode(0表示成功)。RTCX_PC_FAIL(-1):句柄无效或播放器未就绪。
所属接口类
IRtcxPcApi
相关回调
int32_t ret = pcapi->Snapshot(playHandle, "D:/capture/snap.jpg", false);
DataChannel
SendCmdData
通过 DataChannel 向设备发送指令数据。默认可靠传输;需要不可靠传输时将 reliable 设为 false。同一 businessBatchId 绑定一台设备,通道未就绪时请求会入队。
自从 v1.1.0
virtual DataChannelResult SendCmdData(const std::string &businessBatchId,
uint16_t cmdId,
const std::vector<uint8_t> &data,
const std::string &deviceName,
const std::string &productKey,
std::string *errorMessage = nullptr,
bool reliable = true);
调用时机
已登录,且目标设备已进入 SDK 缓存(先拉设备列表或完成局域网发现)。payload 不超过 128KB。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| businessBatchId | const std::string & | 是 | 无 | 业务批次 ID,用于标识一条 DataChannel 会话,不能为空。已绑定其他设备时返回 CHANNEL_ERROR | v1.1.0 |
| cmdId | uint16_t | 是 | 无 | 指令 ID,由业务与设备约定 | v1.1.0 |
| data | const std::vector<uint8_t> & | 是 | 无 | 指令负载。超过 128KB 返回 DATA_TOO_LARGE | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 目标设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 目标产品 Key | v1.1.0 |
| errorMessage | std::string * | 否 | nullptr | 失败时写入错误描述 | v1.1.0 |
| reliable | bool | 否 | true | true 可靠传输,false 不可靠传输 | v1.1.0 |
返回值
SUCCESS(0):通道已就绪,数据已发送。QUEUED(1):通道尚未就绪,请求已入队,通道建立后自动发送。INVALID_CMD_ID(-1):指令 ID 无效。DATA_TOO_LARGE(-2):负载超过 128KB。CHANNEL_ERROR(-3):未登录、设备未找到、参数为空、会话冲突等。TIMEOUT(-4):超时。
所属接口类
IRtcxPcApi
相关回调
OnDataChannelStatus、OnDataChannelData
std::string errorMessage;
DataChannelResult result = pcapi->SendCmdData(
"batch-001", 1001, payload, deviceName, productKey, &errorMessage, true);
DestroyDataChannel
销毁指定 businessBatchId 的 DataChannel 会话。
自从 v1.1.0
virtual int32_t DestroyDataChannel(const std::string &businessBatchId);
调用时机
该批次指令发送完毕、不再需要通道时。Logout 会清理全部会话。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| businessBatchId | const std::string & | 是 | 无 | 要销毁的业务批次 ID | v1.1.0 |
返回值
RTCX_PC_SUCCESS(0):成功(含会话不存在)。< 0:失败。
所属接口类
IRtcxPcApi
事件回调
继承 IRtcxPcEvtHandler 并重写所需回调。未重写的回调为空实现。
自从 v1.1.0
所属接口类: IRtcxPcEvtHandler
OnPlayLoading
拉流信令交互完成,播放器开始建立连接。
自从 v1.1.0
virtual void OnPlayLoading(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey);
触发时机
StartPlay 之后、画面出现之前。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
OnPlayStarted
拉流成功,已开始播放。
自从 v1.1.0
virtual void OnPlayStarted(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey);
触发时机
播放器开始出流之后。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
OnPlayRetrying
拉流失败且即将自动重连。
自从 v1.1.0
virtual void OnPlayRetrying(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey,
int32_t attempt, int32_t maxAttempts);
触发时机
可重试错误发生后、发起下一次重连前。重试耗尽后触发 OnPlayError。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| attempt | int32_t | 是 | 无 | 当前重试序号,从 1 开始 | v1.1.0 |
| maxAttempts | int32_t | 是 | 无 | 最大重试次数,一般为 3 | v1.1.0 |
OnPlayError
拉流失败(重试耗尽或不可重试错误)。
自从 v1.1.0
virtual void OnPlayError(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey,
PlayFailReason reason, int32_t errCode);
触发时机
拉流无法恢复时。若 StartPlay 时设备未在缓存中,playHandle 可能为 INVALID_PLAY_HANDLE。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄;设备未找到时可能为 INVALID_PLAY_HANDLE | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| reason | PlayFailReason | 是 | 无 | 失败类别 | v1.1.0 |
| errCode | int32_t | 是 | 无 | SIGNAL_ERROR 时为信令业务错误码;SIGNAL_TIMEOUT 时无实际意义;PLAYER_ERROR 时为播放器错误码 | v1.1.0 |
OnSnapshotTaken
截图完成。
自从 v1.1.0
virtual void OnSnapshotTaken(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey,
int32_t errCode, const std::string &filePath);
触发时机
Snapshot 提交后,无论成功失败都会回调。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| errCode | int32_t | 是 | 无 | 0(PLAYERCODE_SUCCESS)表示成功;PLAYERCODE_SNAPSHOT_ERR 截图失败;PLAYERCODE_SNAPSHOT_MEMORY_LEAK 内存不足 | v1.1.0 |
| filePath | const std::string & | 是 | 无 | 保存路径(与调用 Snapshot 时传入的路径一致) | v1.1.0 |
OnLanDeviceDiscovered
局域网搜索过程中每发现一台新设备回调一次。设备会被写入缓存,之后可直接 StartPlay。
自从 v1.1.0
virtual void OnLanDeviceDiscovered(const LanDiscoveredDevice &device);
触发时机
StartLanDiscover 过程中。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| device | LanDiscoveredDevice | 是 | 无 | 发现的设备信息 | v1.1.0 |
OnLanDiscoverFinished
局域网搜索结束。列表可能为空。
自从 v1.1.0
virtual void OnLanDiscoverFinished(const std::vector<LanDiscoveredDevice> &devices);
触发时机
搜索超时结束或搜索流程完成后。之后 IsLanDiscovering 为 false。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| devices | std::vector<LanDiscoveredDevice> | 是 | 无 | 本次搜索发现的全部设备,可能为空。元素见 LanDiscoveredDevice | v1.1.0 |
OnDataChannelStatus
DataChannel 状态回调,失败时触发。
自从 v1.1.0
virtual void OnDataChannelStatus(const std::string &deviceName,
const std::string &productKey,
const std::string &businessBatchId,
int32_t statusCode,
int32_t errorCode,
const std::string &message);
触发时机
通道打开失败或异常时。statusCode 为 -101(POLARIS_RTC_DATA_CHANNEL_NON_OPENED)表示通道未打开。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| businessBatchId | const std::string & | 是 | 无 | 业务批次 ID | v1.1.0 |
| statusCode | int32_t | 是 | 无 | 状态码。失败时常见 -101 | v1.1.0 |
| errorCode | int32_t | 是 | 无 | 错误码 | v1.1.0 |
| message | const std::string & | 是 | 无 | 错误描述 | v1.1.0 |
OnDataChannelData
收到设备经 DataChannel 返回的数据。
自从 v1.1.0
virtual void OnDataChannelData(const std::string &deviceName,
const std::string &productKey,
const std::string &businessBatchId,
uint16_t cmdId,
const std::vector<uint8_t> &body);
触发时机
设备下行指令数据到达时。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| businessBatchId | const std::string & | 是 | 无 | 业务批次 ID | v1.1.0 |
| cmdId | uint16_t | 是 | 无 | 指令 ID | v1.1.0 |
| body | const std::vector<uint8_t> & | 是 | 无 | 数据内容 | v1.1.0 |
OnEncodedVideoData
编码视频帧回调。Linux 无内置渲染时,StartPlay 传入空 hWnd 后通过本回调取视频。
自从 v1.1.0
virtual void OnEncodedVideoData(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey,
uint32_t codecType,
uint64_t timestamp,
int64_t utcTimeMs,
const std::vector<uint8_t> &data);
触发时机
拉流过程中每帧编码视频到达时。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| codecType | uint32_t | 是 | 无 | 编码类型。1 = H264,2 = H265 | v1.1.0 |
| timestamp | uint64_t | 是 | 无 | 媒体时间戳 | v1.1.0 |
| utcTimeMs | int64_t | 是 | 无 | UTC 时间,毫秒 | v1.1.0 |
| data | const std::vector<uint8_t> & | 是 | 无 | 编码后的视频数据 | v1.1.0 |
OnEncodedAudioData
编码音频帧回调。codecType 与播放器 POLARISAudioCodecID 一致。
自从 v1.1.0
virtual void OnEncodedAudioData(PlayHandle playHandle, const std::string &deviceName,
const std::string &productKey,
uint32_t codecType,
int32_t sampleRate,
int32_t channelNum,
uint64_t timestamp,
const std::vector<uint8_t> &data);
触发时机
拉流过程中每帧编码音频到达时。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| playHandle | PlayHandle | 是 | 无 | 播放句柄 | v1.1.0 |
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| codecType | uint32_t | 是 | 无 | 1 = AAC,2 = PCMA,3 = PCMU,4 = G726,5 = OPUS | v1.1.0 |
| sampleRate | int32_t | 是 | 无 | 采样率 | v1.1.0 |
| channelNum | int32_t | 是 | 无 | 声道数 | v1.1.0 |
| timestamp | uint64_t | 是 | 无 | 媒体时间戳 | v1.1.0 |
| data | const std::vector<uint8_t> & | 是 | 无 | 编码后的音频数据 | v1.1.0 |
OnThirdPartyDeviceDetails
第三方设备详情批量查询完成。仅包含查询成功的设备。
自从 v1.1.0
virtual void OnThirdPartyDeviceDetails(
const std::vector<rtx::account::DeviceInfo> &devices);
触发时机
GetThirdPartyDeviceDetailsAsync 后台查询结束后。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| devices | std::vector<rtx::account::DeviceInfo> | 是 | 无 | 查询成功的设备详情,失败项不会出现在列表中。元素见 DeviceInfo | v1.1.0 |
OnDeviceStatusChanged
设备上下线通知。在 GetDeviceList 或 GetGatewaySubDeviceList 成功后,SDK 会订阅对应设备状态。
自从 v1.1.0
virtual void OnDeviceStatusChanged(const std::string &deviceName,
const std::string &productKey,
const std::string &iotId,
DeviceOnlineStatus status,
int64_t timestampMs);
触发时机
已订阅设备的在线状态变化时。局域网模式不订阅云端状态。
参数
| 参数 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| deviceName | const std::string & | 是 | 无 | 设备名 | v1.1.0 |
| productKey | const std::string & | 是 | 无 | 产品 Key | v1.1.0 |
| iotId | const std::string & | 是 | 无 | 设备唯一标识 | v1.1.0 |
| status | DeviceOnlineStatus | 是 | 无 | 在线状态 | v1.1.0 |
| timestampMs | int64_t | 是 | 无 | 状态变更时间戳,毫秒 | v1.1.0 |
数据结构
RtcxPcCode
通用返回码。命名空间:rtx::pcsdk。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| RTCX_PC_SUCCESS | 0 | 成功 | v1.1.0 |
| RTCX_PC_FAIL | -1 | 失败 | v1.1.0 |
PlayHandle
播放句柄,类型为 uint64_t。INVALID_PLAY_HANDLE 为 0,表示无效句柄。
自从 v1.1.0
InitParam
SDK 初始化参数。
自从 v1.1.0
struct InitParam
{
std::string cfgFileName = "config.ini";
std::string appKey;
std::string appSecret;
};
| 字段 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| cfgFileName | std::string | 否 | "config.ini" | 配置文件名 | v1.1.0 |
| appKey | std::string | 是 | 空 | 平台分配的 App Key | v1.1.0 |
| appSecret | std::string | 是 | 空 | 平台分配的 App Secret | v1.1.0 |
PlayFailReason
拉流失败原因。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| SIGNAL_ERROR | 0 | 信令请求失败(设备/网关返回非成功状态),errCode 为信令业务错误码 | v1.1.0 |
| SIGNAL_TIMEOUT | 1 | 信令请求超时(20 秒内未收到设备响应),errCode 无实际意义 | v1.1.0 |
| PLAYER_ERROR | 2 | 播放器/流媒体内部错误,errCode 为播放器错误码 | v1.1.0 |
DataChannelResult
SendCmdData 返回值。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| SUCCESS | 0 | 通道已就绪,数据已发送 | v1.1.0 |
| QUEUED | 1 | 通道尚未就绪,请求已入队 | v1.1.0 |
| INVALID_CMD_ID | -1 | 指令 ID 无效 | v1.1.0 |
| DATA_TOO_LARGE | -2 | 负载超过 128KB | v1.1.0 |
| CHANNEL_ERROR | -3 | 通道错误(未登录、设备未找到、参数非法等) | v1.1.0 |
| TIMEOUT | -4 | 超时 | v1.1.0 |
DeviceOnlineStatus
设备在线状态(上下线回调使用)。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| Offline | 0 | 离线 | v1.1.0 |
| Online | 1 | 在线 | v1.1.0 |
| Sleep | 2 | 休眠 | v1.1.0 |
PlayTimelineStep
Timeline 中的一个阶段。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| label | std::string | 空 | 阶段名称 | v1.1.0 |
| elapsedMs | int64_t | 0 | 从开始到该阶段的累计耗时(毫秒) | v1.1.0 |
| stepMs | int64_t | 0 | 该阶段自身耗时(毫秒) | v1.1.0 |
PlayTimelineInfo
播放 Timeline。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| playMode | std::string | 空 | 播放模式:P2P / CMS / Auto | v1.1.0 |
| streamType | std::string | 空 | 码流类型描述 | v1.1.0 |
| steps | std::vector<PlayTimelineStep> | 空 | 各阶段耗时 | v1.1.0 |
| valid | bool | false | 是否已出图、数据可用 | v1.1.0 |
LanDiscoveredDevice
局域网发现到的设备。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| ip | std::string | 空 | 设备 IP | v1.1.0 |
| sigPort | int32_t | 9821 | 信令端口 | v1.1.0 |
| protocol | std::string | "TCP" | 信令协议 | v1.1.0 |
| productKey | std::string | 空 | 产品 Key | v1.1.0 |
| deviceName | std::string | 空 | 设备名 | v1.1.0 |
| isGateway | bool | false | 是否网关 | v1.1.0 |
iotId() 返回 productKey + deviceName。自从 v1.1.0
LanDiscoverParam
局域网搜索参数。
自从 v1.1.0
| 字段 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| targetIp | std::string | 否 | 空 | 空=广播;非空=单播指定 IPv4 | v1.1.0 |
OwnedType
设备与用户的绑定关系。命名空间:rtx::account。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| SHARED | 0 | 被分享的设备 | v1.1.0 |
| OWNED | 1 | 拥有的设备 | v1.1.0 |
| ALL | 10000 | 全部设备 | v1.1.0 |
DeviceStatus
设备状态。命名空间:rtx::account。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| INACTIVE | 0 | 未激活 | v1.1.0 |
| ONLINE | 1 | 在线 | v1.1.0 |
| SLEEP | 2 | 休眠 | v1.1.0 |
| OFFLINE | 3 | 离线 | v1.1.0 |
| DISABLE | 8 | 禁用 | v1.1.0 |
NodeType
设备节点类型。命名空间:rtx::account。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| DEVICE | 0 | 普通设备 | v1.1.0 |
| GATEWAY | 1 | 网关 | v1.1.0 |
| UNKNOWN | 10000 | 未知 | v1.1.0 |
NetType
设备联网方式。命名空间:rtx::account。
自从 v1.1.0
| 枚举值 | 数值 | 说明 | 自从 |
|---|---|---|---|
| NET_LORA | 0 | LoRa | v1.1.0 |
| NET_CELLULAR | 1 | 2G/3G/4G/5G 蜂窝网 | v1.1.0 |
| NET_WIFI | 2 | Wi-Fi | v1.1.0 |
| NET_ZIGBEE | 3 | ZigBee | v1.1.0 |
| NET_ETHERNET | 4 | 以太网 | v1.1.0 |
| NET_OTHER | 5 | 其他 | v1.1.0 |
| NET_UNKNOWN | 10000 | 未知 | v1.1.0 |
DeviceListReq
设备列表请求。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| iotToken | std::string | 否 | 空 | 使用本 SDK 登录后由 SDK 自动填充 | v1.1.0 |
| pageNo | uint32_t | 否 | 1 | 页码,从 1 开始 | v1.1.0 |
| pageSize | uint32_t | 否 | 100 | 分页大小,1~100 | v1.1.0 |
| owned | OwnedType | 否 | OwnedType::ALL | 绑定类型:分享 / 拥有 / 全部 | v1.1.0 |
| groupId | uint64_t | 否 | 0 | 按分组过滤;0 表示不过滤 | v1.1.0 |
| isSubDevice | bool | 否 | false | true 获取子设备,false 获取直连设备 | v1.1.0 |
DeviceInfo
设备详情。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| identityId | uint64_t | — | 用户身份 ID | v1.1.0 |
| iotId | std::string | 空 | 平台颁发的设备唯一标识 | v1.1.0 |
| deviceName | std::string | 空 | 设备名 | v1.1.0 |
| productKey | std::string | 空 | 产品 Key | v1.1.0 |
| productName | std::string | 空 | 产品名称 | v1.1.0 |
| productModel | std::string | 空 | 产品型号 | v1.1.0 |
| nickName | std::string | 空 | 设备昵称 | v1.1.0 |
| netType | NetType | NET_UNKNOWN | 联网方式 | v1.1.0 |
| thingType | std::string | 空 | 物类型,普通设备为 DEVICE | v1.1.0 |
| status | DeviceStatus | OFFLINE | 设备状态 | v1.1.0 |
| owned | OwnedType | ALL | 与用户的关系 | v1.1.0 |
| nodeType | NodeType | DEVICE | 节点类型 | v1.1.0 |
| gmtModified | uint64_t | — | 最后修改时间 | v1.1.0 |
| region | std::string | 空 | 设备所在机房 | v1.1.0 |
| sharePermissionList | std::vector<std::string> | 空 | 分享权限列表(仅 owned=SHARED 有值):live、control、record、ptz、voiceIntercom、setting、notification | v1.1.0 |
| groupId | uint64_t | 0 | 分组 ID | v1.1.0 |
DeviceList
设备列表响应。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 说明 | 自从 |
|---|---|---|---|
| total | uint32_t | 列表总数 | v1.1.0 |
| pageNo | uint32_t | 当前页码 | v1.1.0 |
| pageSize | uint32_t | 分页大小 | v1.1.0 |
| data | std::vector<DeviceInfo> | 当前页设备 | v1.1.0 |
DeviceGroupListReq
设备分组列表请求。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| iotToken | std::string | 否 | 空 | 使用本 SDK 登录后由 SDK 自动填充 | v1.1.0 |
| pageNo | uint32_t | 否 | 1 | 页码,从 1 开始 | v1.1.0 |
| pageSize | uint32_t | 否 | 100 | 分页大小,1~100 | v1.1.0 |
DevicGroupInfo
设备分组信息。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 说明 | 自从 |
|---|---|---|---|
| groupId | uint64_t | 分组 ID | v1.1.0 |
| name | std::string | 分组名称 | v1.1.0 |
DeviceGroupList
设备分组列表响应。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 说明 | 自从 |
|---|---|---|---|
| total | uint32_t | 列表总数 | v1.1.0 |
| pageNo | uint32_t | 当前页码 | v1.1.0 |
| pageSize | uint32_t | 分页大小 | v1.1.0 |
| items | std::vector<DevicGroupInfo> | 当前页分组 | v1.1.0 |
GatewaySubDeviceListReq
网关子设备列表请求。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| iotToken | std::string | 否 | 空 | 使用本 SDK 登录后由 SDK 自动填充 | v1.1.0 |
| iotId | std::string | 是 | 空 | 父网关的设备唯一标识 | v1.1.0 |
| pageNo | uint32_t | 否 | 1 | 页码,从 1 开始 | v1.1.0 |
| pageSize | uint32_t | 否 | 100 | 分页大小,1~100 | v1.1.0 |
| groupId | uint64_t | 否 | 0 | 按分组过滤;0 表示不过滤 | v1.1.0 |
GatewaySubDeviceInfo
网关子设备信息。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| iotId | std::string | 空 | 子设备唯一标识 | v1.1.0 |
| productKey | std::string | 空 | 产品 Key | v1.1.0 |
| deviceName | std::string | 空 | 设备名 | v1.1.0 |
| nickName | std::string | 空 | 昵称 | v1.1.0 |
| status | std::string | 空 | 设备状态 | v1.1.0 |
| owned | std::string | 空 | 绑定关系 | v1.1.0 |
| gmtModified | uint64_t | 0 | 最后修改时间 | v1.1.0 |
| region | std::string | 空 | 所在机房 | v1.1.0 |
| sharePermissionList | std::vector<std::string> | 空 | 分享权限列表 | v1.1.0 |
| groupId | uint64_t | 0 | 分组 ID | v1.1.0 |
GatewaySubDeviceList
网关子设备列表响应。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| total | uint32_t | 0 | 列表总数 | v1.1.0 |
| pageNo | uint32_t | 0 | 当前页码 | v1.1.0 |
| pageSize | uint32_t | 0 | 分页大小 | v1.1.0 |
| data | std::vector<GatewaySubDeviceInfo> | 空 | 当前页子设备 | v1.1.0 |
ThingPropertyValue
单个物模型属性值。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| lensId | int32_t | -1 | 镜头 ID,< 0 表示不区分镜头 | v1.1.0 |
| value | std::string | 空 | 属性值 | v1.1.0 |
| time | int64_t | 0 | 属性更新时间 | v1.1.0 |
ThingPropertiesData
物模型属性集合。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|
| propertyMap | std::map<std::string, std::vector<ThingPropertyValue>> | 空 | key 为属性标识符,value 为该属性在各镜头上的取值 | v1.1.0 |
| maxUpdateTimeValue | int64_t | 0 | 本次数据的最大更新时间,可用于下次差量查询 | v1.1.0 |
ThirdPartyDeviceQuery
第三方设备详情查询项。命名空间:rtx::account。
自从 v1.1.0
| 字段 | 类型 | 必选 | 默认值 | 说明 | 自从 |
|---|---|---|---|---|---|
| iotId | std::string | 是 | 空 | 设备唯一标识 | v1.1.0 |
| productKey | std::string | 是 | 空 | 产品 Key | v1.1.0 |
| deviceName | std::string | 是 | 空 | 设备名 | v1.1.0 |