Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#pubctors) \| [Methods](https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#inhmethods)

# DynamicsProcessing.Limiter

*** ** * ** ***

` public static final class DynamicsProcessing.Limiter `   
` ` ` extends https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.media.audiofx.DynamicsProcessing.Stage](https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage) ||
|   | ↳ | android.media.audiofx.DynamicsProcessing.Limiter |

<br />

*** ** * ** ***

Class for Limiter Stage Limiter is a single band compressor at the end of the processing chain, commonly used to protect the signal from overloading and distortion. Limiters have multiple controllable parameters: enabled/disabled, linkGroup, attackTime, releaseTime, ratio, threshold, and postGain.

Limiters can be linked in groups across multiple channels. Linked limiters will trigger the same limiting if any of the linked limiters starts compressing.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#Limiter(android.media.audiofx.DynamicsProcessing.Limiter)(https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter cfg) ` Class Constructor for Limiter |
| ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#Limiter(boolean,%20boolean,%20int,%20float,%20float,%20float,%20float,%20float)(boolean inUse, boolean enabled, int linkGroup, float attackTime, float releaseTime, float ratio, float threshold, float postGain) ` Class constructor for Limiter Stage |

| ### Public methods ||
|---|---|
| ` float` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#getAttackTime()() ` gets attack time for limiter compressor in milliseconds (ms) |
| ` int` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#getLinkGroup()() ` Gets the linkGroup index for this Limiter Stage. |
| ` float` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#getPostGain()() ` gets the gain applied to the signal AFTER limiting. |
| ` float` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#getRatio()() ` gets the limiter compressor ratio (N:1) |
| ` float` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#getReleaseTime()() ` gets release time for limiter compressor in milliseconds (ms) |
| ` float` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#getThreshold()() ` gets the limiter compressor threshold measured in decibels (dB) from 0 dB Full Scale (dBFS). |
| ` void` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#setAttackTime(float)(float attackTime) ` sets attack time for limiter compressor in milliseconds (ms) |
| ` void` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#setLinkGroup(int)(int linkGroup) ` Sets the linkGroup index for this limiter Stage. |
| ` void` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#setPostGain(float)(float postGain) ` sets the gain to be applied to the siganl AFTER the limiter. |
| ` void` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#setRatio(float)(float ratio) ` sets limiter compressor ratio (N:1) |
| ` void` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#setReleaseTime(float)(float releaseTime) ` sets release time for limiter compressor in milliseconds (ms) |
| ` void` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#setThreshold(float)(float threshold) ` sets the limiter compressor threshold measured in decibels (dB) from 0 dB Full Scale (dBFS). |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Limiter#toString()() ` Returns a string representation of the object. |

### Inherited methods

From class ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage ` ` boolean` ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage#isEnabled()() `

returns enabled state of the stage
` boolean` ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage#isInUse()() `

returns inUse state of the stage.
` void` ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage#setEnabled(boolean)(boolean enabled) `

sets enabled state of the stage
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing.Stage#toString()() `

Returns a string representation of the object.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### Limiter

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Limiter (DynamicsProcessing.Limiter cfg)
```

Class Constructor for Limiter

<br />

| Parameters ||
|---|---|
| `cfg` | `DynamicsProcessing.Limiter`: copy constructor <br /> |

### Limiter

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Limiter (boolean inUse, 
                boolean enabled, 
                int linkGroup, 
                float attackTime, 
                float releaseTime, 
                float ratio, 
                float threshold, 
                float postGain)
```

Class constructor for Limiter Stage

<br />

| Parameters ||
|---|---|
| `inUse` | `boolean`: true if MBC stage will be used, false otherwise. <br /> |
| `enabled` | `boolean`: true if MBC stage is enabled/disabled. This can be changed while effect is running <br /> |
| `linkGroup` | `int`: index of group assigned to this Limiter. Only limiters that share the same linkGroup index will react together. <br /> |
| `attackTime` | `float`: Attack Time for limiter compressor in milliseconds (ms) <br /> |
| `releaseTime` | `float`: Release Time for limiter compressor in milliseconds (ms) <br /> |
| `ratio` | `float`: Limiter Compressor ratio (N:1) (input:output) <br /> |
| `threshold` | `float`: Limiter Compressor threshold measured in decibels (dB) from 0 dB Full Scale (dBFS). <br /> |
| `postGain` | `float`: Gain applied to the signal AFTER compression. <br /> |

## Public methods

### getAttackTime

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getAttackTime ()
```

gets attack time for limiter compressor in milliseconds (ms)

<br />

| Returns ||
|---|---|
| `float` | attack time for limiter compressor in milliseconds (ms) <br /> |

### getLinkGroup

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getLinkGroup ()
```

Gets the linkGroup index for this Limiter Stage. Only limiters that share the same linkGroup index will react together.

<br />

| Returns ||
|---|---|
| `int` | linkGroup index. <br /> |

### getPostGain

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getPostGain ()
```

gets the gain applied to the signal AFTER limiting. Measured in decibels (dB) where 0 dB means no level change

<br />

| Returns ||
|---|---|
| `float` | postGain value in decibels (dB) <br /> |

### getRatio

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getRatio ()
```

gets the limiter compressor ratio (N:1)

<br />

| Returns ||
|---|---|
| `float` | limiter compressor ratio (N:1) <br /> |

### getReleaseTime

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getReleaseTime ()
```

gets release time for limiter compressor in milliseconds (ms)

<br />

| Returns ||
|---|---|
| `float` | release time for limiter compressor in milliseconds (ms) <br /> |

### getThreshold

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public float getThreshold ()
```

gets the limiter compressor threshold measured in decibels (dB) from 0 dB Full Scale (dBFS). Thresholds are negative. A threshold of 0 dB means no limiting will take place.

<br />

| Returns ||
|---|---|
| `float` | limiter compressor threshold in decibels (dB) <br /> |

### setAttackTime

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setAttackTime (float attackTime)
```

sets attack time for limiter compressor in milliseconds (ms)

<br />

| Parameters ||
|---|---|
| `attackTime` | `float`: desired for limiter compressor in milliseconds (ms) <br /> |

### setLinkGroup

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setLinkGroup (int linkGroup)
```

Sets the linkGroup index for this limiter Stage.

<br />

| Parameters ||
|---|---|
| `linkGroup` | `int`: desired linkGroup index <br /> |

### setPostGain

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setPostGain (float postGain)
```

sets the gain to be applied to the siganl AFTER the limiter. Measured in decibels (dB), where 0 dB means no level change.

<br />

| Parameters ||
|---|---|
| `postGain` | `float`: desired value in decibels (dB) <br /> |

### setRatio

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setRatio (float ratio)
```

sets limiter compressor ratio (N:1)

<br />

| Parameters ||
|---|---|
| `ratio` | `float`: desired for the limiter compressor (N:1) <br /> |

### setReleaseTime

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setReleaseTime (float releaseTime)
```

sets release time for limiter compressor in milliseconds (ms)

<br />

| Parameters ||
|---|---|
| `releaseTime` | `float`: desired for limiter compressor in milliseconds (ms) <br /> |

### setThreshold

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void setThreshold (float threshold)
```

sets the limiter compressor threshold measured in decibels (dB) from 0 dB Full Scale (dBFS). Thresholds are negative. A threshold of 0 dB means no limiting will take place.

<br />

| Parameters ||
|---|---|
| `threshold` | `float`: desired for limiter compressor in decibels(dB) <br /> |

### toString

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |