Class TrackSelectionParameters.Builder
- java.lang.Object
-
- com.google.android.exoplayer2.trackselection.TrackSelectionParameters.Builder
-
- Direct Known Subclasses:
DefaultTrackSelector.ParametersBuilder
- Enclosing class:
- TrackSelectionParameters
public static class TrackSelectionParameters.Builder extends Object
A builder forTrackSelectionParameters
. See theTrackSelectionParameters
documentation for explanations of the parameters that can be configured using this builder.
-
-
Constructor Summary
Constructors Modifier Constructor Description Builder()
Deprecated.Context
constraints will not be set using this constructor.Builder(Context context)
Creates a builder with default initial values.protected
Builder(Bundle bundle)
Creates a builder with the initial values specified inbundle
.protected
Builder(TrackSelectionParameters initialValues)
Creates a builder with the initial values specified ininitialValues
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TrackSelectionParameters
build()
Builds aTrackSelectionParameters
instance with the selected values.TrackSelectionParameters.Builder
clearVideoSizeConstraints()
Equivalent tosetMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE)
.TrackSelectionParameters.Builder
clearViewportSizeConstraints()
Equivalent tosetViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true)
.protected TrackSelectionParameters.Builder
set(TrackSelectionParameters parameters)
Overrides the value of the builder with the value ofTrackSelectionParameters
.TrackSelectionParameters.Builder
setDisabledTrackTypes(Set<@TrackType Integer> disabledTrackTypes)
Sets the disabled track types, preventing all tracks of those types from being selected for playback.TrackSelectionParameters.Builder
setForceHighestSupportedBitrate(boolean forceHighestSupportedBitrate)
Sets whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints.TrackSelectionParameters.Builder
setForceLowestBitrate(boolean forceLowestBitrate)
Sets whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints.TrackSelectionParameters.Builder
setMaxAudioBitrate(int maxAudioBitrate)
Sets the maximum allowed audio bitrate.TrackSelectionParameters.Builder
setMaxAudioChannelCount(int maxAudioChannelCount)
Sets the maximum allowed audio channel count.TrackSelectionParameters.Builder
setMaxVideoBitrate(int maxVideoBitrate)
Sets the maximum allowed video bitrate.TrackSelectionParameters.Builder
setMaxVideoFrameRate(int maxVideoFrameRate)
Sets the maximum allowed video frame rate.TrackSelectionParameters.Builder
setMaxVideoSize(int maxVideoWidth, int maxVideoHeight)
Sets the maximum allowed video width and height.TrackSelectionParameters.Builder
setMaxVideoSizeSd()
Equivalent tosetMaxVideoSize(1279, 719)
.TrackSelectionParameters.Builder
setMinVideoBitrate(int minVideoBitrate)
Sets the minimum allowed video bitrate.TrackSelectionParameters.Builder
setMinVideoFrameRate(int minVideoFrameRate)
Sets the minimum allowed video frame rate.TrackSelectionParameters.Builder
setMinVideoSize(int minVideoWidth, int minVideoHeight)
Sets the minimum allowed video width and height.TrackSelectionParameters.Builder
setPreferredAudioLanguage(String preferredAudioLanguage)
Sets the preferred language for audio and forced text tracks.TrackSelectionParameters.Builder
setPreferredAudioLanguages(String... preferredAudioLanguages)
Sets the preferred languages for audio and forced text tracks.TrackSelectionParameters.Builder
setPreferredAudioMimeType(String mimeType)
Sets the preferred sample MIME type for audio tracks.TrackSelectionParameters.Builder
setPreferredAudioMimeTypes(String... mimeTypes)
Sets the preferred sample MIME types for audio tracks.TrackSelectionParameters.Builder
setPreferredAudioRoleFlags(@com.google.android.exoplayer2.C.RoleFlags int preferredAudioRoleFlags)
Sets the preferredC.RoleFlags
for audio tracks.TrackSelectionParameters.Builder
setPreferredTextLanguage(String preferredTextLanguage)
Sets the preferred language for text tracks.TrackSelectionParameters.Builder
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(Context context)
Sets the preferred language and role flags for text tracks based on the accessibility settings ofCaptioningManager
.TrackSelectionParameters.Builder
setPreferredTextLanguages(String... preferredTextLanguages)
Sets the preferred languages for text tracks.TrackSelectionParameters.Builder
setPreferredTextRoleFlags(@com.google.android.exoplayer2.C.RoleFlags int preferredTextRoleFlags)
Sets the preferredC.RoleFlags
for text tracks.TrackSelectionParameters.Builder
setPreferredVideoMimeType(String mimeType)
Sets the preferred sample MIME type for video tracks.TrackSelectionParameters.Builder
setPreferredVideoMimeTypes(String... mimeTypes)
Sets the preferred sample MIME types for video tracks.TrackSelectionParameters.Builder
setPreferredVideoRoleFlags(@com.google.android.exoplayer2.C.RoleFlags int preferredVideoRoleFlags)
Sets the preferredC.RoleFlags
for video tracks.TrackSelectionParameters.Builder
setSelectUndeterminedTextLanguage(boolean selectUndeterminedTextLanguage)
Sets whether a text track with undetermined language should be selected if no track witha preferred language
is available, or if the preferred language is unset.TrackSelectionParameters.Builder
setTrackSelectionOverrides(TrackSelectionOverrides trackSelectionOverrides)
Sets the selection overrides.TrackSelectionParameters.Builder
setViewportSize(int viewportWidth, int viewportHeight, boolean viewportOrientationMayChange)
Sets the viewport size to constrain adaptive video selections so that only tracks suitable for the viewport are selected.TrackSelectionParameters.Builder
setViewportSizeToPhysicalDisplaySize(Context context, boolean viewportOrientationMayChange)
Equivalent to callingsetViewportSize(int, int, boolean)
with the viewport size obtained fromUtil.getCurrentDisplayModeSize(Context)
.
-
-
-
Constructor Detail
-
Builder
@Deprecated public Builder()
Deprecated.Context
constraints will not be set using this constructor. UseBuilder(Context)
instead.
-
Builder
public Builder(Context context)
Creates a builder with default initial values.- Parameters:
context
- Any context.
-
Builder
protected Builder(TrackSelectionParameters initialValues)
Creates a builder with the initial values specified ininitialValues
.
-
Builder
protected Builder(Bundle bundle)
Creates a builder with the initial values specified inbundle
.
-
-
Method Detail
-
set
protected TrackSelectionParameters.Builder set(TrackSelectionParameters parameters)
Overrides the value of the builder with the value ofTrackSelectionParameters
.
-
setMaxVideoSizeSd
public TrackSelectionParameters.Builder setMaxVideoSizeSd()
Equivalent tosetMaxVideoSize(1279, 719)
.- Returns:
- This builder.
-
clearVideoSizeConstraints
public TrackSelectionParameters.Builder clearVideoSizeConstraints()
Equivalent tosetMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE)
.- Returns:
- This builder.
-
setMaxVideoSize
public TrackSelectionParameters.Builder setMaxVideoSize(int maxVideoWidth, int maxVideoHeight)
Sets the maximum allowed video width and height.- Parameters:
maxVideoWidth
- Maximum allowed video width in pixels.maxVideoHeight
- Maximum allowed video height in pixels.- Returns:
- This builder.
-
setMaxVideoFrameRate
public TrackSelectionParameters.Builder setMaxVideoFrameRate(int maxVideoFrameRate)
Sets the maximum allowed video frame rate.- Parameters:
maxVideoFrameRate
- Maximum allowed video frame rate in hertz.- Returns:
- This builder.
-
setMaxVideoBitrate
public TrackSelectionParameters.Builder setMaxVideoBitrate(int maxVideoBitrate)
Sets the maximum allowed video bitrate.- Parameters:
maxVideoBitrate
- Maximum allowed video bitrate in bits per second.- Returns:
- This builder.
-
setMinVideoSize
public TrackSelectionParameters.Builder setMinVideoSize(int minVideoWidth, int minVideoHeight)
Sets the minimum allowed video width and height.- Parameters:
minVideoWidth
- Minimum allowed video width in pixels.minVideoHeight
- Minimum allowed video height in pixels.- Returns:
- This builder.
-
setMinVideoFrameRate
public TrackSelectionParameters.Builder setMinVideoFrameRate(int minVideoFrameRate)
Sets the minimum allowed video frame rate.- Parameters:
minVideoFrameRate
- Minimum allowed video frame rate in hertz.- Returns:
- This builder.
-
setMinVideoBitrate
public TrackSelectionParameters.Builder setMinVideoBitrate(int minVideoBitrate)
Sets the minimum allowed video bitrate.- Parameters:
minVideoBitrate
- Minimum allowed video bitrate in bits per second.- Returns:
- This builder.
-
setViewportSizeToPhysicalDisplaySize
public TrackSelectionParameters.Builder setViewportSizeToPhysicalDisplaySize(Context context, boolean viewportOrientationMayChange)
Equivalent to callingsetViewportSize(int, int, boolean)
with the viewport size obtained fromUtil.getCurrentDisplayModeSize(Context)
.- Parameters:
context
- Any context.viewportOrientationMayChange
- Whether the viewport orientation may change during playback.- Returns:
- This builder.
-
clearViewportSizeConstraints
public TrackSelectionParameters.Builder clearViewportSizeConstraints()
Equivalent tosetViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true)
.- Returns:
- This builder.
-
setViewportSize
public TrackSelectionParameters.Builder setViewportSize(int viewportWidth, int viewportHeight, boolean viewportOrientationMayChange)
Sets the viewport size to constrain adaptive video selections so that only tracks suitable for the viewport are selected.- Parameters:
viewportWidth
- Viewport width in pixels.viewportHeight
- Viewport height in pixels.viewportOrientationMayChange
- Whether the viewport orientation may change during playback.- Returns:
- This builder.
-
setPreferredVideoMimeType
public TrackSelectionParameters.Builder setPreferredVideoMimeType(@Nullable String mimeType)
Sets the preferred sample MIME type for video tracks.- Parameters:
mimeType
- The preferred MIME type for video tracks, ornull
to clear a previously set preference.- Returns:
- This builder.
-
setPreferredVideoMimeTypes
public TrackSelectionParameters.Builder setPreferredVideoMimeTypes(String... mimeTypes)
Sets the preferred sample MIME types for video tracks.- Parameters:
mimeTypes
- The preferred MIME types for video tracks in order of preference, or an empty list for no preference.- Returns:
- This builder.
-
setPreferredVideoRoleFlags
public TrackSelectionParameters.Builder setPreferredVideoRoleFlags(@RoleFlags @com.google.android.exoplayer2.C.RoleFlags int preferredVideoRoleFlags)
Sets the preferredC.RoleFlags
for video tracks.- Parameters:
preferredVideoRoleFlags
- Preferred video role flags.- Returns:
- This builder.
-
setPreferredAudioLanguage
public TrackSelectionParameters.Builder setPreferredAudioLanguage(@Nullable String preferredAudioLanguage)
Sets the preferred language for audio and forced text tracks.- Parameters:
preferredAudioLanguage
- Preferred audio language as an IETF BCP 47 conformant tag, ornull
to select the default track, or the first track if there's no default.- Returns:
- This builder.
-
setPreferredAudioLanguages
public TrackSelectionParameters.Builder setPreferredAudioLanguages(String... preferredAudioLanguages)
Sets the preferred languages for audio and forced text tracks.- Parameters:
preferredAudioLanguages
- Preferred audio languages as IETF BCP 47 conformant tags in order of preference, or an empty array to select the default track, or the first track if there's no default.- Returns:
- This builder.
-
setPreferredAudioRoleFlags
public TrackSelectionParameters.Builder setPreferredAudioRoleFlags(@RoleFlags @com.google.android.exoplayer2.C.RoleFlags int preferredAudioRoleFlags)
Sets the preferredC.RoleFlags
for audio tracks.- Parameters:
preferredAudioRoleFlags
- Preferred audio role flags.- Returns:
- This builder.
-
setMaxAudioChannelCount
public TrackSelectionParameters.Builder setMaxAudioChannelCount(int maxAudioChannelCount)
Sets the maximum allowed audio channel count.- Parameters:
maxAudioChannelCount
- Maximum allowed audio channel count.- Returns:
- This builder.
-
setMaxAudioBitrate
public TrackSelectionParameters.Builder setMaxAudioBitrate(int maxAudioBitrate)
Sets the maximum allowed audio bitrate.- Parameters:
maxAudioBitrate
- Maximum allowed audio bitrate in bits per second.- Returns:
- This builder.
-
setPreferredAudioMimeType
public TrackSelectionParameters.Builder setPreferredAudioMimeType(@Nullable String mimeType)
Sets the preferred sample MIME type for audio tracks.- Parameters:
mimeType
- The preferred MIME type for audio tracks, ornull
to clear a previously set preference.- Returns:
- This builder.
-
setPreferredAudioMimeTypes
public TrackSelectionParameters.Builder setPreferredAudioMimeTypes(String... mimeTypes)
Sets the preferred sample MIME types for audio tracks.- Parameters:
mimeTypes
- The preferred MIME types for audio tracks in order of preference, or an empty list for no preference.- Returns:
- This builder.
-
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings
public TrackSelectionParameters.Builder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings(Context context)
Sets the preferred language and role flags for text tracks based on the accessibility settings ofCaptioningManager
.Does nothing for API levels < 19 or when the
CaptioningManager
is disabled.- Parameters:
context
- AContext
.- Returns:
- This builder.
-
setPreferredTextLanguage
public TrackSelectionParameters.Builder setPreferredTextLanguage(@Nullable String preferredTextLanguage)
Sets the preferred language for text tracks.- Parameters:
preferredTextLanguage
- Preferred text language as an IETF BCP 47 conformant tag, ornull
to select the default track if there is one, or no track otherwise.- Returns:
- This builder.
-
setPreferredTextLanguages
public TrackSelectionParameters.Builder setPreferredTextLanguages(String... preferredTextLanguages)
Sets the preferred languages for text tracks.- Parameters:
preferredTextLanguages
- Preferred text languages as IETF BCP 47 conformant tags in order of preference, or an empty array to select the default track if there is one, or no track otherwise.- Returns:
- This builder.
-
setPreferredTextRoleFlags
public TrackSelectionParameters.Builder setPreferredTextRoleFlags(@RoleFlags @com.google.android.exoplayer2.C.RoleFlags int preferredTextRoleFlags)
Sets the preferredC.RoleFlags
for text tracks.- Parameters:
preferredTextRoleFlags
- Preferred text role flags.- Returns:
- This builder.
-
setSelectUndeterminedTextLanguage
public TrackSelectionParameters.Builder setSelectUndeterminedTextLanguage(boolean selectUndeterminedTextLanguage)
Sets whether a text track with undetermined language should be selected if no track witha preferred language
is available, or if the preferred language is unset.- Parameters:
selectUndeterminedTextLanguage
- Whether a text track with undetermined language should be selected if no preferred language track is available.- Returns:
- This builder.
-
setForceLowestBitrate
public TrackSelectionParameters.Builder setForceLowestBitrate(boolean forceLowestBitrate)
Sets whether to force selection of the single lowest bitrate audio and video tracks that comply with all other constraints.- Parameters:
forceLowestBitrate
- Whether to force selection of the single lowest bitrate audio and video tracks.- Returns:
- This builder.
-
setForceHighestSupportedBitrate
public TrackSelectionParameters.Builder setForceHighestSupportedBitrate(boolean forceHighestSupportedBitrate)
Sets whether to force selection of the highest bitrate audio and video tracks that comply with all other constraints.- Parameters:
forceHighestSupportedBitrate
- Whether to force selection of the highest bitrate audio and video tracks.- Returns:
- This builder.
-
setTrackSelectionOverrides
public TrackSelectionParameters.Builder setTrackSelectionOverrides(TrackSelectionOverrides trackSelectionOverrides)
Sets the selection overrides.- Parameters:
trackSelectionOverrides
- The track selection overrides.- Returns:
- This builder.
-
setDisabledTrackTypes
public TrackSelectionParameters.Builder setDisabledTrackTypes(Set<@TrackType Integer> disabledTrackTypes)
Sets the disabled track types, preventing all tracks of those types from being selected for playback.- Parameters:
disabledTrackTypes
- The track types to disable.- Returns:
- This builder.
-
build
public TrackSelectionParameters build()
Builds aTrackSelectionParameters
instance with the selected values.
-
-