1e41f4b71Sopenharmony_ci# IEffectControl
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## 概述
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci音效控制器接口。
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci提供音效控制器支持的驱动能力,包括音效数据处理、音效命令发送、获取当前音效描述符等。
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci**起始版本:** 4.0
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci**相关模块:**[HdiEffect](_hdi_effect.md)
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## 汇总
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci### Public 成员函数
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci| 名称 | 描述 | 
21e41f4b71Sopenharmony_ci| -------- | -------- |
22e41f4b71Sopenharmony_ci| [EffectProcess](#effectprocess) ([in] struct [AudioEffectBuffer](_audio_effect_buffer.md) input, [out] struct [AudioEffectBuffer](_audio_effect_buffer.md) output) | 处理音频原始数据。 | 
23e41f4b71Sopenharmony_ci| [SendCommand](#sendcommand) ([in] unsigned int cmdId, [in] byte[] cmdData, [out] byte[] replyData) | 发送音效处理命令 | 
24e41f4b71Sopenharmony_ci| [GetEffectDescriptor](#geteffectdescriptor) ([out] struct [EffectControllerDescriptor](_effect_controller_descriptor.md) desc) | 获取音效的描述符 | 
25e41f4b71Sopenharmony_ci| [EffectReverse](#effectreverse) ([in] struct [AudioEffectBuffer](_audio_effect_buffer.md) input, [out] struct [AudioEffectBuffer](_audio_effect_buffer.md) output) | 反转音频处理后的数据。 | 
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci## 成员函数说明
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci### EffectProcess()
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci```
34e41f4b71Sopenharmony_ciIEffectControl::EffectProcess ([in] struct AudioEffectBuffer input, [out] struct AudioEffectBuffer output )
35e41f4b71Sopenharmony_ci```
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci**描述**
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci处理音频原始数据。
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci必须指定输入和输出buffer,如果未指定,则进程必须使用命令提供的数据处理功能。
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci**起始版本:** 4.0
44e41f4b71Sopenharmony_ci
45e41f4b71Sopenharmony_ci**参数:**
46e41f4b71Sopenharmony_ci
47e41f4b71Sopenharmony_ci| 名称 | 描述 | 
48e41f4b71Sopenharmony_ci| -------- | -------- |
49e41f4b71Sopenharmony_ci| control | 指向要调用该接口的音效控件,该指针参数在编译为C接口后产生。 | 
50e41f4b71Sopenharmony_ci| input | 输入数据的buffer。 | 
51e41f4b71Sopenharmony_ci| output | 输出数据的buffer。 | 
52e41f4b71Sopenharmony_ci
53e41f4b71Sopenharmony_ci**返回:**
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci执行成功返回0,执行失败返回其他值。
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci### EffectReverse()
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci```
61e41f4b71Sopenharmony_ciIEffectControl::EffectReverse ([in] struct AudioEffectBuffer input, [out] struct AudioEffectBuffer output )
62e41f4b71Sopenharmony_ci```
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci**描述**
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci反转音频处理后的数据。
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci必须指定输入和输出缓冲区,如果未指定,则反转必须使用命令提供的数据反转功能。
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci**起始版本:** 4.0
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci**参数:**
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci| 名称 | 描述 | 
75e41f4b71Sopenharmony_ci| -------- | -------- |
76e41f4b71Sopenharmony_ci| control | 指向要调用该接口的音效控件,该指针参数在编译为C接口后产生。 | 
77e41f4b71Sopenharmony_ci| input | 输入数据buffer。 | 
78e41f4b71Sopenharmony_ci| output | 输出数据buffer。 | 
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_ci**返回:**
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci执行成功返回0,执行失败返回其他值。
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci### GetEffectDescriptor()
86e41f4b71Sopenharmony_ci
87e41f4b71Sopenharmony_ci```
88e41f4b71Sopenharmony_ciIEffectControl::GetEffectDescriptor ([out] struct EffectControllerDescriptor desc)
89e41f4b71Sopenharmony_ci```
90e41f4b71Sopenharmony_ci
91e41f4b71Sopenharmony_ci**描述**
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ci获取音效的描述符。
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci**起始版本:** 4.0
96e41f4b71Sopenharmony_ci
97e41f4b71Sopenharmony_ci**参数:**
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci| 名称 | 描述 | 
100e41f4b71Sopenharmony_ci| -------- | -------- |
101e41f4b71Sopenharmony_ci| control | 指向要调用该接口的音效控件,该指针参数在编译为C接口后产生。 | 
102e41f4b71Sopenharmony_ci| desc | 指定的音效描述符。 | 
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci**返回:**
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci执行成功返回0,执行失败返回其他值。
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci### SendCommand()
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ci```
112e41f4b71Sopenharmony_ciIEffectControl::SendCommand ([in] unsigned int cmdId, [in] byte[] cmdData, [out] byte[] replyData )
113e41f4b71Sopenharmony_ci```
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci**描述**
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci发送音效处理命令。
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**起始版本:** 4.0
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci**参数:**
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci| 名称 | 描述 | 
124e41f4b71Sopenharmony_ci| -------- | -------- |
125e41f4b71Sopenharmony_ci| control | 指向要调用该接口的音效控件,该指针参数在编译为C接口后产生。 | 
126e41f4b71Sopenharmony_ci| cmdId | 用于匹配命令表中的命令选项的命令索引。 | 
127e41f4b71Sopenharmony_ci| cmdData | 系统服务的数据。 | 
128e41f4b71Sopenharmony_ci| cmdDataLen | 数据长度,该参数在编译为C接口后产生。 | 
129e41f4b71Sopenharmony_ci| replyData | 返回的数据。 | 
130e41f4b71Sopenharmony_ci| replyDataLen | 数据长度,该参数在编译为C接口后产生。 | 
131e41f4b71Sopenharmony_ci
132e41f4b71Sopenharmony_ci**返回:**
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci执行成功返回0,执行失败返回其他值。
135