io.agora.rtc.apm

## Class AgoraApmConfig

- java.lang.Object
- - io.agora.rtc.apm.AgoraApmConfig

-     public class AgoraApmConfig
      extends java.lang.Object

  Audio Post-processing Module (APM) configuration. Used for downlink (receiving) audio processing, including noise suppression, echo cancellation, background voice suppression, and automatic gain control. This is different from Audio 3A which processes uplink (sending) audio. Matches Go SDK APMConfig structure.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private AgcConfig` | `agcConfig` Automatic Gain Control configuration
    `private AIAecConfig` | `aiAecConfig` AI Acoustic Echo Cancellation configuration
    `private AinsConfig` | `aiNsConfig` AI Noise Suppression configuration
    `private BghvsConfig` | `bghvsConfig` Background Human Voice Suppression configuration
    `private boolean` | `enableDump` Enable or disable APM dump for debugging Default: false

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AgoraApmConfig()` Constructor with default values (matches Go SDK's NewAPMConfig)

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AgcConfig` | `getAgcConfig()` Gets the automatic gain control configuration.
    `AIAecConfig` | `getAiAecConfig()` Gets the AI acoustic echo cancellation configuration.
    `AinsConfig` | `getAiNsConfig()` Gets the AI noise suppression configuration.
    `BghvsConfig` | `getBghvsConfig()` Gets the background human voice suppression configuration.
    `boolean` | `isEnableDump()` Indicates whether APM dump is enabled.
    `void` | `setAgcConfig(AgcConfig agcConfig)` Sets the automatic gain control configuration.
    `void` | `setAiAecConfig(AIAecConfig aiAecConfig)` Sets the AI acoustic echo cancellation configuration.
    `void` | `setAiNsConfig(AinsConfig aiNsConfig)` Sets the AI noise suppression configuration.
    `void` | `setBghvsConfig(BghvsConfig bghvsConfig)` Sets the background human voice suppression configuration.
    `void` | `setEnableDump(boolean enableDump)` Sets whether to enable APM dump.
    `java.lang.String` | `toJsonString()` Convert configuration to JSON string for passing to native layer Matches Go SDK format exactly
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### aiNsConfig

          private AinsConfig aiNsConfig

      AI Noise Suppression configuration

    - #### aiAecConfig

          private AIAecConfig aiAecConfig

      AI Acoustic Echo Cancellation configuration

    - #### bghvsConfig

          private BghvsConfig bghvsConfig

      Background Human Voice Suppression configuration

    - #### agcConfig

          private AgcConfig agcConfig

      Automatic Gain Control configuration

    - #### enableDump

          private boolean enableDump

      Enable or disable APM dump for debugging Default: false

  - ### Constructor Detail

    - #### AgoraApmConfig

          public AgoraApmConfig()

      Constructor with default values (matches Go SDK's NewAPMConfig)

  - ### Method Detail

    - #### toJsonString

          public java.lang.String toJsonString()

      Convert configuration to JSON string for passing to native layer Matches Go SDK format exactly
      Returns:
        JSON string representation of the configuration

    - #### getAiNsConfig

          public AinsConfig getAiNsConfig()

      Gets the AI noise suppression configuration.
      Returns:
        AI noise suppression configuration

    - #### setAiNsConfig

          public void setAiNsConfig(AinsConfig aiNsConfig)

      Sets the AI noise suppression configuration.
      Parameters:
        `aiNsConfig` - AI noise suppression configuration

    - #### getAiAecConfig

          public AIAecConfig getAiAecConfig()

      Gets the AI acoustic echo cancellation configuration.
      Returns:
        AI acoustic echo cancellation configuration

    - #### setAiAecConfig

          public void setAiAecConfig(AIAecConfig aiAecConfig)

      Sets the AI acoustic echo cancellation configuration.
      Parameters:
        `aiAecConfig` - AI acoustic echo cancellation configuration

    - #### getBghvsConfig

          public BghvsConfig getBghvsConfig()

      Gets the background human voice suppression configuration.
      Returns:
        Background human voice suppression configuration

    - #### setBghvsConfig

          public void setBghvsConfig(BghvsConfig bghvsConfig)

      Sets the background human voice suppression configuration.
      Parameters:
        `bghvsConfig` - Background human voice suppression configuration

    - #### getAgcConfig

          public AgcConfig getAgcConfig()

      Gets the automatic gain control configuration.
      Returns:
        Automatic gain control configuration

    - #### setAgcConfig

          public void setAgcConfig(AgcConfig agcConfig)

      Sets the automatic gain control configuration.
      Parameters:
        `agcConfig` - Automatic gain control configuration

    - #### isEnableDump

          public boolean isEnableDump()

      Indicates whether APM dump is enabled.
      Returns:
        Whether APM dump is enabled

    - #### setEnableDump

          public void setEnableDump(boolean enableDump)

      Sets whether to enable APM dump.
      Parameters:
        `enableDump` - Whether to enable APM dump

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`