人声音效
- HarmonyOS
更新时间不可用
setAudioEffectPreset
设置 SDK 预设的人声音效。
public abstract setAudioEffectPreset(preset:Constants.AudioEffectPreset):number;调用该方法可以为本地发流用户设置 SDK 预设的人声音效,且不会改变原声的性别特征。设置音效后,频道内所有用户都能听到该效果。
根据不同的场景,你可以为用户设置不同的音效,各音效的适用场景可参考设置人声效果。
调用时机
加入频道前后均可调用。
为获取更好的人声效果,建议你在调用该方法前进行以下操作:
- 调用 setAudioScenario 将音频场景设为高音质场景,即 GAME_STREAMING(3)。
- 调用 setAudioProfile 将 profile 设为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)。
调用限制
-
请勿将 setAudioProfile 的 profile 参数设置为 SPEECH_STANDARD(1),否则该方法不生效。
-
如果调用 setAudioEffectPreset 并设置除 ROOM_ACOUSTICS_3D_VOICE 或 PITCH_CORRECTION 外的枚举,请勿再调用 setAudioEffectParameters,否则 setAudioEffectPreset 设置的效果会被覆盖。
-
调用 setAudioEffectPreset 后,不建议调用以下方法,否则 setAudioEffectPreset 设置的效果会被覆盖:
- setVoiceBeautifierPreset
- setLocalVoicePitch
- setLocalVoiceEqualization
- setLocalVoiceReverb
- setVoiceBeautifierParameters
- setVoiceConversionPreset
-
该方法依赖于美声动态库
libagora_audio_beauty_extension.so,如果删除该动态库会导致无法正常开启该功能。
参数
| 参数名 | 描述 |
|---|---|
preset | 预设的音效选项。
|
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
setLocalVoiceEqualization
设置本地语音音效均衡。
public abstract setLocalVoiceEqualization(bandFrequency:Constants.AudioEqualizationBandFrequency,bandGain:number):number;调用时机
加入频道前后均可调用。
调用限制
无。
参数
| 参数名 | 描述 |
|---|---|
bandFrequency | 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 AudioEqualizationBandFrequency 。 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
setLocalVoicePitch
设置本地语音音调。
public abstract setLocalVoicePitch(pitch:number):number;调用时机
加入频道前后均可调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
setLocalVoiceReverb
设置本地音效混响。
public abstract setLocalVoiceReverb(reverbKey:Constants.AudioReverbType,value:number):number;详情
SDK 提供一个使用更为简便的方法 setAudioEffectPreset,直接实现流行、R&B、KTV 等预置的混响效果。
注: 该方法在加入频道前后都能调用。
参数
混响音效 Key。该方法共有 5 个混响音效 Key,详见 AudioReverbType。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
setVoiceBeautifierPreset
设置预设的美声效果。
public abstract setVoiceBeautifierPreset(preset:Constants.VoiceBeautifierPreset):number;调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的美声效果。
调用时机
加入频道前后均可调用。
为获取更好的人声效果,建议你在调用该方法前进行以下操作:
- 调用 setAudioScenario 将音频场景设为高音质场景,即 GAME_STREAMING(3)。
- 调用 setAudioProfile 将 profile 设为 MUSIC_HIGH_QUALITY(4) 或 MUSIC_HIGH_QUALITY_STEREO(5)。
调用限制
-
请勿将 setAudioProfile 的 profile 参数设置为 SPEECH_STANDARD(1),否则该方法不生效。
-
该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
-
调用 setVoiceBeautifierPreset,不建议调用以下方法,否则 setVoiceBeautifierPreset 设置的效果会被覆盖:
- setAudioEffectPreset
- setAudioEffectParameters
- setLocalVoicePitch
- setLocalVoiceEqualization
- setLocalVoiceReverb
- setVoiceBeautifierParameters
- setVoiceConversionPreset
-
该方法依赖于美声动态库
libagora_audio_beauty_extension.so,如果删除该动态库会导致无法正常开启该功能。
参数
| 参数名 | 描述 |
|---|---|
preset | 预设的美声效果选项:
|
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。