---
title: Initialize
description: "初始化视频流引擎客户端，包括网络通信组件等。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/armnative/kunpengcpsvideo_17_0016.html
sourcePath: /source/zh/kunpengboostkithistory/2300/armnative/kunpengcpsvideo_17_0016.html
indexId: 450c39e65dd517f97bc61872735e16bca0af7f73c98131720ec69444f7c9cb9b77
---
# Initialize

#### 函数功能

初始化视频流引擎客户端，包括网络通信组件等。


#### 约束说明

NA


#### 函数原型

uint32_t Initialize(OnVmiEngineEvent eventHandleFunc)


#### 参数说明

| 字段名称 | 输入/输出 | 字段类型 | 字段描述 |
| --- | --- | --- | --- |
| eventHandleFunc | 输入 | 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代表转屏方向，取值范围如下： 0：表示竖屏 1：表示顺时针90度横屏 2：表示顺时针180度竖屏 3：表示顺时针270度横屏 |


#### 返回值说明

数据类型：uint32_t

取值如下：

- VMI_SUCCESS：表示视频流引擎客户端初始化成功。
- VMI_CLIENT_EXEC_ORDER_FAIL：表示视频流引擎客户端执行顺序非法。
- VMI_CLIENT_INITIALIZE_FAIL：表示视频流引擎客户端初始化失败。


#### 调用示例

```
void CallJavaOnVmiVideoEngineEvent(EngineEvent engineEvent)
{
}
void Test()  
{ 
     uint32 initResult = Initialize(CallJavaOnVmiVideoEngineEvent);  
     if (initResult != VMI_SUCCESS) {  
         // 视频流引擎客户端初始化失败，显示错误信息，退出界面  
         Log.e(TAG, "Video engine initialize failed, result:" + initResult);  
     } else {  
         // 成功  
     }
}
```
