# ExportResult.Builder

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/ExportResult.java+class:androidx.media3.transformer.ExportResult.Builder)

*** ** * ** ***


```
public final class ExportResult.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/androidx/media3/transformer/ExportResult` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#Builder()()` Creates a builder. |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#addProcessedInputs(java.util.List<androidx.media3.transformer.ExportResult.ProcessedInput>)(https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/transformer/ExportResult.ProcessedInput> processedInputs)` Adds `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.ProcessedInput` to the `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.ProcessedInput` list. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult` | `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#build()()` Builds an `https://developer.android.com/reference/androidx/media3/transformer/ExportResult` instance. |
| `void` | `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#reset()()` Resets all the fields to their default values. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setApproximateDurationMs(long)(long approximateDurationMs)` Sets the approximate duration of the output in milliseconds. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setAudioEncoderName(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html audioEncoderName)` Sets the name of the audio encoder used. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setAudioMimeType(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html audioMimeType)` Sets the output audio `https://developer.android.com/reference/androidx/media3/common/MimeTypes`. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setAverageAudioBitrate(int)(int averageAudioBitrate)` Sets the average audio bitrate. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setAverageVideoBitrate(int)(int averageVideoBitrate)` Sets the average video bitrate. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setChannelCount(int)(int channelCount)` Sets the channel count. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setColorInfo(androidx.media3.common.ColorInfo)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/common/ColorInfo colorInfo)` Sets the `https://developer.android.com/reference/androidx/media3/common/ColorInfo`. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/InlineMe.html(replacement = "this.setApproximateDurationMs(durationMs)") @https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setDurationMs](https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setDurationMs(long))(long durationMs)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setApproximateDurationMs(long)` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setExportException(androidx.media3.transformer.ExportException)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/transformer/ExportException exportException)` Sets the `https://developer.android.com/reference/androidx/media3/transformer/ExportException` that caused the export to fail. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setFileSizeBytes(long)(long fileSizeBytes)` Sets the file size in bytes. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setHeight(int)(int height)` Sets the height. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setOptimizationResult(int)(int optimizationResult)` Sets `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.OptimizationResult` to indicate an optimization as been successful, or has failed and normal export proceeded instead. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setSampleRate(int)(int sampleRate)` Sets the sample rate. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setVideoEncoderName(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html videoEncoderName)` Sets the name of the video encoder used. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setVideoFrameCount(int)(int videoFrameCount)` Sets the number of video frames. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setVideoMimeType(java.lang.String)(@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html videoMimeType)` Sets the output video `https://developer.android.com/reference/androidx/media3/common/MimeTypes`. |
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setWidth(int)(int width)` Sets the width. |

## Public constructors

### Builder

```
public Builder()
```

Creates a builder.

## Public methods

### addProcessedInputs

```
@CanIgnoreReturnValue
public ExportResult.Builder addProcessedInputs(List<ExportResult.ProcessedInput> processedInputs)
```

Adds `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.ProcessedInput` to the `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.ProcessedInput` list.

### build

```
public ExportResult build()
```

Builds an `https://developer.android.com/reference/androidx/media3/transformer/ExportResult` instance.

### reset

```
public void reset()
```

Resets all the fields to their default values.

### setApproximateDurationMs

```
@CanIgnoreReturnValue
public ExportResult.Builder setApproximateDurationMs(long approximateDurationMs)
```

Sets the approximate duration of the output in milliseconds.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#TIME_UNSET()`.

### setAudioEncoderName

```
@CanIgnoreReturnValue
public ExportResult.Builder setAudioEncoderName(@Nullable String audioEncoderName)
```

Sets the name of the audio encoder used.

### setAudioMimeType

```
@CanIgnoreReturnValue
public ExportResult.Builder setAudioMimeType(@Nullable String audioMimeType)
```

Sets the output audio `https://developer.android.com/reference/androidx/media3/common/MimeTypes`.

### setAverageAudioBitrate

```
@CanIgnoreReturnValue
public ExportResult.Builder setAverageAudioBitrate(int averageAudioBitrate)
```

Sets the average audio bitrate.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#RATE_UNSET_INT()`.

### setAverageVideoBitrate

```
@CanIgnoreReturnValue
public ExportResult.Builder setAverageVideoBitrate(int averageVideoBitrate)
```

Sets the average video bitrate.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#RATE_UNSET_INT()`.

### setChannelCount

```
@CanIgnoreReturnValue
public ExportResult.Builder setChannelCount(int channelCount)
```

Sets the channel count.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#LENGTH_UNSET()`.

### setColorInfo

```
@CanIgnoreReturnValue
public ExportResult.Builder setColorInfo(@Nullable ColorInfo colorInfo)
```

Sets the `https://developer.android.com/reference/androidx/media3/common/ColorInfo`.

### setDurationMs

```
@InlineMe(replacement = "this.setApproximateDurationMs(durationMs)")
@CanIgnoreReturnValue
public ExportResult.Builder [setDurationMs](https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setDurationMs(long))(long durationMs)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder#setApproximateDurationMs(long)` instead.

### setExportException

```
@CanIgnoreReturnValue
public ExportResult.Builder setExportException(@Nullable ExportException exportException)
```

Sets the `https://developer.android.com/reference/androidx/media3/transformer/ExportException` that caused the export to fail.

### setFileSizeBytes

```
@CanIgnoreReturnValue
public ExportResult.Builder setFileSizeBytes(long fileSizeBytes)
```

Sets the file size in bytes.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#LENGTH_UNSET()`.

### setHeight

```
@CanIgnoreReturnValue
public ExportResult.Builder setHeight(int height)
```

Sets the height.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#LENGTH_UNSET()`.

### setOptimizationResult

```
@CanIgnoreReturnValue
public ExportResult.Builder setOptimizationResult(int optimizationResult)
```

Sets `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.OptimizationResult` to indicate an optimization as been successful, or has failed and normal export proceeded instead.

The default value is `https://developer.android.com/reference/androidx/media3/transformer/ExportResult#OPTIMIZATION_NONE()`.

| Parameters |
|---|---|
| `int optimizationResult` | The `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.OptimizationResult`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder` | This `https://developer.android.com/reference/androidx/media3/transformer/ExportResult.Builder`. |

### setSampleRate

```
@CanIgnoreReturnValue
public ExportResult.Builder setSampleRate(int sampleRate)
```

Sets the sample rate.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#RATE_UNSET_INT()`.

### setVideoEncoderName

```
@CanIgnoreReturnValue
public ExportResult.Builder setVideoEncoderName(@Nullable String videoEncoderName)
```

Sets the name of the video encoder used.

### setVideoFrameCount

```
@CanIgnoreReturnValue
public ExportResult.Builder setVideoFrameCount(int videoFrameCount)
```

Sets the number of video frames.

Must be positive or `0`.

### setVideoMimeType

```
@CanIgnoreReturnValue
public ExportResult.Builder setVideoMimeType(@Nullable String videoMimeType)
```

Sets the output video `https://developer.android.com/reference/androidx/media3/common/MimeTypes`.

### setWidth

```
@CanIgnoreReturnValue
public ExportResult.Builder setWidth(int width)
```

Sets the width.

Must be positive or `https://developer.android.com/reference/androidx/media3/common/C#LENGTH_UNSET()`.