Class BaseVideoView

  • All Implemented Interfaces:
    android.graphics.drawable.Drawable.Callback, android.view.accessibility.AccessibilityEventSource, android.view.KeyEvent.Callback, android.view.ViewManager, android.view.ViewParent, android.widget.MediaController.MediaPlayerControl, Component
    Direct Known Subclasses:
    BrightcoveTextureVideoView, BrightcoveVideoView

    @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
    BaseVideoView provides the base functionality for BrightcoveVideoView, which for historical reasons isn't named BrightcoveSurfaceVideoView, and BrightcoveTextureVideoView. Those two classes are designed to be dropped into your XML layouts as a replacement for Android's native VideoView. This class provides public methods to mirror that of VideoView, plus additional logic for handling things like playlists. This class uses an EventEmitter to wire together components, like the VideoDisplayComponent and VideoPlaybackController.
    See Also:
    EventEmitter, VideoDisplayComponent, VideoPlaybackController, VideoView
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  BaseVideoView.OnProgressListener  
      static interface  BaseVideoView.OnVideoViewSizeChangedListener
      Interface definition for a callback to be invoked when the BaseVideoView's size changes.
      • Nested classes/interfaces inherited from class android.widget.FrameLayout

        android.widget.FrameLayout.LayoutParams
      • Nested classes/interfaces inherited from class android.view.ViewGroup

        android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
      • Nested classes/interfaces inherited from class android.view.View

        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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected BrightcoveAudioTracksController brightcoveAudioTracksController  
      protected BrightcoveClosedCaptioningController brightcoveClosedCaptioningController  
      protected int duration
      Deprecated.
      protected long durationLong  
      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
      Deprecated.
      protected long playheadPositionLong  
      protected BrightcovePluginManager pluginManager  
      protected DefaultSourceSelectionController sourceController  
      protected VideoDisplayComponent videoDisplay  
      protected VideoStillDisplayComponent videoStillDisplay  
      • 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_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
      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)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method 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​(int index, java.util.Collection<Video> newVideos)
      Inserts all videos in the collection at the specified index.
      void addAll​(java.util.Collection<Video> newVideos)
      Add all videos in the collection to the end of the list.
      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)  
      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()  
      ConcurrencyClient getConcurrencyClient()
      Gets the {#ConcurrencyClient} instance being used interact with the Generic Stream Concurrency mechanism
      int getCurrentIndex()  
      int getCurrentPosition()
      Deprecated.
      long getCurrentPositionLong()  
      Video getCurrentVideo()  
      int getDuration()
      Deprecated.
      long getDurationLong()  
      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()  
      boolean isStreamConcurrencyEnabled()
      Checks whether Generic Stream Concurrency is enabled or not
      void onControllerHide()  
      protected void onFinishInflate()  
      boolean onInterceptTouchEvent​(android.view.MotionEvent ev)  
      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 requestActiveSessions()
      Request the current active sessions.
      void requestLayout()  
      protected void resetMetaData()
      Restores the meta data surrounding a video to its default state
      void seekTo​(int msec)
      Deprecated.
      void seekTo​(long 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​(android.widget.MediaController mediaController)
      Establishes a legacy Android media controller to provide media controls.
      void setMediaController​(BrightcoveMediaController mediaController)
      Establishes the Brightcove media controller to provide a modern set of media controls.
      void setOnCompletionListener​(android.media.MediaPlayer.OnCompletionListener onCompletionListener)  
      void setOnInfoListener​(android.media.MediaPlayer.OnInfoListener onInfoListener)  
      void setOnPreparedListener​(android.media.MediaPlayer.OnPreparedListener onPreparedListener)  
      void setStreamConcurrencyEnabled​(boolean enabled)
      Enable Generic Stream Concurrency
      void setStreamConcurrencyRequestHeaders​(java.util.Map<java.lang.String,​java.lang.String> requestHeaders)
      Sets the headers values that will be passed on each request to the Generic Stream Concurrency.
      void setStreamConcurrencySessionsListener​(ConcurrencyClient.SessionsListener listener)
      Sets a listener to get the active sessions
      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.
      • Methods inherited from class android.widget.FrameLayout

        checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, 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, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, 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, 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, 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, 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, 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, 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, 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, onStartTemporaryDetach, 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, 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, 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, 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, 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
    • Field Detail

      • duration

        @Deprecated
        protected int duration
        Deprecated.
      • durationLong

        protected long durationLong
      • playheadPosition

        @Deprecated
        protected int playheadPosition
        Deprecated.
      • playheadPositionLong

        protected long playheadPositionLong
      • onPreparedListener

        protected android.media.MediaPlayer.OnPreparedListener onPreparedListener
      • imageView

        protected android.widget.ImageView imageView
      • listenerTokens

        protected java.util.Map<java.lang.String,​java.lang.Integer> listenerTokens
    • Constructor Detail

      • BaseVideoView

        public BaseVideoView​(android.content.Context context)
      • BaseVideoView

        public BaseVideoView​(android.content.Context context,
                             android.util.AttributeSet attributeSet)
      • BaseVideoView

        public BaseVideoView​(android.content.Context context,
                             android.util.AttributeSet attributeSet,
                             int defStyle)
    • Method Detail

      • setStreamConcurrencyEnabled

        public void setStreamConcurrencyEnabled​(boolean enabled)
        Enable Generic Stream Concurrency
        Parameters:
        enabled -
      • setStreamConcurrencyRequestHeaders

        public void setStreamConcurrencyRequestHeaders​(java.util.Map<java.lang.String,​java.lang.String> requestHeaders)
        Sets the headers values that will be passed on each request to the Generic Stream Concurrency. The values should be for the account ID, video ID and the JWT.
        Parameters:
        requestHeaders -
      • setStreamConcurrencySessionsListener

        public void setStreamConcurrencySessionsListener​(ConcurrencyClient.SessionsListener listener)
        Sets a listener to get the active sessions
        Parameters:
        listener -
      • isStreamConcurrencyEnabled

        public boolean isStreamConcurrencyEnabled()
        Checks whether Generic Stream Concurrency is enabled or not
        Returns:
      • getConcurrencyClient

        public final ConcurrencyClient getConcurrencyClient()
        Gets the {#ConcurrencyClient} instance being used interact with the Generic Stream Concurrency mechanism
        Returns:
      • onLayout

        protected void onLayout​(boolean changed,
                                int left,
                                int top,
                                int right,
                                int bottom)
        Overrides:
        onLayout in class android.widget.FrameLayout
      • onSizeChanged

        protected void onSizeChanged​(int w,
                                     int h,
                                     int oldw,
                                     int oldh)
        Overrides:
        onSizeChanged in class android.view.View
      • requestLayout

        public void requestLayout()
        Specified by:
        requestLayout in interface android.view.ViewParent
        Overrides:
        requestLayout in class android.view.View
      • onMeasure

        protected void onMeasure​(int widthMeasureSpec,
                                 int heightMeasureSpec)
        Overrides:
        onMeasure in class android.widget.FrameLayout
      • onTouchEvent

        public boolean onTouchEvent​(android.view.MotionEvent ev)
        Overrides:
        onTouchEvent in class android.view.View
      • onInterceptTouchEvent

        public boolean onInterceptTouchEvent​(android.view.MotionEvent ev)
        Overrides:
        onInterceptTouchEvent in class android.view.ViewGroup
      • init

        protected void init​(android.content.Context context)
      • setLayoutParams

        public void setLayoutParams​(android.view.ViewGroup.LayoutParams layoutParams)
        Overrides:
        setLayoutParams in class android.view.View
      • setChildLayoutParams

        protected void setChildLayoutParams​(android.view.ViewGroup.LayoutParams layoutParams)
      • onFinishInflate

        protected void onFinishInflate()
        Overrides:
        onFinishInflate in class android.view.View
      • finishInitialization

        public void finishInitialization()
        This method finishes initializing the BaseVideoView. It should only be called when creating an instance programatically. Otherwise, it is automatically called by onFinishInflate().
      • resetMetaData

        protected void resetMetaData()
        Restores the meta data surrounding a video to its default state
      • getMediaController

        public android.widget.MediaController getMediaController()
        Access the legacy media controller.
        Returns:
        null if no legacy media controller is in use, the legacy media controller currently in use otherwise.
      • getBrightcoveMediaController

        public BrightcoveMediaController getBrightcoveMediaController()
        Access the Brightcove media controller.
        Returns:
        null if no Brightcove media controller is in use, the Brightcove media controller currently in use otherwise.
      • setEventEmitter

        public void setEventEmitter​(EventEmitter eventEmitter)
        Sets the eventEmitter and instantiates all inner components. Required to be called before further interactions with the eventEmitter.
        Parameters:
        eventEmitter -
      • getEventEmitter

        public EventEmitter getEventEmitter()
        Getter for the EventEmitter used by this View
        Returns:
        An instance of EventEmitter
      • getRenderView

        @Nullable
        public abstract RenderView getRenderView()
        Gets refers to the view that will render the video.
        Returns:
        null if the view is not available, otherwise reference to the view.
      • getVideoWidth

        public abstract int getVideoWidth()
      • getVideoHeight

        public abstract int getVideoHeight()
      • getMeasuredVideoWidth

        public int getMeasuredVideoWidth()
        Gets the rendered width of the video on the screen.
        Returns:
        the width of the video as measured by the RenderView
      • getMeasuredVideoHeight

        public int getMeasuredVideoHeight()
        Gets the rendered height of the video on the screen.
        Returns:
        the height of the video as measured by the RenderView
      • getDuration

        @Deprecated
        public int getDuration()
        Deprecated.
        Specified by:
        getDuration in interface android.widget.MediaController.MediaPlayerControl
      • getDurationLong

        public long getDurationLong()
      • getCurrentPosition

        @Deprecated
        public int getCurrentPosition()
        Deprecated.
        Specified by:
        getCurrentPosition in interface android.widget.MediaController.MediaPlayerControl
      • getCurrentPositionLong

        public long getCurrentPositionLong()
      • getBufferPercentage

        public int getBufferPercentage()
        Specified by:
        getBufferPercentage in interface android.widget.MediaController.MediaPlayerControl
      • isHlsRecommended

        public boolean isHlsRecommended()
      • canPause

        public boolean canPause()
        Specified by:
        canPause in interface android.widget.MediaController.MediaPlayerControl
      • canSeekForward

        public boolean canSeekForward()
        Specified by:
        canSeekForward in interface android.widget.MediaController.MediaPlayerControl
      • canSeekBackward

        public boolean canSeekBackward()
        Specified by:
        canSeekBackward in interface android.widget.MediaController.MediaPlayerControl
      • getAudioSessionId

        public int getAudioSessionId()
        Specified by:
        getAudioSessionId in interface android.widget.MediaController.MediaPlayerControl
      • isFullScreen

        public boolean isFullScreen()
      • initListeners

        protected void initListeners()
      • adjustPosterImageViewSize

        protected void adjustPosterImageViewSize​(int width,
                                                 int height)
      • onPrepared

        protected void onPrepared()
      • setOnCompletionListener

        public void setOnCompletionListener​(android.media.MediaPlayer.OnCompletionListener onCompletionListener)
      • clearOnCompletionListener

        public void clearOnCompletionListener()
      • setOnInfoListener

        public void setOnInfoListener​(android.media.MediaPlayer.OnInfoListener onInfoListener)
      • setOnPreparedListener

        public void setOnPreparedListener​(android.media.MediaPlayer.OnPreparedListener onPreparedListener)
      • clearOnPreparedListener

        public void clearOnPreparedListener()
      • setMediaController

        public void setMediaController​(BrightcoveMediaController mediaController)
        Establishes the Brightcove media controller to provide a modern set of media controls.
        Parameters:
        mediaController - The Brightcove media controller being established or null to have no media controller.
      • setMediaController

        public void setMediaController​(android.widget.MediaController mediaController)
        Establishes a legacy Android media controller to provide media controls.
        Parameters:
        mediaController - The legacy Android media controller to use or null to have no media controller.
      • toggleMediaControlsVisibility

        public void toggleMediaControlsVisibility()
        Toggles the BrightcoveMediaController's visibility when one is set.
      • canShowMediaControls

        protected abstract boolean canShowMediaControls()
      • hasPlayer

        protected boolean hasPlayer()
      • onControllerHide

        public void onControllerHide()
      • isPlaying

        public boolean isPlaying()
        Specified by:
        isPlaying in interface android.widget.MediaController.MediaPlayerControl
        Returns:
        True if the player is currently playing.
      • start

        public void start()
        Start playback
        Specified by:
        start in interface android.widget.MediaController.MediaPlayerControl
      • pause

        public void pause()
        Pause playback
        Specified by:
        pause in interface android.widget.MediaController.MediaPlayerControl
      • stopPlayback

        public void stopPlayback()
        Stop playback
      • seekTo

        @Deprecated
        public void seekTo​(int msec)
        Deprecated.
        Seek to the time specified
        Specified by:
        seekTo in interface android.widget.MediaController.MediaPlayerControl
        Parameters:
        msec - time in milliseconds
      • seekTo

        public void seekTo​(long msec)
        Seek to the time specified
        Parameters:
        msec - time in milliseconds
      • seekToLive

        public void seekToLive()
      • setVideoPath

        public Video setVideoPath​(java.lang.String path)
        Replaces player content with the video at the specified path.
        Parameters:
        path - HTTP path to a video
        Returns:
        The created Video object.
      • setVideoURI

        public Video setVideoURI​(android.net.Uri uri)
        Replaces player content with the video at the specified URI.
        Parameters:
        uri - Video URI
        Returns:
        The created Video object.
      • setVideoPath

        public 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.
        Parameters:
        videoPath - HTTP path to the video
        languageCodeCaptionsMap - A map of language code to caption urls.
      • add

        public void add​(Video video)
        Adds the video to the end of the video list.
        Parameters:
        video -
      • add

        public void add​(int index,
                        Video video)
                 throws java.lang.IndexOutOfBoundsException
        Adds the video to the video list at the specified index.
        Parameters:
        index -
        video -
        Throws:
        java.lang.IndexOutOfBoundsException - when index < 0 or index is larger than the size of the video list.
      • addAll

        public void addAll​(java.util.Collection<Video> newVideos)
        Add all videos in the collection to the end of the list.
        Parameters:
        newVideos - The videos to append.
      • addAll

        public void addAll​(int index,
                           java.util.Collection<Video> newVideos)
                    throws java.lang.IndexOutOfBoundsException
        Inserts all videos in the collection at the specified index.
        Parameters:
        index -
        newVideos - The videos to append.
        Throws:
        java.lang.IndexOutOfBoundsException - when index < 0 or index is larger than the size of the video list.
      • get

        public Video get​(int index)
        Parameters:
        index -
        Returns:
        The video at the specified index.
      • getCurrentIndex

        public int getCurrentIndex()
        Returns:
        The index of the current video or -1 if there are none.
      • getCurrentVideo

        public Video getCurrentVideo()
      • setCurrentIndex

        public void setCurrentIndex​(int index)
                             throws java.lang.IndexOutOfBoundsException
        Sets the current video to the specified index.
        Parameters:
        index -
        Throws:
        java.lang.IndexOutOfBoundsException - when index < 0 or index is larger than the size of the video list.
      • getList

        public java.util.List<Video> getList()
        Returns:
        A immutable copy of the video list.
      • remove

        public void remove​(int index)
                    throws java.lang.IndexOutOfBoundsException
        Removes the video at the specified index.
        Parameters:
        index -
        Throws:
        java.lang.IndexOutOfBoundsException - when index < 0 or index is larger than the size of the video list.
      • clear

        public void clear()
        Removes all videos from the list.
      • getPlaybackController

        public VideoPlaybackController getPlaybackController()
        Returns the video playback controller, the component of the player responsible for managing video playback and emitting cue points.
        Returns:
        the playbackController
      • getSourceController

        public DefaultSourceSelectionController getSourceController()
        Returns the source controller, the component of the player that selects the source to play for a video.
        Returns:
        the sourceController
      • getVideoDisplay

        public VideoDisplayComponent getVideoDisplay()
        Returns the video display, the low-level component responsible for decoding and rendering a video.
        Returns:
        the videoDisplay
      • getVideoStillDisplay

        public 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.
        Returns:
        the videoStillDisplay
      • getAnalytics

        public Analytics getAnalytics()
        Returns the analytics component, the part of the player that monitors and tracks video playback and engagement.
        Returns:
        the analytics component
      • addSubtitleSource

        public void addSubtitleSource​(android.net.Uri uri,
                                      BrightcoveCaptionFormat format)
        For adding subtitle sources to the Brightcove Player. Loosely based off of the Android SDK method addSubtitleSource.
        See Also:
        VideoView.addSubtitleSource(java.io.InputStream, android.media.MediaFormat)
      • setSubtitleLocale

        public void setSubtitleLocale​(java.lang.String localeCode)
        Sets the locale for a caption source to load, based on the caption locale pulled in. NOTE ABOUT USING WITH THE BRIGHTCOVE CAPTION CONTROLLER ONLY. ANDROID SUBTITLE MANAGER DOESNT NEED THIS.
        Parameters:
        localeCode - the two character locale code for the caption URI.
      • setClosedCaptioningEnabled

        public void setClosedCaptioningEnabled​(boolean value)
      • addListener

        public void addListener​(java.lang.String eventType,
                                EventListener listener)
      • removeListener

        public void removeListener​(java.lang.String eventType)
      • removeListeners

        public void removeListeners()
      • setupClosedCaptioningRendering

        protected void setupClosedCaptioningRendering​(Video video)
        Decide if the captioning view should be instantiated, based on the controller.
        Parameters:
        video - - the video with or without captioning
      • setupClosedCaptioningRendering

        public void setupClosedCaptioningRendering()
        Instantiates the Brightcove captioning view.
      • disableClosedCaptioningRendering

        public void disableClosedCaptioningRendering()
      • emitErrorEvent

        protected void emitErrorEvent​(java.lang.String message)
      • getStillView

        public android.widget.ImageView getStillView()
      • dispatchKeyEvent

        public boolean dispatchKeyEvent​(android.view.KeyEvent event)
        Overrides:
        dispatchKeyEvent in class android.view.ViewGroup