Package com.google.android.exoplayer2.ui
Class PlayerControlView
- java.lang.Object
-
- android.view.View
-
- android.view.ViewGroup
-
- android.widget.FrameLayout
-
- com.google.android.exoplayer2.ui.PlayerControlView
-
- All Implemented Interfaces:
Drawable.Callback,AccessibilityEventSource,KeyEvent.Callback,ViewManager,ViewParent
@Deprecated public class PlayerControlView extends FrameLayout
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.A view for controllingPlayerinstances.A PlayerControlView can be customized by setting attributes (or calling corresponding methods), overriding drawables, overriding the view's layout file, or by specifying a custom view layout file.
Attributes
The following attributes can be set on a PlayerControlView when used in a layout XML file:show_timeout- The time between the last user interaction and the controls being automatically hidden, in milliseconds. Use zero if the controls should not automatically timeout.- Corresponding method:
setShowTimeoutMs(int) - Default:
DEFAULT_SHOW_TIMEOUT_MS
- Corresponding method:
show_rewind_button- Whether the rewind button is shown.- Corresponding method:
setShowRewindButton(boolean) - Default: true
- Corresponding method:
show_fastforward_button- Whether the fast forward button is shown.- Corresponding method:
setShowFastForwardButton(boolean) - Default: true
- Corresponding method:
show_previous_button- Whether the previous button is shown.- Corresponding method:
setShowPreviousButton(boolean) - Default: true
- Corresponding method:
show_next_button- Whether the next button is shown.- Corresponding method:
setShowNextButton(boolean) - Default: true
- Corresponding method:
repeat_toggle_modes- A flagged enumeration value specifying which repeat mode toggle options are enabled. Valid values are:none,one,all, orone|all.- Corresponding method:
setRepeatToggleModes(int) - Default:
DEFAULT_REPEAT_TOGGLE_MODES
- Corresponding method:
show_shuffle_button- Whether the shuffle button is shown.- Corresponding method:
setShowShuffleButton(boolean) - Default: false
- Corresponding method:
time_bar_min_update_interval- Specifies the minimum interval between time bar position updates.- Corresponding method:
setTimeBarMinUpdateInterval(int) - Default:
DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS
- Corresponding method:
controller_layout_id- Specifies the id of the layout to be inflated. See below for more details.- Corresponding method: None
- Default:
R.layout.exo_player_control_view
- All attributes that can be set on
DefaultTimeBarcan also be set on a PlayerControlView, and will be propagated to the inflatedDefaultTimeBarunless the layout is overridden to specify a customexo_progress(see below).
Overriding drawables
The drawables used by PlayerControlView (with its default layout file) can be overridden by drawables with the same names defined in your application. The drawables that can be overridden are:exo_controls_play- The play icon.exo_controls_pause- The pause icon.exo_controls_rewind- The rewind icon.exo_controls_fastforward- The fast forward icon.exo_controls_previous- The previous icon.exo_controls_next- The next icon.exo_controls_repeat_off- The repeat icon forPlayer.REPEAT_MODE_OFF.exo_controls_repeat_one- The repeat icon forPlayer.REPEAT_MODE_ONE.exo_controls_repeat_all- The repeat icon forPlayer.REPEAT_MODE_ALL.exo_controls_shuffle_off- The shuffle icon when shuffling is disabled.exo_controls_shuffle_on- The shuffle icon when shuffling is enabled.exo_controls_vr- The VR icon.
Overriding the layout file
To customize the layout of PlayerControlView throughout your app, or just for certain configurations, you can defineexo_player_control_view.xmllayout files in your applicationres/layout*directories. These layouts will override the one provided by the library, and will be inflated for use by PlayerControlView. The view identifies and binds its children by looking for the following ids:exo_play- The play button.- Type:
View
- Type:
exo_pause- The pause button.- Type:
View
- Type:
exo_rew- The rewind button.- Type:
View
- Type:
exo_ffwd- The fast forward button.- Type:
View
- Type:
exo_prev- The previous button.- Type:
View
- Type:
exo_next- The next button.- Type:
View
- Type:
exo_repeat_toggle- The repeat toggle button.- Type:
ImageView - Note: PlayerControlView will programmatically set the drawable on the repeat toggle
button according to the player's current repeat mode. The drawables used are
exo_controls_repeat_off,exo_controls_repeat_oneandexo_controls_repeat_all. See the section above for information on overriding these drawables.
- Type:
exo_shuffle- The shuffle button.- Type:
ImageView - Note: PlayerControlView will programmatically set the drawable on the shuffle button
according to the player's current repeat mode. The drawables used are
exo_controls_shuffle_offandexo_controls_shuffle_on. See the section above for information on overriding these drawables.
- Type:
exo_vr- The VR mode button.- Type:
View
- Type:
exo_position- Text view displaying the current playback position.- Type:
TextView
- Type:
exo_duration- Text view displaying the current media duration.- Type:
TextView
- Type:
exo_progress_placeholder- A placeholder that's replaced with the inflatedDefaultTimeBar. Ignored if anexo_progressview exists.- Type:
View
- Type:
exo_progress- Time bar that's updated during playback and allows seeking.DefaultTimeBarattributes set on the PlayerControlView will not be automatically propagated through to this instance. If a view exists with this id, anyexo_progress_placeholderview will be ignored.- Type:
TimeBar
- Type:
All child views are optional and so can be omitted if not required, however where defined they must be of the expected type.
Specifying a custom layout file
Defining your ownexo_player_control_view.xmlis useful to customize the layout of PlayerControlView throughout your application. It's also possible to customize the layout for a single instance in a layout file. This is achieved by setting thecontroller_layout_idattribute on a PlayerControlView. This will cause the specified layout to be inflated instead ofexo_player_control_view.xmlfor only the instance on which the attribute is set.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfacePlayerControlView.ProgressUpdateListenerDeprecated.Listener to be notified when progress has been updated.static interfacePlayerControlView.VisibilityListenerDeprecated.Listener to be notified about changes of the visibility of the UI control.-
Nested classes/interfaces inherited from class android.widget.FrameLayout
FrameLayout.LayoutParams
-
Nested classes/interfaces inherited from class android.view.ViewGroup
ViewGroup.MarginLayoutParams, ViewGroup.OnHierarchyChangeListener
-
Nested classes/interfaces inherited from class android.view.View
View.AccessibilityDelegate, View.BaseSavedState, View.DragShadowBuilder, View.MeasureSpec, View.OnApplyWindowInsetsListener, View.OnAttachStateChangeListener, View.OnCapturedPointerListener, View.OnClickListener, View.OnContextClickListener, View.OnCreateContextMenuListener, View.OnDragListener, View.OnFocusChangeListener, View.OnGenericMotionListener, View.OnHoverListener, View.OnKeyListener, View.OnLayoutChangeListener, View.OnLongClickListener, View.OnScrollChangeListener, View.OnSystemUiVisibilityChangeListener, View.OnTouchListener, View.OnUnhandledKeyEventListener
-
-
Field Summary
Fields Modifier and Type Field Description static @com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes intDEFAULT_REPEAT_TOGGLE_MODESDeprecated.The default repeat toggle modes.static intDEFAULT_SHOW_TIMEOUT_MSDeprecated.The default show timeout, in milliseconds.static intDEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MSDeprecated.The default minimum interval between time bar position updates.static intMAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BARDeprecated.The maximum number of windows that can be shown in a multi-window time bar.-
Fields inherited from class android.view.ViewGroup
CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
-
Fields inherited from class android.view.View
ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_ACCESSIBILITY_ACTION, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description PlayerControlView(Context context)Deprecated.PlayerControlView(Context context, AttributeSet attrs)Deprecated.PlayerControlView(Context context, AttributeSet attrs, int defStyleAttr)Deprecated.PlayerControlView(Context context, AttributeSet attrs, int defStyleAttr, AttributeSet playbackAttrs)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddVisibilityListener(PlayerControlView.VisibilityListener listener)Deprecated.booleandispatchKeyEvent(KeyEvent event)Deprecated.booleandispatchMediaKeyEvent(KeyEvent event)Deprecated.Called to process media key events.booleandispatchTouchEvent(MotionEvent ev)Deprecated.PlayergetPlayer()Deprecated.Returns thePlayercurrently being controlled by this view, or null if no player is set.@com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes intgetRepeatToggleModes()Deprecated.Returns which repeat toggle modes are enabled.booleangetShowShuffleButton()Deprecated.Returns whether the shuffle button is shown.intgetShowTimeoutMs()Deprecated.Returns the playback controls timeout.booleangetShowVrButton()Deprecated.Returns whether the VR button is shown.voidhide()Deprecated.Hides the controller.booleanisVisible()Deprecated.Returns whether the controller is currently visible.voidonAttachedToWindow()Deprecated.voidonDetachedFromWindow()Deprecated.voidremoveVisibilityListener(PlayerControlView.VisibilityListener listener)Deprecated.Removes aPlayerControlView.VisibilityListener.voidsetExtraAdGroupMarkers(long[] extraAdGroupTimesMs, boolean[] extraPlayedAdGroups)Deprecated.Sets the millisecond positions of extra ad markers relative to the start of the window (or timeline, if in multi-window mode) and whether each extra ad has been played or not.voidsetPlayer(Player player)Deprecated.Sets thePlayerto control.voidsetProgressUpdateListener(PlayerControlView.ProgressUpdateListener listener)Deprecated.Sets thePlayerControlView.ProgressUpdateListener.voidsetRepeatToggleModes(@com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes int repeatToggleModes)Deprecated.Sets which repeat toggle modes are enabled.voidsetShowFastForwardButton(boolean showFastForwardButton)Deprecated.Sets whether the fast forward button is shown.voidsetShowMultiWindowTimeBar(boolean showMultiWindowTimeBar)Deprecated.Sets whether the time bar should show all windows, as opposed to just the current one.voidsetShowNextButton(boolean showNextButton)Deprecated.Sets whether the next button is shown.voidsetShowPreviousButton(boolean showPreviousButton)Deprecated.Sets whether the previous button is shown.voidsetShowRewindButton(boolean showRewindButton)Deprecated.Sets whether the rewind button is shown.voidsetShowShuffleButton(boolean showShuffleButton)Deprecated.Sets whether the shuffle button is shown.voidsetShowTimeoutMs(int showTimeoutMs)Deprecated.Sets the playback controls timeout.voidsetShowVrButton(boolean showVrButton)Deprecated.Sets whether the VR button is shown.voidsetTimeBarMinUpdateInterval(int minUpdateIntervalMs)Deprecated.Sets the minimum interval between time bar position updates.voidsetVrButtonListener(View.OnClickListener onClickListener)Deprecated.Sets listener for the VR button.voidshow()Deprecated.Shows the playback controls.-
Methods inherited from class android.widget.FrameLayout
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, onLayout, onMeasure, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedState
-
Methods inherited from class android.view.ViewGroup
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findOnBackInvokedDispatcherForChild, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onCreateDrawableState, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
-
Methods inherited from class android.view.View
addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findOnBackInvokedDispatcher, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getPreferKeepClearRects, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isAutoHandwritingEnabled, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPreferKeepClear, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollCaptureSearch, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setAutoHandwritingEnabled, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPreferKeepClear, setPreferKeepClearRects, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
-
-
-
-
Field Detail
-
DEFAULT_SHOW_TIMEOUT_MS
public static final int DEFAULT_SHOW_TIMEOUT_MS
Deprecated.The default show timeout, in milliseconds.- See Also:
- Constant Field Values
-
DEFAULT_REPEAT_TOGGLE_MODES
@RepeatToggleModes public static final @com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes int DEFAULT_REPEAT_TOGGLE_MODES
Deprecated.The default repeat toggle modes.- See Also:
- Constant Field Values
-
DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS
public static final int DEFAULT_TIME_BAR_MIN_UPDATE_INTERVAL_MS
Deprecated.The default minimum interval between time bar position updates.- See Also:
- Constant Field Values
-
MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR
public static final int MAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BAR
Deprecated.The maximum number of windows that can be shown in a multi-window time bar.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PlayerControlView
public PlayerControlView(Context context)
Deprecated.
-
PlayerControlView
public PlayerControlView(Context context, @Nullable AttributeSet attrs)
Deprecated.
-
PlayerControlView
public PlayerControlView(Context context, @Nullable AttributeSet attrs, int defStyleAttr)
Deprecated.
-
PlayerControlView
public PlayerControlView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, @Nullable AttributeSet playbackAttrs)
Deprecated.
-
-
Method Detail
-
getPlayer
@Nullable public Player getPlayer()
Deprecated.Returns thePlayercurrently being controlled by this view, or null if no player is set.
-
setPlayer
public void setPlayer(@Nullable Player player)Deprecated.Sets thePlayerto control.- Parameters:
player- ThePlayerto control, ornullto detach the current player. Only players which are accessed on the main thread are supported (player.getApplicationLooper() == Looper.getMainLooper()).
-
setShowMultiWindowTimeBar
public void setShowMultiWindowTimeBar(boolean showMultiWindowTimeBar)
Deprecated.Sets whether the time bar should show all windows, as opposed to just the current one. If the timeline has a period with unknown duration or more thanMAX_WINDOWS_FOR_MULTI_WINDOW_TIME_BARwindows the time bar will fall back to showing a single window.- Parameters:
showMultiWindowTimeBar- Whether the time bar should show all windows.
-
setExtraAdGroupMarkers
public void setExtraAdGroupMarkers(@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups)Deprecated.Sets the millisecond positions of extra ad markers relative to the start of the window (or timeline, if in multi-window mode) and whether each extra ad has been played or not. The markers are shown in addition to any ad markers for ads in the player's timeline.- Parameters:
extraAdGroupTimesMs- The millisecond timestamps of the extra ad markers to show, ornullto show no extra ad markers.extraPlayedAdGroups- Whether each ad has been played. Must be the same length asextraAdGroupTimesMs, ornullifextraAdGroupTimesMsisnull.
-
addVisibilityListener
public void addVisibilityListener(PlayerControlView.VisibilityListener listener)
Deprecated.- Parameters:
listener- The listener to be notified about visibility changes.
-
removeVisibilityListener
public void removeVisibilityListener(PlayerControlView.VisibilityListener listener)
Deprecated.Removes aPlayerControlView.VisibilityListener.- Parameters:
listener- The listener to be removed.
-
setProgressUpdateListener
public void setProgressUpdateListener(@Nullable PlayerControlView.ProgressUpdateListener listener)Deprecated.Sets thePlayerControlView.ProgressUpdateListener.- Parameters:
listener- The listener to be notified about when progress is updated.
-
setShowRewindButton
public void setShowRewindButton(boolean showRewindButton)
Deprecated.Sets whether the rewind button is shown.- Parameters:
showRewindButton- Whether the rewind button is shown.
-
setShowFastForwardButton
public void setShowFastForwardButton(boolean showFastForwardButton)
Deprecated.Sets whether the fast forward button is shown.- Parameters:
showFastForwardButton- Whether the fast forward button is shown.
-
setShowPreviousButton
public void setShowPreviousButton(boolean showPreviousButton)
Deprecated.Sets whether the previous button is shown.- Parameters:
showPreviousButton- Whether the previous button is shown.
-
setShowNextButton
public void setShowNextButton(boolean showNextButton)
Deprecated.Sets whether the next button is shown.- Parameters:
showNextButton- Whether the next button is shown.
-
getShowTimeoutMs
public int getShowTimeoutMs()
Deprecated.Returns the playback controls timeout. The playback controls are automatically hidden after this duration of time has elapsed without user input.- Returns:
- The duration in milliseconds. A non-positive value indicates that the controls will remain visible indefinitely.
-
setShowTimeoutMs
public void setShowTimeoutMs(int showTimeoutMs)
Deprecated.Sets the playback controls timeout. The playback controls are automatically hidden after this duration of time has elapsed without user input.- Parameters:
showTimeoutMs- The duration in milliseconds. A non-positive value will cause the controls to remain visible indefinitely.
-
getRepeatToggleModes
@RepeatToggleModes public @com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes int getRepeatToggleModes()
Deprecated.Returns which repeat toggle modes are enabled.- Returns:
- The currently enabled
RepeatModeUtil.RepeatToggleModes.
-
setRepeatToggleModes
public void setRepeatToggleModes(@RepeatToggleModes @com.google.android.exoplayer2.util.RepeatModeUtil.RepeatToggleModes int repeatToggleModes)
Deprecated.Sets which repeat toggle modes are enabled.- Parameters:
repeatToggleModes- A set ofRepeatModeUtil.RepeatToggleModes.
-
getShowShuffleButton
public boolean getShowShuffleButton()
Deprecated.Returns whether the shuffle button is shown.
-
setShowShuffleButton
public void setShowShuffleButton(boolean showShuffleButton)
Deprecated.Sets whether the shuffle button is shown.- Parameters:
showShuffleButton- Whether the shuffle button is shown.
-
getShowVrButton
public boolean getShowVrButton()
Deprecated.Returns whether the VR button is shown.
-
setShowVrButton
public void setShowVrButton(boolean showVrButton)
Deprecated.Sets whether the VR button is shown.- Parameters:
showVrButton- Whether the VR button is shown.
-
setVrButtonListener
public void setVrButtonListener(@Nullable View.OnClickListener onClickListener)Deprecated.Sets listener for the VR button.- Parameters:
onClickListener- Listener for the VR button, or null to clear the listener.
-
setTimeBarMinUpdateInterval
public void setTimeBarMinUpdateInterval(int minUpdateIntervalMs)
Deprecated.Sets the minimum interval between time bar position updates.Note that smaller intervals, e.g. 33ms, will result in a smooth movement but will use more CPU resources while the time bar is visible, whereas larger intervals, e.g. 200ms, will result in a step-wise update with less CPU usage.
- Parameters:
minUpdateIntervalMs- The minimum interval between time bar position updates, in milliseconds.
-
show
public void show()
Deprecated.Shows the playback controls. IfgetShowTimeoutMs()is positive then the controls will be automatically hidden after this duration of time has elapsed without user input.
-
hide
public void hide()
Deprecated.Hides the controller.
-
isVisible
public boolean isVisible()
Deprecated.Returns whether the controller is currently visible.
-
onAttachedToWindow
public void onAttachedToWindow()
Deprecated.- Overrides:
onAttachedToWindowin classViewGroup
-
onDetachedFromWindow
public void onDetachedFromWindow()
Deprecated.- Overrides:
onDetachedFromWindowin classViewGroup
-
dispatchTouchEvent
public final boolean dispatchTouchEvent(MotionEvent ev)
Deprecated.- Overrides:
dispatchTouchEventin classViewGroup
-
dispatchKeyEvent
public boolean dispatchKeyEvent(KeyEvent event)
Deprecated.- Overrides:
dispatchKeyEventin classViewGroup
-
-