# Track.Builder

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

*** ** * ** ***


```
class Track.Builder
```

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track`.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#Builder()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track!` | `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#build()()` Builds a new `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track` instance. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setChapterTrackId(int)(chapterTrackId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#chapterTrackId()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setDurationUs(long)(durationUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#durationUs()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setEditListDurations(com.google.common.primitives.ImmutableLongArray)(editListDurations: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/primitives/ImmutableLongArray.html?)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#editListDurations()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setEditListMediaTimes(com.google.common.primitives.ImmutableLongArray)(editListMediaTimes: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/primitives/ImmutableLongArray.html?)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#editListMediaTimes()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setFormat(androidx.media3.common.Format)(format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#format()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setId(int)(id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#id()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setMediaDurationUs(long)(mediaDurationUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#mediaDurationUs()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setMovieTimescale(long)(movieTimescale: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#movieTimescale()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setNalUnitLengthFieldLength(int)(nalUnitLengthFieldLength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#nalUnitLengthFieldLength()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setSampleDescriptionEncryptionBoxes(androidx.media3.extractor.mp4.TrackEncryptionBox[])( sampleDescriptionEncryptionBoxes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/TrackEncryptionBox!>? )` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#sampleDescriptionEncryptionBoxes()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setSampleTransformation(int)(@https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Transformation sampleTransformation: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#sampleTransformation()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setShouldBeExposed(boolean)(shouldBeExposed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether the track should be exposed to the player. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setTimescale(long)(timescale: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#timescale()`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setType(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType type: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#type()`. |

## Public constructors

### Builder

```
Builder()
```

## Public functions

### build

```
fun build(): Track!
```

Builds a new `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track` instance.

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/NullPointerException.html` | if `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder#setFormat(androidx.media3.common.Format)` has not been called. |

### setChapterTrackId

```
@CanIgnoreReturnValue
fun setChapterTrackId(chapterTrackId: Int): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#chapterTrackId()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#INDEX_UNSET()`.

| Parameters |
|---|---|
| `chapterTrackId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#chapterTrackId()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setDurationUs

```
@CanIgnoreReturnValue
fun setDurationUs(durationUs: Long): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#durationUs()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TIME_UNSET()`.

| Parameters |
|---|---|
| `durationUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#durationUs()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setEditListDurations

```
@CanIgnoreReturnValue
fun setEditListDurations(editListDurations: ImmutableLongArray?): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#editListDurations()`. The default value is `null`.

| Parameters |
|---|---|
| `editListDurations: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/primitives/ImmutableLongArray.html?` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#editListDurations()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setEditListMediaTimes

```
@CanIgnoreReturnValue
fun setEditListMediaTimes(editListMediaTimes: ImmutableLongArray?): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#editListMediaTimes()`. The default value is `null`.

| Parameters |
|---|---|
| `editListMediaTimes: https://guava.dev/releases/snapshot-android/api/docs/com/google/common/primitives/ImmutableLongArray.html?` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#editListMediaTimes()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setFormat

```
@CanIgnoreReturnValue
fun setFormat(format: Format!): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#format()`. This is a required value.

| Parameters |
|---|---|
| `format: https://developer.android.com/reference/kotlin/androidx/media3/common/Format!` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#format()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setId

```
@CanIgnoreReturnValue
fun setId(id: Int): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#id()`. The default value is `0`.

| Parameters |
|---|---|
| `id: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#id()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setMediaDurationUs

```
@CanIgnoreReturnValue
fun setMediaDurationUs(mediaDurationUs: Long): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#mediaDurationUs()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TIME_UNSET()`.

| Parameters |
|---|---|
| `mediaDurationUs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#mediaDurationUs()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setMovieTimescale

```
@CanIgnoreReturnValue
fun setMovieTimescale(movieTimescale: Long): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#movieTimescale()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#TIMESCALE_UNSET()`.

| Parameters |
|---|---|
| `movieTimescale: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#movieTimescale()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setNalUnitLengthFieldLength

```
@CanIgnoreReturnValue
fun setNalUnitLengthFieldLength(nalUnitLengthFieldLength: Int): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#nalUnitLengthFieldLength()`. The default value is `0`.

| Parameters |
|---|---|
| `nalUnitLengthFieldLength: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#nalUnitLengthFieldLength()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setSampleDescriptionEncryptionBoxes

```
@CanIgnoreReturnValue
fun setSampleDescriptionEncryptionBoxes(
    sampleDescriptionEncryptionBoxes: Array<TrackEncryptionBox!>?
): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#sampleDescriptionEncryptionBoxes()`. The default value is `null`.

| Parameters |
|---|---|
| `sampleDescriptionEncryptionBoxes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/TrackEncryptionBox!>?` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#sampleDescriptionEncryptionBoxes()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setSampleTransformation

```
@CanIgnoreReturnValue
fun setSampleTransformation(@Track.Transformation sampleTransformation: Int): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#sampleTransformation()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#TRANSFORMATION_NONE()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Transformation sampleTransformation: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#sampleTransformation()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setShouldBeExposed

```
@CanIgnoreReturnValue
fun setShouldBeExposed(shouldBeExposed: Boolean): Track.Builder!
```

Sets whether the track should be exposed to the player. The default value is `true`.

| Parameters |
|---|---|
| `shouldBeExposed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#shouldBeExposed()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setTimescale

```
@CanIgnoreReturnValue
fun setTimescale(timescale: Long): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#timescale()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#TIMESCALE_UNSET()`.

| Parameters |
|---|---|
| `timescale: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#timescale()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |

### setType

```
@CanIgnoreReturnValue
fun setType(@C.TrackType type: Int): Track.Builder!
```

Sets `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#type()`. The default value is `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TRACK_TYPE_UNKNOWN()`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/C.TrackType type: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track#type()`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/extractor/mp4/Track.Builder!` | This builder. |