Initialize
函数功能
初始化指令流客户端引擎。
约束说明
NA
函数原型
uint32_t Initialize(OnVmiEngineEvent event)
参数说明
字段名称 |
输入/输出 |
字段类型 |
字段描述 |
---|---|---|---|
event |
输入 |
OnVmiEngineEvent |
OnVmiEngineEvent指令流引擎事件回调函数指针。原型如下: using OnVmiEngineEvent = void (*)(EngineEvent event); EngineEvent为指令流引擎事件,原型如下: typedef struct EngineEvent { int event = 0; int para1 = 0; int para2 = 0; int para3 = 0; int para4 = 0; char additionInfo[4096] = {0}; } EngineEvent; event代表引擎事件码,取值范围如下: enum VmiEngineEvent { VMI_ENGINE_EVENT_SOCK_DISCONN = -2, // 连接断开 VMI_ENGINE_EVENT_PKG_BROKEN = -3, // 数据包损坏 VMI_ENGINE_EVENT_VERSION_ERROR = -4, // 服务端和客户端的版本不匹配 VMI_ENGINE_EVENT_READY = -5, // 引擎渲染第一帧画面成功 VMI_ENGINE_EVENT_ORIENTATION_CHANGED = -6, // 服务端方向转屏事件 VMI_ENGINE_EVENT_CACHE_OVERFLOW = -7, // 缓存溢出 VMI_ENGINE_EVENT_BAD_LATENCY = -8, // 网络时延过大 VMI_ENGINE_EVENT_NEW_CONNECTION = -9, // 收到新的网络连接 VMI_ENGINE_EVENT_TRAFFIC_ABNORMAL = -10, // 网络流量异常 VMI_ENGINE_EVENT_APP_TRAFFIC_ABNORMAL = -11,// app发往Sipc的流量异常 VMI_ENGINE_EVENT_GET_VERSION_TIMEOUT = -12, // 获取版本号超时 VMI_ENGINE_EVENT_VERSION_MISMATCH = -13, // 版本号校验失败 VMI_ENGINE_EVENT_ENGINE_MISMATCH = -14, // 引擎匹配失败 }; 当event值为VMI_ENGINE_EVENT_ORIENTATION_CHANGED时,para1代表转屏方向,取值范围如下:
|
返回值说明
数据类型:uint32_t
取值如下:
- VMI_SUCCESS:表示初始化成功。
- VMI_CLIENT_EXEC_ORDER_FAIL:表示引擎执行顺序非法。
- VMI_CLIENT_INITIALIZE_FAIL:表示指令流客户端引擎初始化失败。
调用示例
void CallJavaOnVmiEngineEvent(EngineEvent event) { } void Test() { uint32 initResult = Initialize(CallJavaOnVmiEngineEvent); if (initResult != VMI_SUCCESS) { // 初始化指令流引擎失败,显示错误信息,退出界面 ... Log.e(TAG, "InstructionEngine initialize failed, result:" + initResult); } else { // 成功 ... } }