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