io.agora.rtc.audio3a

## Class BghvsConfig

- java.lang.Object
- - io.agora.rtc.audio3a.BghvsConfig

-     public class BghvsConfig
      extends java.lang.Object

  Configuration for BGHVS (Background Noise High-Volume Suppression).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private int` | `bghvsDelayInFrmNums` BGHVS algorithm delay, frame number, 10ms per frame.
    `private int` | `bghvsEosLenInMs` How long to trigger EOS (End of Speech), in ms.
    `private int` | `bghvsSosLenInMs` How long to trigger SOS (Start of Speech), in ms.
    `private Constants.BghvsSuppressionMode` | `bghvsSppMode` BGHVS aggressive level.
    `private boolean` | `enabled` Whether to enable sessCtrl and BGHVS.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BghvsConfig()` Default constructor for BghvsConfig.
    `BghvsConfig(boolean enabled, int bghvsSosLenInMs, int bghvsEosLenInMs, Constants.BghvsSuppressionMode bghvsSppMode, int bghvsDelayInFrmNums)` Constructs a BghvsConfig object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getBghvsDelayInFrmNums()` Gets the BGHVS algorithm delay in frame numbers.
    `int` | `getBghvsEosLenInMs()` Gets the EOS trigger length in milliseconds.
    `int` | `getBghvsSosLenInMs()` Gets the SOS trigger length in milliseconds.
    `Constants.BghvsSuppressionMode` | `getBghvsSppMode()` Gets the BGHVS suppression mode.
    `boolean` | `isEnabled()` Checks if BGHVS is enabled.
    `void` | `setBghvsDelayInFrmNums(int bghvsDelayInFrmNums)` Sets the BGHVS algorithm delay in frame numbers.
    `void` | `setBghvsEosLenInMs(int bghvsEosLenInMs)` Sets the EOS trigger length in milliseconds.
    `void` | `setBghvsSosLenInMs(int bghvsSosLenInMs)` Sets the SOS trigger length in milliseconds.
    `void` | `setBghvsSppMode(Constants.BghvsSuppressionMode bghvsSppMode)` Sets the BGHVS suppression mode.
    `void` | `setEnabled(boolean enabled)` Sets whether to enable BGHVS.
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### enabled

          private boolean enabled

      Whether to enable sessCtrl and BGHVS. - true: Enable BGHVS. - false: (Default) Disable BGHVS.

    - #### bghvsSosLenInMs

          private int bghvsSosLenInMs

      How long to trigger SOS (Start of Speech), in ms.

    - #### bghvsEosLenInMs

          private int bghvsEosLenInMs

      How long to trigger EOS (End of Speech), in ms.

    - #### bghvsSppMode

          private Constants.BghvsSuppressionMode bghvsSppMode

      BGHVS aggressive level. See `Constants.BghvsSuppressionMode`. // NOTE: Assuming BghvsSuppressionMode is or will be defined in io.agora.rtc.Constants

    - #### bghvsDelayInFrmNums

          private int bghvsDelayInFrmNums

      BGHVS algorithm delay, frame number, 10ms per frame.

  - ### Constructor Detail

    - #### BghvsConfig

          public BghvsConfig()

      Default constructor for BghvsConfig. Initializes with default values: enabled=true, bghvsSosLenInMs=160, bghvsEosLenInMs=100, bghvsSppMode=MODERATE, bghvsDelayInFrmNums=12.

    - #### BghvsConfig

          public BghvsConfig(boolean enabled,
                             int bghvsSosLenInMs,
                             int bghvsEosLenInMs,
                             Constants.BghvsSuppressionMode bghvsSppMode,
                             int bghvsDelayInFrmNums)

      Constructs a BghvsConfig object.
      Parameters:
        `enabled` - Whether to enable BGHVS. `true` to enable, `false` to disable (default).
        `bghvsSosLenInMs` - How long to trigger SOS, in ms.
        `bghvsEosLenInMs` - How long to trigger EOS, in ms.
        `bghvsSppMode` - BGHVS aggressive level. See `Constants.BghvsSuppressionMode`.
        `bghvsDelayInFrmNums` - BGHVS algorithm delay in frame numbers (10ms per frame).

  - ### Method Detail

    - #### isEnabled

          public boolean isEnabled()

      Checks if BGHVS is enabled.
      Returns:
        `true` if BGHVS is enabled, `false` otherwise.

    - #### setEnabled

          public void setEnabled(boolean enabled)

      Sets whether to enable BGHVS.
      Parameters:
        `enabled` - `true` to enable BGHVS, `false` to disable.

    - #### getBghvsSosLenInMs

          public int getBghvsSosLenInMs()

      Gets the SOS trigger length in milliseconds.
      Returns:
        The SOS trigger length in ms.

    - #### setBghvsSosLenInMs

          public void setBghvsSosLenInMs(int bghvsSosLenInMs)

      Sets the SOS trigger length in milliseconds.
      Parameters:
        `bghvsSosLenInMs` - The SOS trigger length in ms.

    - #### getBghvsEosLenInMs

          public int getBghvsEosLenInMs()

      Gets the EOS trigger length in milliseconds.
      Returns:
        The EOS trigger length in ms.

    - #### setBghvsEosLenInMs

          public void setBghvsEosLenInMs(int bghvsEosLenInMs)

      Sets the EOS trigger length in milliseconds.
      Parameters:
        `bghvsEosLenInMs` - The EOS trigger length in ms.

    - #### getBghvsSppMode

          public Constants.BghvsSuppressionMode getBghvsSppMode()

      Gets the BGHVS suppression mode.
      Returns:
        The BGHVS suppression mode. See `Constants.BghvsSuppressionMode`.

    - #### setBghvsSppMode

          public void setBghvsSppMode(Constants.BghvsSuppressionMode bghvsSppMode)

      Sets the BGHVS suppression mode.
      Parameters:
        `bghvsSppMode` - The BGHVS suppression mode. See `Constants.BghvsSuppressionMode`.

    - #### getBghvsDelayInFrmNums

          public int getBghvsDelayInFrmNums()

      Gets the BGHVS algorithm delay in frame numbers.
      Returns:
        The delay in frame numbers.

    - #### setBghvsDelayInFrmNums

          public void setBghvsDelayInFrmNums(int bghvsDelayInFrmNums)

      Sets the BGHVS algorithm delay in frame numbers.
      Parameters:
        `bghvsDelayInFrmNums` - The delay in frame numbers (10ms per frame).

    - #### toString

          public java.lang.String toString()

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