# Effects

Artifact: [androidx.media3:media3-transformer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/transformer/Effects.java+class:androidx.media3.transformer.Effects)

*** ** * ** ***

<br />

```
@UnstableApi
public final class Effects
```

<br />

*** ** * ** ***

Effects to apply to a `https://developer.android.com/reference/androidx/media3/common/MediaItem` or to a `https://developer.android.com/reference/androidx/media3/transformer/Composition`.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/androidx/media3/transformer/Effects` | `https://developer.android.com/reference/androidx/media3/transformer/Effects#EMPTY()` An empty `https://developer.android.com/reference/androidx/media3/transformer/Effects` instance. |

| ### Public fields |
|---|---|
| `final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor>` | `https://developer.android.com/reference/androidx/media3/transformer/Effects#audioProcessors()` The list of `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` to apply to audio buffers. |
| `final https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/androidx/media3/common/Effect>` | `https://developer.android.com/reference/androidx/media3/transformer/Effects#videoEffects()` The list of `https://developer.android.com/reference/androidx/media3/common/Effect` to apply to each frame. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/transformer/Effects#Effects(java.util.List<androidx.media3.common.audio.AudioProcessor>,java.util.List<androidx.media3.common.Effect>)( https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor> audioProcessors, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/Effect> videoEffects )` Creates an instance. |

| ### Public methods |
|---|---|
| `static https://developer.android.com/reference/android/util/Pair.html<https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor, https://developer.android.com/reference/androidx/media3/common/Effect>` | `[createExperimentalSpeedChangingEffect](https://developer.android.com/reference/androidx/media3/transformer/Effects#createExperimentalSpeedChangingEffect(androidx.media3.common.audio.SpeedProvider))(https://developer.android.com/reference/androidx/media3/common/audio/SpeedProvider speedProvider)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem.Builder#setSpeed(androidx.media3.common.audio.SpeedProvider)` instead. <br /> |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/transformer/Effects#toString()()` |

## Constants

### EMPTY

```
public static final Effects EMPTY
```

An empty `https://developer.android.com/reference/androidx/media3/transformer/Effects` instance.

## Public fields

### audioProcessors

```
public final ImmutableList<AudioProcessor> audioProcessors
```

The list of `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` to apply to audio buffers. They are applied in the order of the list, and buffers will only be modified by that `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` if it `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor#isActive()` based on the current configuration.

### videoEffects

```
public final ImmutableList<Effect> videoEffects
```

The list of `https://developer.android.com/reference/androidx/media3/common/Effect` to apply to each frame. They are applied in the order of the list.

## Public constructors

### Effects

```
public Effects(
    List<AudioProcessor> audioProcessors,
    List<Effect> videoEffects
)
```

Creates an instance.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor> audioProcessors` | The `https://developer.android.com/reference/androidx/media3/transformer/Effects#audioProcessors()`. |
| `https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/Effect> videoEffects` | The `https://developer.android.com/reference/androidx/media3/transformer/Effects#videoEffects()`. |

## Public methods

### createExperimentalSpeedChangingEffect

```
public static Pair<AudioProcessor, Effect> [createExperimentalSpeedChangingEffect](https://developer.android.com/reference/androidx/media3/transformer/Effects#createExperimentalSpeedChangingEffect(androidx.media3.common.audio.SpeedProvider))(SpeedProvider speedProvider)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItem.Builder#setSpeed(androidx.media3.common.audio.SpeedProvider)` instead.

Creates an interlinked `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` and `https://developer.android.com/reference/androidx/media3/common/Effect` that changes the speed of media samples in segments of the input file specified by the given `https://developer.android.com/reference/androidx/media3/common/audio/SpeedProvider`.

The `https://developer.android.com/reference/androidx/media3/common/audio/AudioProcessor` and `https://developer.android.com/reference/androidx/media3/common/Effect` are interlinked to help maintain A/V sync. When using Transformer, if the input file doesn't have audio, or audio is being removed, you may have to include `https://developer.android.com/reference/androidx/media3/common/C#TRACK_TYPE_AUDIO()` in the `trackTypes` of the `https://developer.android.com/reference/androidx/media3/transformer/EditedMediaItemSequence` for the interlinked effects to function correctly. Alternatively, you can use `https://developer.android.com/reference/androidx/media3/effect/SpeedChangeEffect` when the input has no audio.

| Parameters |
|---|---|
| `https://developer.android.com/reference/androidx/media3/common/audio/SpeedProvider speedProvider` | The `https://developer.android.com/reference/androidx/media3/common/audio/SpeedProvider` determining the speed for the media at specific timestamps. |

### toString

```
public String toString()
```