public final class

ConcatenatingMediaSource2.Builder

extends java.lang.Object

 java.lang.Object

↳androidx.media3.exoplayer.source.ConcatenatingMediaSource2.Builder

Overview

A builder for ConcatenatingMediaSource2 instances.

Summary

Constructors
publicBuilder()

Creates the builder.

Methods
public ConcatenatingMediaSource2.Builderadd(MediaItem mediaItem)

Adds a MediaItem to the concatenation.

public ConcatenatingMediaSource2.Builderadd(MediaItem mediaItem, long initialPlaceholderDurationMs)

Adds a MediaItem to the concatenation and specifies its initial placeholder duration used while the actual duration is still unknown.

public ConcatenatingMediaSource2.Builderadd(MediaSource mediaSource)

Adds a MediaSource to the concatenation.

public ConcatenatingMediaSource2.Builderadd(MediaSource mediaSource, long initialPlaceholderDurationMs)

Adds a MediaSource to the concatenation and specifies its initial placeholder duration used while the actual duration is still unknown.

public ConcatenatingMediaSource2build()

Builds the concatenating media source.

public ConcatenatingMediaSource2.BuildersetMediaItem(MediaItem mediaItem)

Sets the MediaItem to be used for the concatenated media source.

public ConcatenatingMediaSource2.BuildersetMediaSourceFactory(MediaSource.Factory mediaSourceFactory)

Sets a MediaSource.Factory that is used to convert MediaItems to MediaSources for all future calls to ConcatenatingMediaSource2.Builder.add(MediaItem) or ConcatenatingMediaSource2.Builder.add(MediaItem, long).

public ConcatenatingMediaSource2.BuilderuseDefaultMediaSourceFactory(Context context)

Instructs the builder to use a DefaultMediaSourceFactory to convert MediaItems to MediaSources for all future calls to ConcatenatingMediaSource2.Builder.add(MediaItem) or ConcatenatingMediaSource2.Builder.add(MediaItem, long).

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public Builder()

Creates the builder.

Methods

public ConcatenatingMediaSource2.Builder useDefaultMediaSourceFactory(Context context)

Instructs the builder to use a DefaultMediaSourceFactory to convert MediaItems to MediaSources for all future calls to ConcatenatingMediaSource2.Builder.add(MediaItem) or ConcatenatingMediaSource2.Builder.add(MediaItem, long).

Parameters:

context: A .

Returns:

This builder.

public ConcatenatingMediaSource2.Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory)

Sets a MediaSource.Factory that is used to convert MediaItems to MediaSources for all future calls to ConcatenatingMediaSource2.Builder.add(MediaItem) or ConcatenatingMediaSource2.Builder.add(MediaItem, long).

Parameters:

mediaSourceFactory: A MediaSource.Factory.

Returns:

This builder.

public ConcatenatingMediaSource2.Builder setMediaItem(MediaItem mediaItem)

Sets the MediaItem to be used for the concatenated media source.

This MediaItem will be used as for the concatenated source and will be returned by Player.getCurrentMediaItem().

The default is MediaItem.fromUri(Uri.EMPTY).

Parameters:

mediaItem: The MediaItem.

Returns:

This builder.

Adds a MediaItem to the concatenation.

ConcatenatingMediaSource2.Builder.useDefaultMediaSourceFactory(Context) or ConcatenatingMediaSource2.Builder.setMediaSourceFactory(MediaSource.Factory) must be called before this method.

This method must not be used with media items for progressive media that can't provide their duration with their first Timeline update. Use ConcatenatingMediaSource2.Builder.add(MediaItem, long) instead.

Parameters:

mediaItem: The MediaItem.

Returns:

This builder.

public ConcatenatingMediaSource2.Builder add(MediaItem mediaItem, long initialPlaceholderDurationMs)

Adds a MediaItem to the concatenation and specifies its initial placeholder duration used while the actual duration is still unknown.

ConcatenatingMediaSource2.Builder.useDefaultMediaSourceFactory(Context) or ConcatenatingMediaSource2.Builder.setMediaSourceFactory(MediaSource.Factory) must be called before this method.

Setting a placeholder duration is required for media items for progressive media that can't provide their duration with their first Timeline update. It may also be used for other items to make the duration known immediately.

Parameters:

mediaItem: The MediaItem.
initialPlaceholderDurationMs: The initial placeholder duration in milliseconds used while the actual duration is still unknown, or C.TIME_UNSET to not define one. The placeholder duration is used for every defined by Timeline of the MediaItem.

Returns:

This builder.

Adds a MediaSource to the concatenation.

This method must not be used for sources like ProgressiveMediaSource that can't provide their duration with their first Timeline update. Use ConcatenatingMediaSource2.Builder.add(MediaSource, long) instead.

Parameters:

mediaSource: The MediaSource.

Returns:

This builder.

public ConcatenatingMediaSource2.Builder add(MediaSource mediaSource, long initialPlaceholderDurationMs)

Adds a MediaSource to the concatenation and specifies its initial placeholder duration used while the actual duration is still unknown.

Setting a placeholder duration is required for sources like ProgressiveMediaSource that can't provide their duration with their first Timeline update. It may also be used for other sources to make the duration known immediately.

Parameters:

mediaSource: The MediaSource.
initialPlaceholderDurationMs: The initial placeholder duration in milliseconds used while the actual duration is still unknown, or C.TIME_UNSET to not define one. The placeholder duration is used for every defined by Timeline of the MediaSource.

Returns:

This builder.

Builds the concatenating media source.