---
title: Start
description: "启动视频流引擎客户端，包括启动视频解码线程和网络连接等。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/armnative/kunpengcpsvideo_17_0017.html
sourcePath: /source/zh/kunpengboostkithistory/2300/armnative/kunpengcpsvideo_17_0017.html
indexId: 4f57942995b9132cbb146dc4309bf1bad4634e7a8b69ba1fce94d9f33fd7789d77
---
# Start

#### 函数功能

启动视频流引擎客户端，包括启动视频解码线程和网络连接等。


#### 约束说明

调用者需在调用之前保证网络通道可用。


#### 函数原型

uint32_t Start(uint64_t surface, uint32_t width, uint32_t height, uint32_t densityDpi)


#### 参数说明

| 参数名称 | 输入/输出 | 参数类型 | 参数描述 |
| --- | --- | --- | --- |
| surface | 输入 | uint64\_t | Activity传下来的Surface控件对象，并通过Jni转换成ANativeWindow指针，再转成uint64\_t值。若传入的surface值为0，则引擎只接收数据，不进行视频解码。 |
| width | 输入 | uint32\_t | 设备屏幕的宽度，取值大于0。 |
| height | 输入 | uint32\_t | 设备屏幕的高度，取值大于0。 |
| densityDpi | 输入 | uint32\_t | 设备屏幕的像素密度，取值大于0。 |


#### 返回值说明

- VMI_SUCCESS：表示视频流引擎客户端启动成功。
- VMI_CLIENT_EXEC_ORDER_FAIL：表示视频流引擎客户端执行顺序非法。
- VMI_CLIENT_INVALID_PARAM：表示非法参数。
- VMI_CLIENT_START_FAIL：表示视频流引擎客户端启动失败。


#### 调用示例

```
void Test()  
{ 
     ANativeWindow *nativeWindow = ANativeWindow_fromSurface(env, surface);
     uint32_t result = Start(reinterpret_cast<uint64_t>(nativeWindow), width, height, densityDpi);  
     if (result == VMI_SUCCESS) {  
         // 视频流引擎客户端启动成功，程序往下走  
     } else {
        // 视频流引擎客户端启动失败
     }
}
```
