# MusicTrackEntity.Builder

# MusicTrackEntity.Builder

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder "View this page in Kotlin")\|Java  

<br />

```
public final class MusicTrackEntity.Builder
```

<br />

*** ** * ** ***

Builder class for[MusicTrackEntity](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity).

## Summary

|                                                       ### Public constructors                                                       |
|-------------------------------------------------------------------------------------------------------------------------------------|
| [Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#Builder())`()` |

|                                                           ### Public methods                                                           |
|----------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addArtist](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#addArtist(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String.html)` artist)` Adds artist of the music track.                                                                                                                                                               |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addArtists](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#addArtists(java.util.List<java.lang.String>))`(`[List](https://developer.android.com/reference/java/util/List.html)`<`[String](https://developer.android.com/reference/java/lang/String.html)`> artists)` Adds the list of artists of the music track.                                                        |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addPosterImage](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#addPosterImage(com.google.android.engage.common.datamodel.Image))`(`[Image](https://developer.android.com/reference/com/google/android/engage/common/datamodel/Image)` image)` Add a poster image of the entity.                                                                                          |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [addPosterImages](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#addPosterImages(java.util.List<com.google.android.engage.common.datamodel.Image>))`(`[List](https://developer.android.com/reference/java/util/List.html)`<`[Image](https://developer.android.com/reference/com/google/android/engage/common/datamodel/Image)`> images)` Add poster images of the entity. |
| [MusicTrackEntity](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity)                 | [build](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#build())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setAlbum](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setAlbum(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String.html)` album)` Sets the name of the music album of the music track.                                                                                                                                             |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setDescription](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setDescription(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String.html)` description)` Adds the description of the audio entity.                                                                                                                                      |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setDownloadedOnDevice](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setDownloadedOnDevice(boolean))`(boolean downloadedOnDevice)` Sets a boolean value to indicate if music track is downloaded on device or not.                                                                                                                                                      |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setDurationMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setDurationMillis(long))`(long durationMillis)` Sets the duration of the music track.                                                                                                                                                                                                                  |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setEntityId](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setEntityId(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String.html)` entityId)` Sets content id of the entity.                                                                                                                                                          |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setExplicitContent](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setExplicitContent(boolean))`(boolean explicitContent)` Sets a boolean value to indicate if music track has explicit content or not.                                                                                                                                                                  |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setInfoPageUri](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setInfoPageUri(android.net.Uri))`(`[Uri](https://developer.android.com/reference/android/net/Uri.html)` infoPageUri)` Sets the info page uri of the music track.                                                                                                                                          |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setLastEngagementTimeMillis](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setLastEngagementTimeMillis(long))`(long lastEngagementTimeMillis)` Sets last engagement time of the entity, in milliseconds since Epoch.                                                                                                                                                    |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setName](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setName(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String.html)` name)` Sets the name of the entity.                                                                                                                                                                        |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setPlayBackUri](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setPlayBackUri(android.net.Uri))`(`[Uri](https://developer.android.com/reference/android/net/Uri.html)` playBackUri)` Sets the play back uri of the music track.                                                                                                                                          |
| [MusicTrackEntity.Builder](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder) | `@`[CanIgnoreReturnValue](https://errorprone.info/api/latest/com/google/errorprone/annotations/CanIgnoreReturnValue.html) [setProgressPercentComplete](https://developer.android.com/reference/com/google/android/engage/audio/datamodel/MusicTrackEntity.Builder#setProgressPercentComplete(int))`(int progressPercentComplete)` Sets progress percent complete of the audio entity.                                                                                                                                                                           |

## Public constructors

### Builder

```
public Builder()
```  

## Public methods

### addArtist

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder addArtist(String artist)
```

Adds artist of the music track.

Required.  

### addArtists

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder addArtists(List<String> artists)
```

Adds the list of artists of the music track.

Required.  

### addPosterImage

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder addPosterImage(Image image)
```

Add a poster image of the entity.

Required.  

### addPosterImages

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder addPosterImages(List<Image> images)
```

Add poster images of the entity.

Required.  

### build

```
public MusicTrackEntity build()
```  

### setAlbum

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setAlbum(String album)
```

Sets the name of the music album of the music track.

Optional.  

### setDescription

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setDescription(String description)
```

Adds the description of the audio entity.

Optional.  

### setDownloadedOnDevice

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setDownloadedOnDevice(boolean downloadedOnDevice)
```

Sets a boolean value to indicate if music track is downloaded on device or not.

Optional.  

### setDurationMillis

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setDurationMillis(long durationMillis)
```

Sets the duration of the music track.

Optional.  

### setEntityId

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setEntityId(String entityId)
```

Sets content id of the entity.

Optional.  

### setExplicitContent

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setExplicitContent(boolean explicitContent)
```

Sets a boolean value to indicate if music track has explicit content or not.

Optional.  

### setInfoPageUri

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setInfoPageUri(Uri infoPageUri)
```

Sets the info page uri of the music track.

Optional.  

### setLastEngagementTimeMillis

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setLastEngagementTimeMillis(long lastEngagementTimeMillis)
```

Sets last engagement time of the entity, in milliseconds since Epoch.

Optional.  

### setName

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setName(String name)
```

Sets the name of the entity.

Required.  

### setPlayBackUri

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setPlayBackUri(Uri playBackUri)
```

Sets the play back uri of the music track.

Required.  

### setProgressPercentComplete

```
@CanIgnoreReturnValue
public MusicTrackEntity.Builder setProgressPercentComplete(int progressPercentComplete)
```

Sets progress percent complete of the audio entity.

Optional