---
title: 数据注入
description: "输入与输出不同，所有的输入都需要使用InjectData接口进行数据注入。该数据开发者通过InjectData注入到服务端，并通过VmiCmd枚举中的MIC_SEND_MIC_DATA命令字指定。示例如下："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpsvideo_16_0049.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpsvideo_16_0049.html
indexId: 487355303282b7f525cd70ca9ba02e5fb078c558e40c049462c39da4e19e4cee79
---
# 数据注入

输入与输出不同，所有的输入都需要使用InjectData接口进行数据注入。该数据开发者通过InjectData注入到服务端，并通过VmiCmd枚举中的MIC_SEND_MIC_DATA命令字指定。示例如下：

```
VmiDataType module = DATA_MIC;
VmiCmd cmd = MIC_SEND_MIC_DATA;
uint8_t micData[240];
AudioData audioData;
audioData.size = sizeof(micData);
uint8_t *data = new uint8_t[sizeof(AudioData) + sizeof(micData)];
memcpy(data, &audioData, sizeof(AudioData));
memcpy(data + sizeof(AudioData), micData, sizeof(micData))
InjectData(module, cmd, data, sizeof(AudioData) + sizeof(micData));
```

#### 约束说明

麦克风帧需要按照稳定的节奏注入，否则会导致声音听起来不连续。具体约束与default.prop配置文件中vmi.mic.cachefactor的取值有关，该配置项表示麦克风帧队列的缓存大小，有以下4个取值：

- 0：要求每10ms注入1帧，不造成额外延迟。
- 1：要求每160ms注入16帧，造成160ms延迟。
- 2：要求每320ms注入32帧，造成320ms延迟。
- 3：要求每480ms注入48帧，造成480ms延迟。


- 如果使用PCM模式传输麦克风数据，建议客户端到服务端的上行网络带宽不低于2Mbps。
- 注入的麦克风帧之间不能混入空白帧，否则可能会导致声音听起来不连续。
