@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.LayoutParamsandroid.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListenerandroid.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| 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_CACHEACCESSIBILITY_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.
|
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) |
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() |
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedStateaddChildrenForAccessibility, 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, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, 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, 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, updateViewLayoutaddExtraDataToAccessibilityNodeInfo, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, 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, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, dispatchStartTemporaryDetach, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getImportantForAutofill, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineProvider, 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, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, 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, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, 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, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityLiveRegion, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAutofillHints, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForeground, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLeft, 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, setOutlineProvider, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDrawclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcanResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindowsprotected 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.FrameLayoutprotected void onSizeChanged(int w,
int h,
int oldw,
int oldh)
onSizeChanged in class android.view.Viewpublic void requestLayout()
requestLayout in interface android.view.ViewParentrequestLayout in class android.view.Viewprotected void onMeasure(int widthMeasureSpec,
int heightMeasureSpec)
onMeasure in class android.widget.FrameLayoutpublic boolean onTouchEvent(android.view.MotionEvent ev)
onTouchEvent in class android.view.Viewprotected void init(android.content.Context context)
public void setLayoutParams(android.view.ViewGroup.LayoutParams layoutParams)
setLayoutParams in class android.view.Viewprotected void setChildLayoutParams(android.view.ViewGroup.LayoutParams layoutParams)
protected void onFinishInflate()
onFinishInflate in class android.view.Viewpublic 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.MediaPlayerControlpublic int getCurrentPosition()
getCurrentPosition in interface android.widget.MediaController.MediaPlayerControlpublic int getBufferPercentage()
getBufferPercentage in interface android.widget.MediaController.MediaPlayerControlpublic boolean isHlsRecommended()
public boolean canPause()
canPause in interface android.widget.MediaController.MediaPlayerControlpublic boolean canSeekForward()
canSeekForward in interface android.widget.MediaController.MediaPlayerControlpublic boolean canSeekBackward()
canSeekBackward in interface android.widget.MediaController.MediaPlayerControlpublic int getAudioSessionId()
getAudioSessionId in interface android.widget.MediaController.MediaPlayerControlpublic boolean isFullScreen()
protected void initListeners()
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()
protected abstract boolean canShowMediaControls()
protected boolean hasPlayer()
public void onControllerHide()
public boolean isPlaying()
isPlaying in interface android.widget.MediaController.MediaPlayerControlpublic void start()
start in interface android.widget.MediaController.MediaPlayerControlpublic void pause()
pause in interface android.widget.MediaController.MediaPlayerControlpublic void stopPlayback()
public void seekTo(int msec)
seekTo in interface android.widget.MediaController.MediaPlayerControlmsec - 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