setAudioEffectParameters method Null safety

Future<void> setAudioEffectParameters(
  1. AudioEffectPreset preset,
  2. int param1,
  3. int param2
)

设置 SDK 预设人声音效的参数。

调用该方法可以对本地发流用户进行如下设置:

  • 3D 人声音效:设置 3D 人声音效的环绕周期。
  • 电音音效:设置电音音效的基础调式和主音音高。为方便用户自行调节电音音效,Agora 推荐你将基础调式和主音音高配置选项与应用的 UI 元素绑定。

设置后,频道内所有用户都能听到该效果。

Note

Parameter preset SDK 预设的音效:

  • 3D 人声音效: RoomAcoustics3DVoice
    • 你需要在使用该枚举前将 setAudioProfileprofile 参数设置为 MusicStandardStereo(3)MusicHighQualityStereo(5),否则该枚举设置无效。
    • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
  • 电音音效 PitchCorrection。为获取更好的人声效果,Agora 建议你在使用该枚举前将 setAudioProfileprofile 参数设置为 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,
  });
}