public abstract class GSYBaseVideoPlayer extends GSYVideoControlView
android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListenerandroid.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener| 限定符和类型 | 字段和说明 |
|---|---|
protected boolean |
isNeedAutoAdaptation |
protected boolean |
mActionBar |
protected boolean |
mAutoFullWithSize |
protected android.view.View.OnClickListener |
mBackFromFullScreenListener |
protected java.lang.Runnable |
mCheckoutTask |
protected boolean |
mFullAnimEnd |
protected android.os.Handler |
mInnerHandler |
protected int[] |
mListItemRect |
protected int[] |
mListItemSize |
protected boolean |
mLockLand |
protected OrientationUtils |
mOrientationUtils |
protected boolean |
mRotateViewAuto |
protected boolean |
mRotateWithSystem |
protected boolean |
mShowFullAnimation |
protected android.view.View |
mSmallClose |
protected boolean |
mStatusBar |
protected int |
mSystemUiVisibility |
gestureDetector, isShowDragProgressTextOnSeekBar, mBackButton, mBottomContainer, mBottomProgressBar, mBrightness, mBrightnessData, mChangePosition, mChangeVolume, mCurrentTimeTextView, mDismissControlTime, mDownPosition, mDownX, mDownY, mEnlargeImageRes, mFirstTouch, mFullscreenButton, mGestureDownVolume, mGSYVideoProgressListener, mHadSeekTouch, mHideKey, mIsTouchWiget, mIsTouchWigetFull, mLoadingProgressBar, mLockClickListener, mLockCurScreen, mLockScreen, mMoveY, mNeedLockFull, mNeedShowWifiTip, mPostDismiss, mPostProgress, mProgressBar, mSeekEndOffset, mSeekRatio, mSeekTimePosition, mSetUpLazy, mShowVKey, mShrinkImageRes, mStartButton, mThreshold, mThumbImageView, mThumbImageViewLayout, mThumbPlay, mTitleTextView, mTopContainer, mTotalTimeTextView, mTouchingProgressBarCHANGE_DELAY_TIME, CURRENT_STATE_AUTO_COMPLETE, CURRENT_STATE_ERROR, CURRENT_STATE_NORMAL, CURRENT_STATE_PAUSE, CURRENT_STATE_PLAYING, CURRENT_STATE_PLAYING_BUFFERING_START, CURRENT_STATE_PREPAREING, mAudioManager, mBackUpPlayingBufferState, mBufferPoint, mCache, mCachePath, mContext, mCurrentPosition, mCurrentState, mHadPlay, mHadPrepared, mIfCurrentIsFullscreen, mLooping, mMapHeadData, mNetChanged, mNetInfoModule, mNetSate, mOriginUrl, mOverrideExtension, mPauseBeforePrepared, mPlayPosition, mPlayTag, mReleaseWhenLossAudio, mSaveChangeViewTIme, mScreenHeight, mScreenWidth, mSeekOnStart, mShowPauseCover, mSoundTouch, mSpeed, mStartAfterPrepared, mTitle, mUrl, mVideoAllCallBack, onAudioFocusChangeListenermEffectFilter, mFullPauseBitmap, mMatrixGL, mMode, mRenderer, mRotate, mSurface, mTextureView, mTextureViewContainerCLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHEACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z| 构造器和说明 |
|---|
GSYBaseVideoPlayer(android.content.Context context) |
GSYBaseVideoPlayer(android.content.Context context,
android.util.AttributeSet attrs) |
GSYBaseVideoPlayer(android.content.Context context,
android.util.AttributeSet attrs,
int defStyleAttr) |
GSYBaseVideoPlayer(android.content.Context context,
java.lang.Boolean fullFlag) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
autoAdaptation()
自动适配在竖屏全屏时,
由于刘海屏或者打孔屏占据空间带来的影响(某些机型在全屏时会自动将布局下移(或者添加padding),
例如三星S10、小米8;但是也有一些机型在全屏时不会处理,此时,就为了兼容这部分机型)
|
protected void |
backToNormal()
回到正常效果
|
protected void |
checkAutoFullSizeWhenFull()
确保开启竖屏检测的时候正常全屏
|
protected void |
checkAutoFullWithSizeAndAdaptation(GSYBaseVideoPlayer gsyVideoPlayer)
检测是否根据视频尺寸,自动选择竖屏全屏或者横屏全屏;
并且适配在竖屏横屏时,由于刘海屏或者打孔屏占据空间,导致标题显示被遮盖的问题
|
protected void |
checkoutState()
检查状态
|
protected void |
clearFullscreenLayout()
退出window层播放全屏效果
|
protected void |
cloneParams(GSYBaseVideoPlayer from,
GSYBaseVideoPlayer to)
克隆切换参数
|
GSYBaseVideoPlayer |
getCurrentPlayer()
获取当前长在播放的播放控件
|
protected abstract int |
getFullId() |
GSYVideoPlayer |
getFullWindowPlayer()
获取全屏播放器对象
|
OrientationOption |
getOrientationOption()
可配置旋转 OrientationUtils
|
int |
getSaveBeforeFullSystemUiVisibility() |
protected abstract int |
getSmallId() |
GSYVideoPlayer |
getSmallWindowPlayer()
获取小窗口播放器对象
|
void |
hideSmallVideo()
隐藏小窗口
|
protected void |
init(android.content.Context context) |
boolean |
isAutoFullWithSize() |
boolean |
isFullHideActionBar() |
boolean |
isFullHideStatusBar() |
boolean |
isLockLand() |
protected boolean |
isLockLandByAutoFullSize()
是否根据autoFullSize调整lockLand
|
boolean |
isNeedAutoAdaptation() |
boolean |
isOnlyRotateLand() |
boolean |
isRotateViewAuto() |
boolean |
isRotateWithSystem() |
boolean |
isShowFullAnimation() |
boolean |
isVerticalFullByVideoSize()
是否根据视频尺寸,自动选择竖屏全屏或者横屏全屏,注意,这时候默认旋转无效
|
protected boolean |
isVerticalVideo()
是否竖屏模式的竖屏
|
protected void |
lockTouchLogic()
处理锁屏屏幕触摸逻辑
|
void |
onBackFullscreen() |
void |
onConfigurationChanged(android.app.Activity activity,
android.content.res.Configuration newConfig,
OrientationUtils orientationUtils)
旋转处理
|
void |
onConfigurationChanged(android.app.Activity activity,
android.content.res.Configuration newConfig,
OrientationUtils orientationUtils,
boolean hideActionBar,
boolean hideStatusBar)
旋转处理
|
void |
onInfo(int what,
int extra) |
void |
onPrepared() |
protected void |
resolveFullVideoShow(android.content.Context context,
GSYBaseVideoPlayer gsyVideoPlayer,
android.widget.FrameLayout frameLayout)
全屏
|
protected void |
resolveNormalVideoShow(android.view.View oldF,
android.view.ViewGroup vp,
GSYVideoPlayer gsyVideoPlayer)
恢复
|
void |
setAutoFullWithSize(boolean autoFullWithSize)
是否根据视频尺寸,自动选择竖屏全屏或者横屏全屏,注意,这时候默认旋转无效
|
void |
setBackFromFullScreenListener(android.view.View.OnClickListener backFromFullScreenListener)
全屏返回监听,如果设置了,默认返回动作无效
包含返回键和全屏返回按键,前提是这两个按键存在
|
void |
setFullHideActionBar(boolean actionBar) |
void |
setFullHideStatusBar(boolean statusBar) |
void |
setLockLand(boolean lockLand)
一全屏就锁屏横屏,默认false竖屏,可配合setRotateViewAuto使用
|
void |
setNeedAutoAdaptation(boolean needAutoAdaptation)
是否需要适配在竖屏横屏时,由于刘海屏或者打孔屏占据空间,导致标题显示被遮盖的问题
|
void |
setOnlyRotateLand(boolean onlyRotateLand)
旋转时仅处理横屏
|
void |
setRotateViewAuto(boolean rotateViewAuto)
是否开启自动旋转
|
void |
setRotateWithSystem(boolean rotateWithSystem)
是否更新系统旋转,false的话,系统禁止旋转也会跟着旋转
|
void |
setSaveBeforeFullSystemUiVisibility(int systemUiVisibility) |
void |
setShowFullAnimation(boolean showFullAnimation)
全屏动画
|
protected void |
setSmallVideoTextureView()
小窗口
|
GSYBaseVideoPlayer |
showSmallVideo(android.graphics.Point size,
boolean actionBar,
boolean statusBar)
显示小窗口
|
GSYBaseVideoPlayer |
startWindowFullscreen(android.content.Context context,
boolean actionBar,
boolean statusBar)
利用window层播放全屏效果
|
cancelDismissControlViewTimer, cancelProgressTimer, changeUiToCompleteShow, changeUiToError, changeUiToNormal, changeUiToPauseShow, changeUiToPlayingBufferingShow, changeUiToPlayingShow, changeUiToPreparingShow, clearThumbImageView, clickStartIcon, dismissBrightnessDialog, dismissProgressDialog, dismissVolumeDialog, getBackButton, getDismissControlTime, getEnlargeImageRes, getFullscreenButton, getSeekRatio, getShrinkImageRes, getStartButton, getThumbImageView, getThumbImageViewLayout, getTitleTextView, hideAllWidget, initUIState, isHideKey, isNeedLockFull, isNeedShowWifiTip, isShowDragProgressTextOnSeekBar, isShowNetConfirm, isTouchWiget, isTouchWigetFull, loopSetProgressAndTime, onAutoCompletion, onBrightnessSlide, onBufferingUpdate, onClick, onClickUiToggle, onDetachedFromWindow, onError, onProgressChanged, onStartTrackingTouch, onStopTrackingTouch, onTouch, prepareVideo, resetProgressAndTime, resolveThumbImage, resolveUIState, setDismissControlTime, setEnlargeImageRes, setGSYVideoProgressListener, setHideKey, setIsTouchWiget, setIsTouchWigetFull, setLockClickListener, setNeedLockFull, setNeedShowWifiTip, setProgressAndTime, setSecondaryProgress, setSeekRatio, setShowDragProgressTextOnSeekBar, setShrinkImageRes, setSmallVideoTextureView, setStateAndUi, setTextAndProgress, setTextAndProgress, setThumbImageView, setThumbPlay, setUp, setUp, setUpLazy, setViewShowState, showBrightnessDialog, showDragProgressTextOnSeekBar, showProgressDialog, showVolumeDialog, showWifiDialog, startDismissControlViewTimer, startProgressTimer, touchDoubleUp, touchLongPress, touchSurfaceDown, touchSurfaceMove, touchSurfaceMoveFullLogic, touchSurfaceUpbackFromFull, clearCurrentCache, createNetWorkState, deleteCacheFileWhenError, getActivityContext, getBuffterPoint, getCurrentPositionWhenPlaying, getCurrentState, getCurrentVideoHeight, getCurrentVideoWidth, getDuration, getGSYVideoManager, getLayoutId, getMapHeadData, getNetSpeed, getNetSpeedText, getOverrideExtension, getPlayPosition, getPlayTag, getSeekOnStart, getSpeed, getVideoSarDen, getVideoSarNum, initInflate, isCurrentMediaListener, isIfCurrentIsFullscreen, isInPlayingState, isLooping, isReleaseWhenLossAudio, isShowPauseCover, isStartAfterPrepared, listenerNetWorkState, netWorkErrorLogic, onCompletion, onGankAudio, onLossAudio, onLossTransientAudio, onLossTransientCanDuck, onSeekComplete, onVideoPause, onVideoReset, onVideoResume, onVideoResume, onVideoSizeChanged, release, releaseNetWorkState, releasePauseCover, releaseSurface, releaseVideos, seekTo, setDisplay, setIfCurrentIsFullscreen, setLooping, setMapHeadData, setOverrideExtension, setPlayPosition, setPlayTag, setReleaseWhenLossAudio, setSeekOnStart, setShowPauseCover, setSpeed, setSpeed, setSpeedPlaying, setStartAfterPrepared, setUp, setUp, setVideoAllCallBack, showPauseCover, startAfterPrepared, startButtonLogic, startPlayLogic, startPrepare, unListenerNetWorkState, updatePauseCoveraddTextureView, changeTextureViewShowType, getEffectFilter, getRenderProxy, getTextureParams, initCover, onSurfaceAvailable, onSurfaceDestroyed, onSurfaceSizeChanged, onSurfaceUpdated, pauseLogic, setCustomGLRenderer, setEffectFilter, setGLRenderMode, setMatrixGLcheckLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, onLayout, onMeasure, setForegroundGravity, setMeasureAllChildren, shouldDelayChildPressedStateaddChildrenForAccessibility, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayoutaddExtraDataToAccessibilityNodeInfo, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getApplicationWindowToken, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getImportantForAutofill, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideStructure, onProvideVirtualStructure, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForeground, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateListAnimator, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionName, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDrawclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcanResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayoutprotected int mSystemUiVisibility
protected int[] mListItemRect
protected int[] mListItemSize
protected boolean mActionBar
protected boolean mStatusBar
protected boolean mShowFullAnimation
protected boolean mRotateViewAuto
protected boolean mRotateWithSystem
protected boolean mLockLand
protected boolean mAutoFullWithSize
protected boolean isNeedAutoAdaptation
protected boolean mFullAnimEnd
protected android.view.View mSmallClose
protected OrientationUtils mOrientationUtils
protected android.view.View.OnClickListener mBackFromFullScreenListener
protected android.os.Handler mInnerHandler
protected java.lang.Runnable mCheckoutTask
public GSYBaseVideoPlayer(android.content.Context context,
java.lang.Boolean fullFlag)
public GSYBaseVideoPlayer(android.content.Context context)
public GSYBaseVideoPlayer(android.content.Context context,
android.util.AttributeSet attrs)
public GSYBaseVideoPlayer(android.content.Context context,
android.util.AttributeSet attrs,
int defStyleAttr)
protected void init(android.content.Context context)
init 在类中 GSYVideoControlViewpublic void onBackFullscreen()
protected void setSmallVideoTextureView()
protected void lockTouchLogic()
lockTouchLogic 在类中 GSYVideoControlViewpublic void onPrepared()
onPrepared 在接口中 GSYMediaPlayerListeneronPrepared 在类中 GSYVideoControlViewpublic void onInfo(int what,
int extra)
onInfo 在接口中 GSYMediaPlayerListeneronInfo 在类中 GSYVideoViewprotected void cloneParams(GSYBaseVideoPlayer from, GSYBaseVideoPlayer to)
from - to - protected void resolveFullVideoShow(android.content.Context context,
GSYBaseVideoPlayer gsyVideoPlayer,
android.widget.FrameLayout frameLayout)
protected void resolveNormalVideoShow(android.view.View oldF,
android.view.ViewGroup vp,
GSYVideoPlayer gsyVideoPlayer)
protected void clearFullscreenLayout()
protected void backToNormal()
protected void checkoutState()
protected boolean isVerticalVideo()
protected boolean isLockLandByAutoFullSize()
protected void checkAutoFullSizeWhenFull()
protected abstract int getFullId()
protected abstract int getSmallId()
public boolean isVerticalFullByVideoSize()
public void onConfigurationChanged(android.app.Activity activity,
android.content.res.Configuration newConfig,
OrientationUtils orientationUtils)
activity - 页面newConfig - 配置orientationUtils - 旋转工具类public void onConfigurationChanged(android.app.Activity activity,
android.content.res.Configuration newConfig,
OrientationUtils orientationUtils,
boolean hideActionBar,
boolean hideStatusBar)
activity - 页面newConfig - 配置orientationUtils - 旋转工具类hideActionBar - 是否隐藏actionbarhideStatusBar - 是否隐藏statusbarpublic OrientationOption getOrientationOption()
public GSYBaseVideoPlayer startWindowFullscreen(android.content.Context context, boolean actionBar, boolean statusBar)
context - actionBar - 是否有actionBar,有的话需要隐藏statusBar - 是否有状态bar,有的话需要隐藏public GSYBaseVideoPlayer showSmallVideo(android.graphics.Point size, boolean actionBar, boolean statusBar)
public void hideSmallVideo()
public boolean isShowFullAnimation()
public void setShowFullAnimation(boolean showFullAnimation)
showFullAnimation - 是否使用全屏动画效果public boolean isRotateViewAuto()
public void setRotateViewAuto(boolean rotateViewAuto)
public boolean isLockLand()
public void setLockLand(boolean lockLand)
public boolean isRotateWithSystem()
public void setRotateWithSystem(boolean rotateWithSystem)
rotateWithSystem - 默认truepublic GSYVideoPlayer getFullWindowPlayer()
public GSYVideoPlayer getSmallWindowPlayer()
public GSYBaseVideoPlayer getCurrentPlayer()
public void setBackFromFullScreenListener(android.view.View.OnClickListener backFromFullScreenListener)
public void setFullHideActionBar(boolean actionBar)
public void setFullHideStatusBar(boolean statusBar)
public boolean isFullHideActionBar()
public boolean isFullHideStatusBar()
public int getSaveBeforeFullSystemUiVisibility()
public void setSaveBeforeFullSystemUiVisibility(int systemUiVisibility)
public boolean isAutoFullWithSize()
public void setAutoFullWithSize(boolean autoFullWithSize)
autoFullWithSize - 默认falsepublic boolean isNeedAutoAdaptation()
public void setNeedAutoAdaptation(boolean needAutoAdaptation)
needAutoAdaptation - 默认falsepublic boolean isOnlyRotateLand()
public void setOnlyRotateLand(boolean onlyRotateLand)
protected void checkAutoFullWithSizeAndAdaptation(GSYBaseVideoPlayer gsyVideoPlayer)
gsyVideoPlayer - 将要显示的播放器对象protected void autoAdaptation()