setAudioEffectParameters method
- AudioEffectPreset preset,
- int param1,
- int param2
设置 SDK 预设人声音效的参数。
调用该方法可以对本地发流用户进行如下设置:
- 3D 人声音效:设置 3D 人声音效的环绕周期。
- 电音音效:设置电音音效的基础调式和主音音高。为方便用户自行调节电音音效,Agora 推荐你将基础调式和主音音高配置选项与应用的 UI 元素绑定。
设置后,频道内所有用户都能听到该效果。
Note
- 该方法在加入频道前后都能调用。
- 为获取更好的人声效果,Agora 推荐你在调用该方法前将
setAudioProfile
的scenario
设为GameStreaming(3)
。 - 请勿将
setAudioProfile
的profile
参数设置为SpeechStandard(1)
,否则该方法会调用失败。 - 该方法对人声的处理效果最佳,Agora 不推荐调用该方法处理含音乐的音频数据。
- 调用该方法后,Agora 不推荐调用以下方法,否则该方法设置的效果会被覆盖:
Parameter preset
SDK 预设的音效:
- 3D 人声音效:
RoomAcoustics3DVoice
- 你需要在使用该枚举前将
setAudioProfile
的profile
参数设置为MusicStandardStereo(3)
或MusicHighQualityStereo(5)
,否则该枚举设置无效。 - 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
- 你需要在使用该枚举前将
- 电音音效
PitchCorrection
。为获取更好的人声效果,Agora 建议你在使用该枚举前将setAudioProfile
的profile
参数设置为MusicHighQuality(4)
或MusicHighQualityStereo(5)
。
Parameter param1
- 如果
preset
设为RoomAcoustics3DVoice
,则param1
表示 3D 人声音效的环绕周期。取值范围为1,60
, 单位为秒。默认值为 10,表示人声会 10 秒环绕 360 度。 - 如果
preset
设为PitchCorrection
,则param1
表示电音音效的基础调式。可设为如下值:- 1: (默认)自然大调。
- 2: 自然小调。
- 3: 和风小调。
Parameter param2
- 如果
preset
设为RoomAcoustics3DVoice
,你需要将param2
设为 0。 - 如果
preset
设为PitchCorrection
,则param2
表示电音音效的主音音高。可设为如下值:- 1: A 调
- 2: A# 调
- 3: B 调
- 4: (默认) C 调
- 5: C# 调
- 6: D 调
- 7: D# 调
- 8: E 调
- 9: F 调
- 10: F# 调
- 11: G 调
- 12: G# 调
Implementation
@override
Future<void> setAudioEffectParameters(
AudioEffectPreset preset, int param1, int param2) {
return _invokeMethod('setAudioEffectParameters', {
'preset': AudioEffectPresetConverter(preset).value(),
'param1': param1,
'param2': param2
});
}