@Emits(events={"didChangeList","didSelectSource","error","pause","play","prebufferNextVideo","readyToPlay","seekTo","selectSource","setSource","setVideo","stop","willChangeVideo","on360FrameAvailable","projectionFormatChanged"}) @ListensFor(events={"activityCreated","activitySaveInstanceState","activityStarted","adProgress","bufferedUpdate","captionsLanguages","completed","didLoadClosedCaptions","didPause","didPlay","didSeekTo","didSetSource","didSetVideo","didStop","hideSeekControls","progress","seekTo","showSeekControls","sourceNotPlayable","videoDurationChanged","willChangeVideo","willInterruptContent","willResumeContent"}) public abstract class BaseVideoView extends android.widget.FrameLayout implements Component, android.widget.MediaController.MediaPlayerControl
EventEmitter
,
VideoDisplayComponent
,
VideoPlaybackController
,
VideoView
Modifier and Type | Class and Description |
---|---|
protected class |
BaseVideoView.OnProgressListener |
static interface |
BaseVideoView.OnVideoViewSizeChangedListener
Interface definition for a callback to be invoked when the
BaseVideoView's size changes.
|
android.widget.FrameLayout.LayoutParams
android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
Modifier and Type | Field and Description |
---|---|
protected BrightcoveAudioTracksController |
brightcoveAudioTracksController |
protected BrightcoveClosedCaptioningController |
brightcoveClosedCaptioningController |
protected int |
duration |
protected EventEmitter |
eventEmitter |
protected android.widget.ImageView |
imageView |
protected java.util.Map<java.lang.String,java.lang.Integer> |
listenerTokens |
protected android.media.MediaPlayer.OnPreparedListener |
onPreparedListener |
protected VideoPlaybackController |
playbackController |
protected int |
playheadPosition |
protected BrightcovePluginManager |
pluginManager |
protected DefaultSourceSelectionController |
sourceController |
protected VideoDisplayComponent |
videoDisplay |
protected VideoStillDisplayComponent |
videoStillDisplay |
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
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_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, 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_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 and Description |
---|
BaseVideoView(android.content.Context context) |
BaseVideoView(android.content.Context context,
android.util.AttributeSet attributeSet) |
BaseVideoView(android.content.Context context,
android.util.AttributeSet attributeSet,
int defStyle) |
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
Video video)
Adds the video to the video list at the specified index.
|
void |
add(Video video)
Adds the video to the end of the video list.
|
void |
addAll(java.util.Collection<Video> newVideos)
Add all videos in the collection to the end of the list.
|
void |
addAll(int index,
java.util.Collection<Video> newVideos)
Inserts all videos in the collection at the specified index.
|
void |
addListener(java.lang.String eventType,
EventListener listener) |
void |
addOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener) |
void |
addSubtitleSource(android.net.Uri uri,
BrightcoveCaptionFormat format)
For adding subtitle sources to the Brightcove Player.
|
protected void |
adjustPosterImageViewSize(int width,
int height) |
boolean |
canPause() |
boolean |
canSeekBackward() |
boolean |
canSeekForward() |
protected abstract boolean |
canShowMediaControls() |
void |
clear()
Removes all videos from the list.
|
void |
clearOnCompletionListener() |
void |
clearOnPreparedListener() |
protected DefaultSourceSelectionController |
createSourceSelectionController(EventEmitter eventEmitter) |
protected abstract VideoDisplayComponent |
createVideoDisplayComponent(EventEmitter eventEmitter) |
void |
disableClosedCaptioningRendering() |
boolean |
dispatchKeyEvent(android.view.KeyEvent event) |
boolean |
dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent event) |
protected void |
emitErrorEvent(java.lang.String message) |
void |
finishInitialization()
This method finishes initializing the BaseVideoView.
|
Video |
get(int index) |
Analytics |
getAnalytics()
Returns the analytics component, the part of the player that monitors and
tracks video playback and engagement.
|
int |
getAudioSessionId() |
BrightcoveAudioTracksController |
getAudioTracksController() |
BrightcoveMediaController |
getBrightcoveMediaController()
Access the Brightcove media controller.
|
int |
getBufferPercentage() |
BrightcoveClosedCaptioningController |
getClosedCaptioningController() |
BrightcoveClosedCaptioningView |
getClosedCaptioningView() |
int |
getCurrentIndex() |
int |
getCurrentPosition() |
Video |
getCurrentVideo() |
int |
getDuration() |
EventEmitter |
getEventEmitter()
Getter for the EventEmitter used by this View
|
java.util.List<Video> |
getList() |
int |
getMeasuredVideoHeight()
Gets the rendered height of the video on the screen.
|
int |
getMeasuredVideoWidth()
Gets the rendered width of the video on the screen.
|
android.widget.MediaController |
getMediaController()
Access the legacy media controller.
|
PictureInPictureManager |
getPictureInPictureManager() |
VideoPlaybackController |
getPlaybackController()
Returns the video playback controller, the component of the player
responsible for managing video playback and emitting cue points.
|
abstract RenderView |
getRenderView()
Gets refers to the view that will render the video.
|
DefaultSourceSelectionController |
getSourceController()
Returns the source controller, the component of the player that selects
the source to play for a video.
|
android.widget.ImageView |
getStillView() |
VideoDisplayComponent |
getVideoDisplay()
Returns the video display, the low-level component responsible for
decoding and rendering a video.
|
abstract int |
getVideoHeight() |
VideoStillDisplayComponent |
getVideoStillDisplay()
Returns the video still display, the component of the player that shows
and hides the still image if one is available for a video.
|
abstract int |
getVideoWidth() |
protected boolean |
hasPlayer() |
protected void |
init(android.content.Context context) |
protected void |
initListeners() |
boolean |
isFullScreen() |
boolean |
isHlsRecommended() |
boolean |
isPlaying() |
void |
onControllerHide() |
protected void |
onFinishInflate() |
protected void |
onLayout(boolean changed,
int left,
int top,
int right,
int bottom) |
protected void |
onMeasure(int widthMeasureSpec,
int heightMeasureSpec) |
protected void |
onPrepared() |
protected void |
onSizeChanged(int w,
int h,
int oldw,
int oldh) |
boolean |
onTouchEvent(android.view.MotionEvent ev) |
void |
pause()
Pause playback
|
void |
remove(int index)
Removes the video at the specified index.
|
void |
removeListener(java.lang.String eventType) |
void |
removeListeners() |
void |
removeOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener) |
void |
requestLayout() |
protected void |
resetMetaData()
Restores the meta data surrounding a video to its default state
|
void |
seekTo(int msec)
Seek to the time specified
|
void |
seekToLive() |
protected void |
setChildLayoutParams(android.view.ViewGroup.LayoutParams layoutParams) |
void |
setClosedCaptioningEnabled(boolean value) |
void |
setCurrentIndex(int index)
Sets the current video to the specified index.
|
void |
setEventEmitter(EventEmitter eventEmitter)
Sets the eventEmitter and instantiates all inner components.
|
void |
setLayoutParams(android.view.ViewGroup.LayoutParams layoutParams) |
void |
setMediaController(BrightcoveMediaController mediaController)
Establishes the Brightcove media controller to provide a modern set of media controls.
|
void |
setMediaController(android.widget.MediaController mediaController)
Establishes a legacy Android media controller to provide media controls.
|
void |
setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener onCompletionListener) |
void |
setOnInfoListener(android.media.MediaPlayer.OnInfoListener onInfoListener) |
void |
setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener onPreparedListener) |
void |
setSubtitleLocale(java.lang.String localeCode)
Sets the locale for a caption source to load, based on the caption locale pulled in.
|
void |
setupClosedCaptioningRendering()
Instantiates the Brightcove captioning view.
|
protected void |
setupClosedCaptioningRendering(Video video)
Decide if the captioning view should be instantiated, based on the controller.
|
Video |
setVideoPath(java.lang.String path)
Replaces player content with the video at the specified path.
|
Video |
setVideoPath(java.lang.String videoPath,
java.util.Map<java.lang.String,java.lang.String> languageCodeCaptionsMap)
Replace player content with the video and captions at the specified paths.
|
Video |
setVideoURI(android.net.Uri uri)
Replaces player content with the video at the specified URI.
|
void |
start()
Start playback
|
void |
stopPlayback()
Stop playback
|
void |
toggleMediaControlsVisibility()
Toggles the
BrightcoveMediaController 's visibility when one is set. |
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedState
addChildrenForAccessibility, 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, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, 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, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, 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, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
addExtraDataToAccessibilityNodeInfo, 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, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, 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, 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, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, 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, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideStructure, onProvideVirtualStructure, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollChanged, onSetAlpha, onStartTemporaryDetach, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, 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, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows
protected EventEmitter eventEmitter
protected VideoPlaybackController playbackController
protected DefaultSourceSelectionController sourceController
protected VideoDisplayComponent videoDisplay
protected VideoStillDisplayComponent videoStillDisplay
protected BrightcovePluginManager pluginManager
protected int duration
protected int playheadPosition
protected android.media.MediaPlayer.OnPreparedListener onPreparedListener
protected android.widget.ImageView imageView
protected java.util.Map<java.lang.String,java.lang.Integer> listenerTokens
protected BrightcoveClosedCaptioningController brightcoveClosedCaptioningController
protected BrightcoveAudioTracksController brightcoveAudioTracksController
public BaseVideoView(android.content.Context context)
public BaseVideoView(android.content.Context context, android.util.AttributeSet attributeSet)
public BaseVideoView(android.content.Context context, android.util.AttributeSet attributeSet, int defStyle)
public void addOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener)
public void removeOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener)
protected void onLayout(boolean changed, int left, int top, int right, int bottom)
onLayout
in class android.widget.FrameLayout
protected void onSizeChanged(int w, int h, int oldw, int oldh)
onSizeChanged
in class android.view.View
public void requestLayout()
requestLayout
in interface android.view.ViewParent
requestLayout
in class android.view.View
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
onMeasure
in class android.widget.FrameLayout
public boolean onTouchEvent(android.view.MotionEvent ev)
onTouchEvent
in class android.view.View
public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent event)
dispatchPopulateAccessibilityEvent
in class android.view.View
protected void init(android.content.Context context)
public void setLayoutParams(android.view.ViewGroup.LayoutParams layoutParams)
setLayoutParams
in class android.view.View
protected void setChildLayoutParams(android.view.ViewGroup.LayoutParams layoutParams)
protected void onFinishInflate()
onFinishInflate
in class android.view.View
public void finishInitialization()
protected void resetMetaData()
public android.widget.MediaController getMediaController()
public BrightcoveMediaController getBrightcoveMediaController()
@NonNull public PictureInPictureManager getPictureInPictureManager()
protected abstract VideoDisplayComponent createVideoDisplayComponent(EventEmitter eventEmitter)
protected DefaultSourceSelectionController createSourceSelectionController(EventEmitter eventEmitter)
public void setEventEmitter(EventEmitter eventEmitter)
eventEmitter
- public EventEmitter getEventEmitter()
@Nullable public abstract RenderView getRenderView()
public abstract int getVideoWidth()
public abstract int getVideoHeight()
public int getMeasuredVideoWidth()
public int getMeasuredVideoHeight()
public int getDuration()
getDuration
in interface android.widget.MediaController.MediaPlayerControl
public int getCurrentPosition()
getCurrentPosition
in interface android.widget.MediaController.MediaPlayerControl
public int getBufferPercentage()
getBufferPercentage
in interface android.widget.MediaController.MediaPlayerControl
public boolean isHlsRecommended()
public boolean canPause()
canPause
in interface android.widget.MediaController.MediaPlayerControl
public boolean canSeekForward()
canSeekForward
in interface android.widget.MediaController.MediaPlayerControl
public boolean canSeekBackward()
canSeekBackward
in interface android.widget.MediaController.MediaPlayerControl
public int getAudioSessionId()
getAudioSessionId
in interface android.widget.MediaController.MediaPlayerControl
public boolean isFullScreen()
protected void initListeners()
protected void adjustPosterImageViewSize(int width, int height)
protected void onPrepared()
public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener onCompletionListener)
public void clearOnCompletionListener()
public void setOnInfoListener(android.media.MediaPlayer.OnInfoListener onInfoListener)
public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener onPreparedListener)
public void clearOnPreparedListener()
public void setMediaController(BrightcoveMediaController mediaController)
mediaController
- The Brightcove media controller being established or null to have no media controller.public void setMediaController(android.widget.MediaController mediaController)
mediaController
- The legacy Android media controller to use or null to have no media controller.public void toggleMediaControlsVisibility()
BrightcoveMediaController
's visibility when one is set.protected abstract boolean canShowMediaControls()
protected boolean hasPlayer()
public void onControllerHide()
public boolean isPlaying()
isPlaying
in interface android.widget.MediaController.MediaPlayerControl
public void start()
start
in interface android.widget.MediaController.MediaPlayerControl
public void pause()
pause
in interface android.widget.MediaController.MediaPlayerControl
public void stopPlayback()
public void seekTo(int msec)
seekTo
in interface android.widget.MediaController.MediaPlayerControl
msec
- time in millisecondspublic void seekToLive()
public Video setVideoPath(java.lang.String path)
path
- HTTP path to a videopublic Video setVideoURI(android.net.Uri uri)
uri
- Video URIpublic Video setVideoPath(java.lang.String videoPath, java.util.Map<java.lang.String,java.lang.String> languageCodeCaptionsMap)
videoPath
- HTTP path to the videolanguageCodeCaptionsMap
- A map of language code to caption urls.public void add(Video video)
video
- public void add(int index, Video video) throws java.lang.IndexOutOfBoundsException
index
- video
- java.lang.IndexOutOfBoundsException
- when index < 0 or index is larger than the size of the video list.public void addAll(java.util.Collection<Video> newVideos)
newVideos
- The videos to append.public void addAll(int index, java.util.Collection<Video> newVideos) throws java.lang.IndexOutOfBoundsException
index
- newVideos
- The videos to append.java.lang.IndexOutOfBoundsException
- when index < 0 or index is larger than the size of the video list.public Video get(int index)
index
- public int getCurrentIndex()
public Video getCurrentVideo()
public void setCurrentIndex(int index) throws java.lang.IndexOutOfBoundsException
index
- java.lang.IndexOutOfBoundsException
- when index < 0 or index is larger than the size of the video list.public java.util.List<Video> getList()
public void remove(int index) throws java.lang.IndexOutOfBoundsException
index
- java.lang.IndexOutOfBoundsException
- when index < 0 or index is larger than the size of the video list.public void clear()
public VideoPlaybackController getPlaybackController()
public DefaultSourceSelectionController getSourceController()
public VideoDisplayComponent getVideoDisplay()
public VideoStillDisplayComponent getVideoStillDisplay()
public Analytics getAnalytics()
public void addSubtitleSource(android.net.Uri uri, BrightcoveCaptionFormat format)
VideoView.addSubtitleSource(java.io.InputStream, android.media.MediaFormat)
public void setSubtitleLocale(java.lang.String localeCode)
localeCode
- the two character locale code for the caption URI.public BrightcoveClosedCaptioningView getClosedCaptioningView()
public BrightcoveClosedCaptioningController getClosedCaptioningController()
public BrightcoveAudioTracksController getAudioTracksController()
public void setClosedCaptioningEnabled(boolean value)
public void addListener(java.lang.String eventType, EventListener listener)
public void removeListener(java.lang.String eventType)
public void removeListeners()
protected void setupClosedCaptioningRendering(Video video)
video
- - the video with or without captioningpublic void setupClosedCaptioningRendering()
public void disableClosedCaptioningRendering()
protected void emitErrorEvent(java.lang.String message)
public android.widget.ImageView getStillView()
public boolean dispatchKeyEvent(android.view.KeyEvent event)
dispatchKeyEvent
in class android.view.ViewGroup