Package com.brightcove.player.view
Class BaseVideoView
- java.lang.Object
-
- android.view.View
-
- android.view.ViewGroup
-
- android.widget.FrameLayout
-
- com.brightcove.player.view.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={"error","pause","play","readyToPlay","seekTo","stop","willChangeVideo","on360FrameAvailable","projectionFormatChanged"}) @ListensFor(events={"activityCreated","activitySaveInstanceState","activityStarted","adProgress","captionsLanguages","completed","didLoadClosedCaptions","didPause","didPlay","didSeekTo","didSetSource","didSetVideo","didStop","hideSeekControls","progress","seekTo","showSeekControls","sourceNotPlayable","videoDurationChanged","willChangeVideo","willInterruptContent"}) 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 android.view.View
shutterView
protected ShutterViewController
shutterViewController
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_ACCESSIBILITY_ACTION, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description 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 abstract VideoDisplayComponent
createVideoDisplayComponent(EventEmitter eventEmitter)
protected VideoPlaybackController
createVideoPlaybackController(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 mechanismint
getCurrentIndex()
int
getCurrentPosition()
Deprecated.long
getCurrentPositionLong()
Video
getCurrentVideo()
int
getDuration()
Deprecated.long
getDurationLong()
EventEmitter
getEventEmitter()
Getter for the EventEmitter used by this Viewjava.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()
MediaPlayback
getPlayback()
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
isShutterVisible()
boolean
isStreamConcurrencyEnabled()
Checks whether Generic Stream Concurrency is enabled or notvoid
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 playbackvoid
remove(int index)
Removes the video at the specified index.void
removeListener(java.lang.String eventType)
void
removeListeners()
void
removeOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener)
void
replace(int index, Video video)
Removes and replaces the video at the specified index.void
requestActiveSessions()
Request the current active sessions.void
requestLayout()
protected void
resetMetaData()
Restores the meta data surrounding a video to its default statevoid
seekTo(int msec)
Deprecated.void
seekTo(long msec)
Seek to the time specifiedvoid
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 Concurrencyvoid
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 sessionsvoid
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 playbackvoid
stopPlayback()
Stop playbackvoid
toggleMediaControlsVisibility()
Toggles theBrightcoveMediaController
'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, findOnBackInvokedDispatcherForChild, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, 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, findOnBackInvokedDispatcher, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getPreferKeepClearRects, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isAutoHandwritingEnabled, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPreferKeepClear, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, 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, setAutoHandwritingEnabled, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPreferKeepClear, setPreferKeepClearRects, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows
-
-
-
-
Field Detail
-
eventEmitter
protected EventEmitter eventEmitter
-
playbackController
protected VideoPlaybackController playbackController
-
videoDisplay
protected VideoDisplayComponent videoDisplay
-
videoStillDisplay
protected VideoStillDisplayComponent videoStillDisplay
-
pluginManager
protected BrightcovePluginManager pluginManager
-
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
-
brightcoveClosedCaptioningController
protected BrightcoveClosedCaptioningController brightcoveClosedCaptioningController
-
brightcoveAudioTracksController
protected BrightcoveAudioTracksController brightcoveAudioTracksController
-
shutterViewController
protected ShutterViewController shutterViewController
-
shutterView
protected android.view.View shutterView
-
-
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
-
addOnVideoViewSizeChangedListener
public void addOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener)
-
removeOnVideoViewSizeChangedListener
public void removeOnVideoViewSizeChangedListener(BaseVideoView.OnVideoViewSizeChangedListener onVideoViewSizeChangedListener)
-
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
-
-
requestActiveSessions
public void requestActiveSessions()
Request the current active sessions. Set a {#SessionsListener} to get the returned active sessions through {setStreamConcurrencySessionsListener(ConcurrencyClient.SessionsListener)
}
-
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 classandroid.widget.FrameLayout
-
onSizeChanged
protected void onSizeChanged(int w, int h, int oldw, int oldh)
- Overrides:
onSizeChanged
in classandroid.view.View
-
requestLayout
public void requestLayout()
- Specified by:
requestLayout
in interfaceandroid.view.ViewParent
- Overrides:
requestLayout
in classandroid.view.View
-
onMeasure
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
- Overrides:
onMeasure
in classandroid.widget.FrameLayout
-
onTouchEvent
public boolean onTouchEvent(android.view.MotionEvent ev)
- Overrides:
onTouchEvent
in classandroid.view.View
-
onInterceptTouchEvent
public boolean onInterceptTouchEvent(android.view.MotionEvent ev)
- Overrides:
onInterceptTouchEvent
in classandroid.view.ViewGroup
-
init
protected void init(android.content.Context context)
-
setLayoutParams
public void setLayoutParams(android.view.ViewGroup.LayoutParams layoutParams)
- Overrides:
setLayoutParams
in classandroid.view.View
-
setChildLayoutParams
protected void setChildLayoutParams(android.view.ViewGroup.LayoutParams layoutParams)
-
onFinishInflate
protected void onFinishInflate()
- Overrides:
onFinishInflate
in classandroid.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.
-
getPictureInPictureManager
@NonNull public PictureInPictureManager getPictureInPictureManager()
-
createVideoDisplayComponent
protected abstract VideoDisplayComponent createVideoDisplayComponent(EventEmitter eventEmitter)
-
createVideoPlaybackController
protected VideoPlaybackController createVideoPlaybackController(EventEmitter eventEmitter)
-
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 interfaceandroid.widget.MediaController.MediaPlayerControl
-
getDurationLong
public long getDurationLong()
-
getCurrentPosition
@Deprecated public int getCurrentPosition()
Deprecated.- Specified by:
getCurrentPosition
in interfaceandroid.widget.MediaController.MediaPlayerControl
-
getCurrentPositionLong
public long getCurrentPositionLong()
-
getBufferPercentage
public int getBufferPercentage()
- Specified by:
getBufferPercentage
in interfaceandroid.widget.MediaController.MediaPlayerControl
-
isHlsRecommended
public boolean isHlsRecommended()
-
canPause
public boolean canPause()
- Specified by:
canPause
in interfaceandroid.widget.MediaController.MediaPlayerControl
-
canSeekForward
public boolean canSeekForward()
- Specified by:
canSeekForward
in interfaceandroid.widget.MediaController.MediaPlayerControl
-
canSeekBackward
public boolean canSeekBackward()
- Specified by:
canSeekBackward
in interfaceandroid.widget.MediaController.MediaPlayerControl
-
getAudioSessionId
public int getAudioSessionId()
- Specified by:
getAudioSessionId
in interfaceandroid.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 theBrightcoveMediaController
'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 interfaceandroid.widget.MediaController.MediaPlayerControl
- Returns:
- True if the player is currently playing.
-
start
public void start()
Start playback- Specified by:
start
in interfaceandroid.widget.MediaController.MediaPlayerControl
-
pause
public void pause()
Pause playback- Specified by:
pause
in interfaceandroid.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 interfaceandroid.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 videolanguageCodeCaptionsMap
- 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
-
-
getPlayback
public MediaPlayback getPlayback()
-
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.
-
replace
public void replace(int index, Video video) throws java.lang.IndexOutOfBoundsException
Removes and replaces the video at the specified index.- Parameters:
index
- The index to replace a media item.video
- The video to replace- 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.
-
getClosedCaptioningView
public BrightcoveClosedCaptioningView getClosedCaptioningView()
-
getClosedCaptioningController
public BrightcoveClosedCaptioningController getClosedCaptioningController()
-
getAudioTracksController
public BrightcoveAudioTracksController getAudioTracksController()
-
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()
-
isShutterVisible
public boolean isShutterVisible()
-
dispatchKeyEvent
public boolean dispatchKeyEvent(android.view.KeyEvent event)
- Overrides:
dispatchKeyEvent
in classandroid.view.ViewGroup
-
-