VMOS Cloud API
  • 简体中文
  • English
  • 简体中文
  • English
  • 产品介绍
  • 产品类型
  • 产品计费
  • OpenAPI
    • 接口文档
    • 错误码
    • 实例属性列表
    • 安卓改机属性列表
  • Android端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 错误码
    • 更新日志
  • Web H5端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 错误码
    • 更新日志
  • Windows PC端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 更新日志
  • 端侧与云机通信开发
    • AIDL接入方式
    • 系统服务API(aidl)
  • 类XP、LSP Hook框架
  • 相关协议

本文档描述了云手机PC客户端SDK提供的接口。

API概览

引擎(ArmcloudEngine)

接口名称接口描述
instance获取引擎实例(单例模式)
init初始化引擎
destory销毁引擎
setSdkHost设置服务器地址
createPhoneClient创建云机会话,用于操控云机
createBatchControlVideo创建批量拉流控制器
getVideoDeviceList获取摄像头列表
getAudioDeviceList获取麦克风列表

群控(GroupControl)

接口名称接口描述
destory销毁
startEventSync开启群控
stopEventSync停止群控
setEventSyncMaster设置主控
sendInputText发送文本到指定云机输入框
startVideoCapture开启摄像头采集
stopVideoCapture停止采集
getCameraCount获取摄像头数量
getCameraInfo获取摄像头信息

小流(BatchControlVideo)

接口名称接口描述
start开始拉流
stop停止拉流
stop批量停止拉流
stopAll全部停止拉流
contains是否包含
subscribe开始订阅
unsubscribe取消订阅
setVideoSink设置视频渲染器
setBatchControlObserver设置回调

大流(PhoneClient)

接口名称接口描述
start开启拉流
stop停止拉流
setVideoSink设置视频渲染器
setSessionObserver设置回调
sendSwipe发送滚轮事件
sendKeyCode发送键盘按键事件(发送一次完整的DOWN+UP事件)
sendKeyCode发送键盘按键事件(可选择发送单状态事件)
volumeUp增大云机设备音量
volumeDown减小云机设备音量
sendTouchEvent发送触摸事件
setVideoLevel修改拉流画质
screenshot截图
sendInputText发送输入文本
enableAudio开启音频
enableVideo开启视频
enableBlow开启吹一吹
shake摇一摇
startVideoCapture开启摄像头采集
stopVideoCapture停止采集
publishStream发布视频流
unPublishStream停止发布
sendCommand发送adb命令

接口详细说明

获取引擎实例

描述:获取ArmcloudEngine引擎实例

语法:

static ArmcloudEngine* instance();
参数类型是否必填描述
appIdstring是设置日志文件路径
logPathwstring否日志文件路径
isInitEnginebool否是否提前初始化引擎

初始化引擎

描述:初始化ArmcloudEngine引擎

语法:

bool init(const std::string& appId, const std::wstring& logPath = L"", bool isInitEngine = false);
参数类型是否必填描述
appIdstring是设置日志文件路径
logPathwstring否日志文件路径
isInitEnginebool否是否提前初始化引擎

销毁引擎

描述:销毁ArmcloudEngine引擎

语法:

void destory();

设置服务器地址

描述:设置服务器地址 语法:

void setSdkHost(const std::string& host);
参数类型是否必填描述
hoststring是设置服务器地址

创建云机会话

描述:创建云机会话 语法:

PhoneClient* createPhoneClient();

创建批量拉流控制器

描述:创建批量拉流控制器

语法:

BatchControlVideo* createBatchControlVideo();

获取摄像头列表

描述:获取摄像头列表

语法:

std::vector<DeviceInfo> getVideoDeviceList();

获取麦克风列表

描述:获取麦克风列表

语法:

std::vector<DeviceInfo> getAudioDeviceList();

销毁

描述:销毁

语法:

void destory();

开启群控

描述:开启群控

语法:

void startEventSync(const BatchPhoneConfig& config)
参数类型是否必填描述
configBatchPhoneConfig是群控配置

停止群控

描述:停止群控

语法:

void stopEventSync()

设置主控

描述:设置主控

语法:

void setEventSyncMaster(const std::string& podId)
参数类型是否必填描述
podIdstring是主控云机ID

发送文本到指定云机输入框

描述:发送文本到指定云机输入框

语法:

void sendInputText(const std::string& podId, const std::string& content)
参数类型是否必填描述
podIdstring是主控云机ID
contentstring是发送的文本内容,必须为UTF-8编码

开始拉流

描述:开始拉流

语法:

void start(const BatchPhoneConfig& config)
参数类型是否必填描述
configBatchPhoneConfig是批量拉流配置

停止拉流

描述:停止拉流

语法:

void stop(const std::string& podId)
参数类型是否必填描述
podIdstring是需要停止拉流的云机ID

批量停止拉流

描述:批量停止拉流

语法:

void stop(const std::vector<std::string>& podList)
参数类型是否必填描述
podListstring[]是需要停止拉流的云机ID列表

全部停止拉流

描述:全部停止拉流

语法:

void stopAll()

是否包含

描述:是否包含

语法:

bool contains(const std::string& podId)
参数类型是否必填描述
podIdstring是需要查询的云机ID

开始订阅

描述:开始订阅

语法:

void subscribe(const std::string& podId)
参数类型是否必填描述
podIdstring是需要订阅视频流的云机ID

取消订阅

描述:取消订阅

语法:

void unsubscribe(const std::string& podId)
参数类型是否必填描述
podIdstring是需要取消订阅视频流的云机ID

设置视频渲染器

描述:设置视频渲染器

语法:

void setVideoSink(const std::string& podId, VideoRenderSink* sink)
参数类型是否必填描述
podIdstring是需要设置渲染器的云机ID
sinkVideoRenderSink是视频渲染器

设置回调

描述:设置回调

语法:

void setBatchControlObserver(BatchControlObserver* observer)
参数类型是否必填描述
observerBatchControlObserver是回调

开启拉流

描述:开启拉流

语法:

void start(PhoneConfig& config)
参数类型是否必填描述
configPhoneConfig是连接云机配置

停止拉流

描述:停止拉流

语法:

void stop();

设置视频渲染器

描述:设置视频渲染器

语法:

void setVideoSink(VideoRenderSink* sink)
参数类型是否必填描述
sinkVideoRenderSink*是视频渲染器

设置云手机事件回调

描述:调用setSessionObserver()设置云手机事件回调

语法:

void setSessionObserver(SessionObserver* observer)
参数类型是否必填描述
observerSessionObserver*是事件回调

发送滚轮事件

描述:发送滚轮事件

语法:

void sendSwipe(int action, int x, int y, int width, int height, int swipe)
参数类型是否必填描述
actionint是事件回调
xint是事件回调
yint是事件回调
widthint是事件回调
heightint是事件回调
swipeint是事件回调

发送按键事件

描述:发送键盘按键事件指令到云机实例。此接口是发送一次完整的 DOWN+UP 事件,如需模拟 Home键、返回键、菜单键等系统功能键,推荐使用。

语法:

void sendKeyCode(int code)
参数类型是否必填描述
codeint是键值
3:HOME键
4:BACK键
82:MENU键
187:TASK键

发送按键事件

描述:发送键盘按键事件指令到云机实例。此接口可以选择发送单状态(DOWN 或 UP 事件),如需模拟一些状态要求较高的按键事件,如 DELETE 等,推荐使用。

语法:

void sendKeyCode(int action, int code)
参数类型是否必填描述
actionint是按键类型
0:DOWN状态
1:UP状态
codeint是键值
3:HOME键
4:BACK键
82:MENU键
187:TASK键

增大音量

描述:增大云机设备音量

语法:

void volumeUp()

减小音量

描述:减小云机设备音量

语法:

void volumeDown()

发送鼠标按键事件

描述:发送鼠标按键事件

语法:

void sendTouchEvent(int action, int x, int y, int width, int height)
参数类型是否必填描述
actionint是按键类型
0、DOWN状态
1、UP状态
2、MOVE状态
xint是x轴方向点击坐标
yint是y轴方向点击坐标
widthint是云手机本地画面宽度
heightint是云手机本地画面高度

修改拉流画质

描述:设置云手机画面清晰度

语法:

void setVideoLevel(int resolution, int fps, int bitrate)
参数类型是否必填描述
resolutionint是07:144x256
08:216x384
08:216x384
09:288x512
10:360x640
11:480x848
12:540x960
13:600x1024
14:480x1280
15:720x1280
16:720x1920
17:1080x1920
18:1440x1920
19:1600x2560
20:2880x1080
fpsint是1:20fps
2:25fps
3:30fps
4:60fps
5:1fps
6:5fps
7:10fps
8:15fps
9:2fps
bitrateint是01:1Mbps
02:1.5Mbps
03:2Mbps
04:2.5Mbps
05:3Mbps
06:3.5Mbps
07:4Mbps
08:5Mbps
09:6Mbps
10:8Mbps
11:10Mbps
12:12Mbps
13:200kbps
14:400kbps
15:600kbps

截图

描述:对当前云手机画面进行截图

语法:

void screenshot(bool local)
参数类型是否必填描述
localbool否截图保存位置
true:本地
false:云机

发送输入文本

描述:发送文本替换云机输入框内容(当云机输入框在焦点上才会生效)。

语法:

void sendInputText(const std::string& text)
参数类型是否必填描述
textstring是发送的文本内容,必须为UTF-8编码

开启音频

描述:音频开启开关

语法:

void enableAudio(bool enable)
参数类型是否必填描述
enablebool是状态 true、开启 false、停止

开启视频

描述:视频开启开关

语法:

void enableVideo(bool enable)
参数类型是否必填描述
enablebool是状态 true、开启 false、停止

开启吹一吹

描述:吹一吹开启开关

语法:

void enableBlow(bool enable)
参数类型是否必填描述
enablebool是状态 true、开启 false、停止

摇一摇

描述:摇一摇

语法:

void shake()

开启摄像头采集

描述:开启摄像头采集

语法:

void startVideoCapture(int cameraId)
参数类型是否必填描述
cameraIdint是摄像头id

停止采集

描述:停止采集

语法:

void stopVideoCapture()

发布视频流

描述:发布视频流

语法:

void publishStream()

停止发布

描述:停止发布

语法:

void unPublishStream()

发送adb命令

描述:发送adb命令

语法:

void sendCommand(const std::string& cmd)
参数类型是否必填描述
cmdstring是adb命令
Prev
示例搭建
Next
回调函数