Class TrackSelectorHelper


  • public class TrackSelectorHelper
    extends java.lang.Object
    Helper class to do several operations with the MappingTrackSelector selector.
    • Constructor Detail

      • TrackSelectorHelper

        public TrackSelectorHelper​(@NonNull
                                   com.google.android.exoplayer2.ExoPlayer player,
                                   @NonNull
                                   com.google.android.exoplayer2.trackselection.DefaultTrackSelector trackSelector)
        Instantiates a new Track selector helper.
        Parameters:
        player - the player
        trackSelector - the track selector
    • Method Detail

      • getAvailableFormatList

        @NonNull
        public java.util.List<com.google.android.exoplayer2.Format> getAvailableFormatList​(int trackType)
        Gets the available Format list by type.
        Parameters:
        trackType - the track type
        Returns:
        the available format list
      • selectCaption

        public void selectCaption​(@NonNull
                                  BrightcoveCaptionFormat captions)
        Selects the Brightcove caption in the @MappingTrackSelector if available.
        Parameters:
        captions - the captions
      • selectAudio

        public void selectAudio​(@NonNull
                                java.lang.String language)
        Selects the audio language in the MappingTrackSelector if available.
        Parameters:
        language - the language
      • getSelectedAudioLanguage

        public java.lang.String getSelectedAudioLanguage()
        Gets the selected audio language if any.
        Returns:
        the selected audio language
      • updateTracksSelectionArray

        @Deprecated
        public void updateTracksSelectionArray​(@Nullable
                                               com.google.android.exoplayer2.trackselection.TrackSelectionArray trackSelections)
        Deprecated.
        Updates the Track Selection array.
        Parameters:
        trackSelections - the track selection array
      • updateTracksGroupInfos

        public void updateTracksGroupInfos​(@Nullable
                                           com.google.common.collect.ImmutableList<com.google.android.exoplayer2.TracksInfo.TrackGroupInfo> trackGroupInfos)
        Updates the Track Group array.
        Parameters:
        trackGroupInfos - the track selection array
      • enableTrack

        public void enableTrack​(int trackType)
        Enables the Renderer track.
        Parameters:
        trackType - the track type
      • disableTrack

        public void disableTrack​(int trackType)
        Disables the Renderer track.
        Parameters:
        trackType - the track type
      • getAudioTracksIndexMap

        @NonNull
        public java.util.Map<java.lang.Integer,​java.lang.String> getAudioTracksIndexMap​(android.content.Context context,
                                                                                              DeliveryType deliveryType,
                                                                                              boolean offline)
        Creates a map from the Renderer of type ExoPlayerVideoDisplayComponent.TYPE_AUDIO with the track index and the language code.
        Parameters:
        deliveryType - the delivery type
        Returns:
        the audio tracks index map
      • getRendererIndex

        public int getRendererIndex​(int renderType)
        Gets the renderer index.
        Parameters:
        renderType - the render type
        Returns:
        the renderer index
      • findOfflineFormatList

        @NonNull
        public java.util.List<com.google.android.exoplayer2.Format> findOfflineFormatList​(@NonNull
                                                                                          android.content.Context context,
                                                                                          @NonNull
                                                                                          java.util.List<com.google.android.exoplayer2.Format> formatList)
        Filter the Format list parameter returning only those stored in the device.
        Parameters:
        context - reference to the host application context.
        formatList - the format list
        Returns:
        the list of Offline Formats