Open Services 文档中心
首页
平台介绍
OpenAPI文档
  • H5

    • 接入文档
  • Android

    • 接入文档
  • iOS

    • 接入文档
  • PC

    • 接入文档
  • H5-SDK+Demo (opens new window)
  • Android-SDK+Demo (opens new window)
  • iOS-SDK+Demo (opens new window)
  • PC-SDK+Demo (opens new window)
首页
平台介绍
OpenAPI文档
  • H5

    • 接入文档
  • Android

    • 接入文档
  • iOS

    • 接入文档
  • PC

    • 接入文档
  • H5-SDK+Demo (opens new window)
  • Android-SDK+Demo (opens new window)
  • iOS-SDK+Demo (opens new window)
  • PC-SDK+Demo (opens new window)
  • H5

  • Android

  • iOS

  • PC

    • PC接入文档
    • SDK
    • PC
    2025-04-24
    目录

    PC接入文档

    [TOC]

    # 云手机PC音视频SDK文档

    云手机PC音视频SDK主要功能是为windows 桌面应用赋予云手机使用能力,可以通过SDK连接云手机,完成对云手机的一系列操作

    # 简介

    PC音视频SDK,开发语言C++,主要包括头文件,lib库dll和Demo示例。64位debug与release。dll主要实现对云机画面拉取以及云机的一系列操作,Demo简单的实现使用sdk开发云手机流程样例。

    # 获取设备列表

    1. 根据后台服务地址,AK,SIGN参数,使用API/api/v2/instance/list获取解析设备列表数据。
    2. 请求云机设备控制token,使用API/api/v2/instance/control/token/get。

    # 控制云机

    1. 控制云机,需要传入参数云机设备ID,后台服务地址,内部IP和控制token。
    2. 例如启动应用app,则需要传入对应app的包名,不同的控制功能需要的参数不同。

    # 启动和停止拉流

    1. 调用SDK API, startPullStream开启拉流,disconnectStream停止拉流。

    # 运行环境

    可运行于 win7 sp1 以 上 版 本 。

    # SDK导入

    1. 	包含头文件:
    include\CloudPhoneDef.h
    include\CloudPhoneInterface.h
    
    2.导入lib库 
    CloudPhoneToolbox.lib
    
    3.将dll与exe放在同一目录
    CloudPhoneToolbox.dll
    mediastream.dll
    

    # API接口类CloudPhoneInterface

    # 一. 全局初始化

    static void init();
    
    # 参数
    参数名 必选 类型 说明
    无 否 无 只需要在调用sdk其它api前调用一次
    返回值 类型 说明
    无 无 无

    # 一. 云机操作部分

    # 1. 启动应用
    void startApp(const char* instanceId, 
    			const char* host,
    			const char* internalIp, 
    			const char* token,
    			const char*packageName);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    packageName 是 const char* 启动应用包名
    返回值 类型 说明
    无 无 无
    # 2. 停止应用
    void stopApp(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		const char*packageName);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    packageName 是 const char* 启动应用包名
    返回值 类型 说明
    无 无 无
    # 3. 卸载应用
    void unInstallApp(const char* instanceId,
    	const char* host,
    	const char* internalIp,
    	const char* token,
    	const char*packageName);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    packageName 是 const char* 启动应用包名
    返回值 类型 说明
    无 无 无
    # 4. 隐藏应用
    void hideApp(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    返回值 类型 说明
    无 无 无
    # 5. 显示应用
    void displayApp(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    返回值 类型 说明
    无 无 无
    # 6. 应用root
    void rootApp(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		int rootSwitch,
    		char* packageList,
    		int len);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    rootSwitch 是 int 0关闭 1开启
    packageList 是 char* 包名以:分隔开的列表字符串
    len 是 int 字符串长度
    返回值 类型 说明
    无 无 无
    # 7. 系统root
    void systemRoot(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		int rootSwitch);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    rootSwitch 是 int 0关闭 1开启
    返回值 类型 说明
    无 无 无
    # 8. 开启预览图
    void sysPreviewStart(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		const char*interval,
    		const char*width,
    		const char*height, 
    		const char*quality);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    interval 是 const char* 预览图刷新间隔 单位秒
    width 是 const char* 预览图宽
    height 是 const char* 预览图高
    quality 是 const char* 预览图压缩质量 1-100 值越大质量越好
    返回值 类型 说明
    无 无 无
    # 9. 关闭预览图
    void sysPreviewStop(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    返回值 类型 说明
    无 无 无
    # 10. 位置服务
    void virtualLocation(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		const char*longitude,
    		const char*latitude);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    longitude 是 const char* GPS 经度
    latitude 是 const char* GPS 纬度
    返回值 类型 说明
    无 无 无
    # 11. 发送剪切板
    void clipBoard(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		const char*content);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    content 是 const char* 剪切板内容
    返回值 类型 说明
    无 无 无
    # 12. 设置卡分辨率
    void setCardResolution(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		int width, 
    		int height);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    width 是 int 宽
    height 是 int 高
    返回值 类型 说明
    无 无 无
    # 13. 设置卡dpi
    void setCardDpi(const char* instanceId,
    		const char* host,
    		const char* internalIp,
    		const char* token,
    		int dpi);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    dpi 是 int dpi
    返回值 类型 说明
    无 无 无
    # 14. 应用清理
    bool cleanAppData(const char *instanceId, const char *host, const char *internalIp, const char *token, const char *pkgName, int timeout = 5);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    pkgName 是 const char* app包名
    timeout 是 int 超时
    返回值 类型 说明
    无 无 无
    # 15. 应用启用
    bool enabelApp(const char* instanceId,
    	const char* host,
    	const char* internalIp,
    	const char* token,
    	const char* packageName, int timeout = 5);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    pkgName 是 const char* app包名
    timeout 是 int 超时
    返回值 类型 说明
    无 无 无
    # 15. 应用停用
    bool disabelApp(const char* instanceId,
    	const char* host,
    	const char* internalIp,
    	const char* token,
    	const char* packageName, int timeout = 5);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    pkgName 是 const char* app包名
    timeout 是 int 超时
    返回值 类型 说明
    无 无 无
    # 16. 设备新机
    bool setSysProp(const char *instanceId, const char *host, const char *internalIp, const char *token, const char* brand, const char* model, int timeout = 5);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    brand 是 const char* 品牌
    model 是 const char* 型号
    timeout 是 int 超时
    返回值 类型 说明
    无 无 无

    # 二. 云机拉流部分

    # 1. 拉取云机音视频流
    int startPullStream(const char* uri,
    	const iceAddressInfo* iceInfo,
    	int iceCount,
    	const char* instanceId,
    	int fmt,
    	int videoWidth,
    	int videoHeight,
    	int fps,
    	int bitrate,
    	int cardWidth,
    	int cardHeight,
    	int cardDensity,
    	const char* authToken,
    	HWND hwnd,
    	const char *host,
    	const char *internalIp,
    	const char *ctrlToken
    );
    
    参数名 必选 类型 说明
    uri 是 const char* 拉流信令地址,来源:/api/v2/instance/stream/token/get,字段:signalTcp
    iceInfo 是 const iceAddressInfo* 获取拉流token协议返回, 来源:/api/v2/instance/stream/token/get,字段:coturnHttp
    iceCount 是 int iceInfo 个数
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    fmt 是 int 拉流格式 1 h264 5 H265
    videoWidth 是 int 视频宽 云手机场景推荐720
    videoHeight 是 int 视频高 云手机场景推荐1280
    fps 是 int 拉流帧率 30-60
    cardWidth 是 int 云机分辨率宽 无需改动传0
    cardHeight 是 int 云机分辨率高 无需改动传0
    cardDensity 是 int 云机分dpi 无需改动传0
    authToken 是 const char* 鉴权码 协议请求返回的token,来源:/api/v2/instance/stream/token/get,字段:token
    hwnd 是 HWND 渲染窗口 窗口句柄,来源:本地windows界面窗口句柄
    host 是 const char * ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char * 实例内网ip,来源:/api/v2/instance/list,字段:ip
    ctrlToken 是 const char * 控制token,来源:/api/v2/instance/control/token/get,字段:token
    # iceAddressInfo 类型说明
    参数名 必选 类型 说明
    address 是 const char* 地址
    type 是 int 0移动 1联通 2电信
    返回值 类型 说明
    0或小于0 int 0成功 小于0失败
    # 2. 断开拉流
    void disconnectStream();
    
    参数名 必选 类型 说明
    无 无 无 无
    返回值 类型 说明
    无 无 无
    # 3. 发送键盘key
    void sendKey(int keyCode);
    
    参数名 必选 类型 说明
    keyCode 是 int 键盘转换成安卓key 值
    返回值 类型 说明
    无 无 无
    # 4. 设置最大拉流码率上限
    void setMaxBitrate(int bitrate);
    
    参数名 必选 类型 说明
    bitrate 是 int 设置最大拉流码率上限码率值,用于控制清晰度。可以通过此接口控制各个清晰的码率上限值
    返回值 类型 说明
    无 无 无
    # 5. 暂停拉流
    void pauseStream();
    
    参数名 必选 类型 说明
    无 无 无 无
    返回值 类型 说明
    无 无 无
    # 6. 恢复拉流
    void resumeStream();
    
    参数名 必选 类型 说明
    无 无 无 无
    返回值 类型 说明
    无 无 无
    # 7. 拉流过程中设置卡分辨率及dpi
    void setCardSize(int cardWidth, int cardHeight, int cardDensity);
    
    参数名 必选 类型 说明
    cardWidth 是 int 云机分辨率宽
    cardHeight 是 int 云机分辨率高
    cardDensity 是 int 云机dpi
    返回值 类型 说明
    无 无 无
    # 8. 拉流过程中改变拉流视频宽高
    void setVideoSize(int videoWidth, int videoHeight, int fps);
    
    参数名 必选 类型 说明
    videoWidth 是 int 视频宽
    videoHeight 是 int 视频高
    fps 是 int 帧率
    返回值 类型 说明
    无 无 无
    # 9. 拉流过程获取拉流状态
    int getMediaConnectionStatus();
    
    参数名 必选 类型 说明
    无 无 无 无
    返回值 类型 说明
    由回调接口返回 无 无
    # 10. 音频开
    bool audioOpen();
    
    参数名 必选 类型 说明
    无 无 无 无
    返回值 类型 说明
    无 无 无
    # 11. 音频关
    bool audioClose();
    
    参数名 必选 类型 说明
    无 无 无 无
    返回值 类型 说明
    无 无 无
    # 12. 消息订阅
    bool subscribeTopic(const char* instanceId, const char* host, const char* internalIp, const char* token, const char* topic);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    topic 是 const char* 主题,剪切板:clipboard_transmission,消息透传:message_transmission
    返回值 类型 说明
    # 13. 取消订阅
    bool unsubscribeTopic(const char* instanceId, const char* host, const char* internalIp, const char* token, const char* topic);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    topic 是 const char* 主题,剪切板:clipboard_transmission,消息透传:message_transmission
    返回值 类型 说明
    无 无 无
    # 14. 暂停云机
    bool pauseStream();
    
    参数名 必选 类型 说明
    返回值 类型 说明
    无 无 无
    # 15. 恢复云机
    bool resumeStream();
    
    参数名 必选 类型 说明
    返回值 类型 说明
    无 无 无
    # 16. 设置编码类型
    bool setVideoCodecHw(bool isHw);
    
    参数名 必选 类型 说明
    isHw 是 bool 是否使用硬编码
    返回值 类型 说明
    无 无 无
    # 17. 消息透传
    bool appMessageTransmission(const char* instanceId, const char* host, const char* internalIp, const char* token, const char* package_name, const char* message);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    package_name 是 const char* 包名
    message 是 const char* 需要发送的消息
    返回值 类型 说明
    无 无 无
    # 18. 设置画质
    bool setPictureQuality(int width, int height, int fps, int mode);
    
    参数名 必选 类型 说明
    width 是 int 宽
    height 是 int 高
    fps 是 int 帧率
    mode 是 int 模式(1:超清,2:高清,3:标清,4:流畅)
    返回值 类型 说明
    无 无 无

    自动: 提高流畅性,降低延迟,画质会跟随网络变化而变化,网络差时会降低画质保流畅度,网络恢复时画质提升。 手动: 保证推流过程中画质稳定性,可以有效控制推流流量,网络差时会出现卡顿,丢包,高延迟,声音断续等。

    # 19. 截图
    bool screenShot(const char* instanceId, const char* host, const char* internalIp, const char* token, int quality);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token,来源:/api/v2/instance/control/token/get,字段:token
    quality 是 int 质量(0-100)
    返回值 类型 说明
    无 无 无
    # 20. 上传文件
    bool uploadFile(int64_t taskId, const char* filePath, int uploadType, const char* ip, const char* host, const char* auth);
    
    参数名 必选 类型 说明
    taskId 是 int64_t 任务id
    filePath 是 const char* 文件路径
    host 是 const char* 外网ip,来源:/api/v2/instance/list,字段:publicIp
    ip 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    auth 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    uploadType 是 int 1:上传到相册,2:上传到SD卡
    返回值 类型 说明
    无 无 无
    # 21. 下载文件
    bool downloadFile(int64_t taskId, const char* filePath, const char* ip, const char* host, const char* auth);
    
    参数名 必选 类型 说明
    taskId 是 int64_t 任务id
    filePath 是 const char* 文件路径
    host 是 const char* 外网ip,来源:/api/v2/instance/list,字段:publicIp
    ip 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    auth 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    返回值 类型 说明
    无 无 无
    # 22. 锁定横竖屏
    bool setScreenOrientation(int ori);
    
    参数名 必选 类型 说明
    ori 是 int 0:竖屏,1:横屏
    返回值 类型 说明
    无 无 无
    # 23. 吹一吹
    bool blow(const char* instanceId, const char* host, const char* internalIp, const char* token, int time = 5);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    time 否 int 时间(5-10)
    返回值 类型 说明
    bool 布尔 无
    # 24. 摇一摇
    bool shake(const char* instanceId, const char* host, const char* internalIp, const char* token, int time = 5);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    time 否 int 时间(5-10)
    返回值 类型 说明
    bool 布尔 无
    # 25. 获取屏幕横竖屏状态
    bool getScreenOrientation(const char *instanceId, const char *host, const char *internalIp, const char *token);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    返回值 类型 说明
    bool 布尔 无
    # 26. 单例同步操作发送键盘值
    bool sendKeyForGroupControl(const char *instanceId, const char *host, const char *internalIp, const char *token, int keycode);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    keycode 是 int 键盘值
    返回值 类型 说明
    bool 布尔 无
    # 27. 单例同步操作发送鼠标事件
    bool sendMouseForGroupControl(const char *instanceId, const char *host, const char *internalIp, const char *token, int msg, int x, int y, int width, int height, int hScroll, int vScroll);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    msg 是 int 鼠标事件类型, WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE, WM_MOUSEWHEEL
    x 是 int 坐标x
    y 是 int 坐标y
    width 是 int 窗口宽
    height 是 int 窗口高
    hScroll 是 int 水平方向滚动
    vScroll 是 int 垂直方向滚动
    返回值 类型 说明
    bool 布尔 无
    # 28. 设置系统导航栏显示和隐藏
    bool setNavBarVisable(const char *instanceId, const char *host, const char *internalIp, const char *token, bool visable);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    visable 是 int 显示/隐藏
    返回值 类型 说明
    bool 布尔 无
    # 29. 文本透传
    bool sendText(const char *instanceId, const char *host, const char *internalIp, const char *token, const char *text, int position);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id ,来源:/api/v2/instance/list, 字段:instanceId
    host 是 const char* ws外网ip ,来源:/api/v2/instance/list,字段:publicIp
    internalIp 是 const char* 实例内网ip ,来源:/api/v2/instance/list,字段:ip
    token 是 const char* 鉴权token ,来源:/api/v2/instance/control/token/get,字段:token
    text 是 const char* 文本数据
    position 是 int -1:删除,0:增加
    返回值 类型 说明
    bool 布尔 无
    # 30. 获取系统导航栏状态
    bool getNavBarStatus(const char *instanceId, const char *host, const char *internalIp, const char *token);
    
    参数名 必选 类型 说明
    instanceId 是 const char* 实例id
    host 是 const char* ws外网ip
    internalIp 是 const char* 实例内网ip
    token 是 const char* 鉴权token
    返回值 类型 说明
    bool 布尔 无

    # 三. 监听回调部分 监听CloudPhoneObserver

    # 1. 启动应用返回
    virtual void startAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 2. 停止应用返回
    virtual void stopAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 3. 卸载应用返回
    virtual void unInstallAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 4. 隐藏应用返回
    virtual void shideAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 5. 隐藏应用返回
    virtual void displayAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 6. 应用root返回
    virtual void rootAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 7. 系统root返回
    virtual void systemRootResponse(const char* instanceId, int code, const char* message) {}
    
    # 8. 开启预览图返回
    virtual void sysPreviewStartResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 9. 停止预览图返回
    virtual void sysPreviewStopResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 10. 设置虚拟定位返回
    virtual void virtualLocationResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 11. 发送剪切板返回
    virtual void clipBoardResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 12. 设置系统分辨率返回
    virtual void sysResolutionResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 13. 设置系统dpi返回
    virtual void sysDpiResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 14. 预览图数据返回
    virtual void previewResponse(const char* instanceId, int code, const char* message,
    	const char* pImag, int size) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    pImag 是 const char* jpg 图片内存数据
    size 是 int 长度
    # 15. 获取拉流状态返回
    virtual void onStreamStats(int videoWidth, int videoHeight, float lostRate,
    	int decodeFps, int preReceive, int currentRoundTripTime) {}
    
    返回值 类型 说明
    videoWidth 是 int 视频宽
    videoHeight 是 int 视频高
    lostRate 是 float 丢包率 百分比
    decodeFps 是 int 解码帧率
    preReceive 是 int 每秒字节数 除1024 为KB/s
    currentRoundTripTime 是 int 网络往返时延 ms
    # 16. 拉流连接状态通知
    virtual void onStreamConnectionStatus(int code, const char* descriptions) {}
    
    返回值 类型 说明
    code 是 int 状态值
    descriptions 是 const char* 描述
    # 17. 拉流视频宽高改变通知
    virtual void onFrameResultionChanned(int width, int height) {}
    
    返回值 类型 说明
    width 是 int 视频宽
    height 是 int 视频高
    # 18. 暂停云机通知
    virtual void pauseStreamResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 19. 恢复云机通知
    virtual void resumeStreamResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 20. 音频开通知
    virtual void setAudioOpenResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 21. 音频关通知
    virtual void setAudioCloseResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 22. 画质设置通知
    virtual void setPictureQualityResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 22. 编码类型设置通知
    virtual void setVideoCodecHwResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 23. 横竖屏设置通知
    virtual void setScreenOrientationResponse(bool ret) {}
    
    返回值 类型 说明
    ret 是 bool 操作结果
    # 23. 订阅消息通知
    virtual void subscribeTopicResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 24. 取消订阅消息通知
    virtual void unsubscribeTopicResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 25. 消息透传通知
    virtual void appMessageTransmissionResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 26. 订阅app消息通知
    virtual void subscribeAppMessageResponse(const char* instanceId, int code, const char* message, const char* pkgName) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    pkgName 是 const char* 包名
    # 27. 截图通知
    virtual void screenshotResponse(const char* instanceId, int code, const char* message, const char* imagePath) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    imagePath 是 const char* 文件路径
    # 28. 文件上传通知
    virtual void uploadResponse(int64_t taskId, const char* filename, int type, int progress) {}
    
    返回值 类型 说明
    taskId 是 int64_t 任务id
    filename 是 const char* 文件名称
    type 是 int 0:相册,1:SD卡
    progress 是 int 进度值
    # 29. 文件下载通知
    virtual void downloadResponse(int64_t taskId, const char* filename, int type, int progress) {}
    
    返回值 类型 说明
    taskId 是 int64_t 任务id
    filename 是 const char* 文件名称
    progress 是 int 进度值
    # 30. 应用清理通知
    virtual void cleanAppDataResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 31. 设备新机通知
    virtual void setSysPropResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 32. 超时通知
    virtual void onTimeOutResponse(const char* instanceId, int code, const char* message) {};
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 33. 应用停用通知
    virtual void disableAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 34. 应用启用通知
    virtual void disableAppResponse(const char* instanceId, int code, const char* message) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    # 35. 获取导航栏状态通知
    virtual void onGetNavBarStatusResponse(const char* instanceId, int code, const char* message, int status) {}
    
    返回值 类型 说明
    instanceId 是 const char* 实例id
    code 是 int 0成 非0 失败
    message 是 const char* 描述
    status 是 int 0:显示,1:隐藏
    iOS接入文档

    ← iOS接入文档

    最近更新
    01
    H5接入文档
    04-24
    02
    Android接入文档
    04-24
    03
    OpenAPI文档
    04-24
    更多文章>
    Theme by Vdoing | Copyright © 2024-2025 Theme by PaaS
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式