public abstract class GSYVideoView extends GSYTextureRenderView implements GSYMediaPlayerListener
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| 限定符和类型 | 字段和说明 |
|---|---|
static int |
CHANGE_DELAY_TIME |
static int |
CURRENT_STATE_AUTO_COMPLETE |
static int |
CURRENT_STATE_ERROR |
static int |
CURRENT_STATE_NORMAL |
static int |
CURRENT_STATE_PAUSE |
static int |
CURRENT_STATE_PLAYING |
static int |
CURRENT_STATE_PLAYING_BUFFERING_START |
static int |
CURRENT_STATE_PREPAREING |
protected android.media.AudioManager |
mAudioManager |
protected int |
mBackUpPlayingBufferState |
protected int |
mBufferPoint |
protected boolean |
mCache |
protected java.io.File |
mCachePath |
protected android.content.Context |
mContext |
protected long |
mCurrentPosition |
protected int |
mCurrentState |
protected boolean |
mHadPlay |
protected boolean |
mHadPrepared |
protected boolean |
mIfCurrentIsFullscreen |
protected boolean |
mLooping |
protected java.util.Map<java.lang.String,java.lang.String> |
mMapHeadData |
protected boolean |
mNetChanged |
protected NetInfoModule |
mNetInfoModule |
protected java.lang.String |
mNetSate |
protected java.lang.String |
mOriginUrl |
protected java.lang.String |
mOverrideExtension |
protected boolean |
mPauseBeforePrepared |
protected int |
mPlayPosition |
protected java.lang.String |
mPlayTag |
protected boolean |
mReleaseWhenLossAudio |
protected long |
mSaveChangeViewTIme |
protected int |
mScreenHeight |
protected int |
mScreenWidth |
protected long |
mSeekOnStart |
protected boolean |
mShowPauseCover |
protected boolean |
mSoundTouch |
protected float |
mSpeed |
protected boolean |
mStartAfterPrepared |
protected java.lang.String |
mTitle |
protected java.lang.String |
mUrl |
protected VideoAllCallBack |
mVideoAllCallBack |
protected android.media.AudioManager.OnAudioFocusChangeListener |
onAudioFocusChangeListener
监听是否有外部其他多媒体开始播放
|
mEffectFilter, 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| 构造器和说明 |
|---|
GSYVideoView(android.content.Context context) |
GSYVideoView(android.content.Context context,
android.util.AttributeSet attrs) |
GSYVideoView(android.content.Context context,
android.util.AttributeSet attrs,
int defStyleAttr) |
GSYVideoView(android.content.Context context,
java.lang.Boolean fullFlag) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected abstract boolean |
backFromFull(android.content.Context context)
退出全屏
|
void |
clearCurrentCache()
清除当前缓存
|
protected void |
createNetWorkState()
创建网络监听
|
protected void |
deleteCacheFileWhenError()
播放错误的时候,删除缓存文件
|
protected android.content.Context |
getActivityContext() |
int |
getBuffterPoint()
缓冲进度/缓存进度
|
int |
getCurrentPositionWhenPlaying()
获取当前播放进度
|
int |
getCurrentState()
获取当前播放状态
|
int |
getCurrentVideoHeight() |
int |
getCurrentVideoWidth() |
int |
getDuration()
获取当前总时长
|
abstract GSYVideoViewBridge |
getGSYVideoManager()
获取管理器桥接的实现
|
abstract int |
getLayoutId()
当前UI
|
java.util.Map<java.lang.String,java.lang.String> |
getMapHeadData() |
long |
getNetSpeed()
网络速度
注意,这里如果是开启了缓存,因为读取本地代理,缓存成功后还是存在速度的
再打开已经缓存的本地文件,网络速度才会回0.因为是播放本地文件了
|
java.lang.String |
getNetSpeedText()
网络速度
注意,这里如果是开启了缓存,因为读取本地代理,缓存成功后还是存在速度的
再打开已经缓存的本地文件,网络速度才会回0.因为是播放本地文件了
|
java.lang.String |
getOverrideExtension() |
int |
getPlayPosition() |
java.lang.String |
getPlayTag()
播放tag防止错误,因为普通的url也可能重复
|
long |
getSeekOnStart() |
float |
getSpeed() |
int |
getVideoSarDen() |
int |
getVideoSarNum() |
protected void |
init(android.content.Context context) |
protected void |
initInflate(android.content.Context context) |
protected boolean |
isCurrentMediaListener() |
boolean |
isIfCurrentIsFullscreen()
是否全屏
|
boolean |
isInPlayingState()
根据状态判断是否播放中
|
boolean |
isLooping() |
boolean |
isReleaseWhenLossAudio() |
boolean |
isShowPauseCover() |
boolean |
isStartAfterPrepared() |
protected void |
listenerNetWorkState()
监听网络状态
|
protected void |
netWorkErrorLogic()
处理因切换网络而导致的问题
|
void |
onAutoCompletion() |
void |
onCompletion() |
void |
onError(int what,
int extra) |
protected void |
onGankAudio()
获得了Audio Focus
|
void |
onInfo(int what,
int extra) |
protected void |
onLossAudio()
失去了Audio Focus,并将会持续很长的时间
|
protected void |
onLossTransientAudio()
暂时失去Audio Focus,并会很快再次获得
|
protected void |
onLossTransientCanDuck()
暂时失去AudioFocus,但是可以继续播放,不过要在降低音量
|
void |
onPrepared() |
void |
onSeekComplete() |
void |
onVideoPause()
暂停状态
|
void |
onVideoReset()
重置
|
void |
onVideoResume()
恢复暂停状态
|
void |
onVideoResume(boolean seek)
恢复暂停状态
|
void |
onVideoSizeChanged() |
protected void |
prepareVideo()
开始状态视频播放
|
void |
release()
释放吧
|
protected void |
releaseNetWorkState()
释放网络监听
|
protected void |
releasePauseCover() |
protected void |
releaseSurface(android.view.Surface surface) |
protected abstract void |
releaseVideos()
释放播放器
|
void |
seekTo(long position)
seekto what you want
|
protected void |
setDisplay(android.view.Surface surface) |
void |
setIfCurrentIsFullscreen(boolean ifCurrentIsFullscreen) |
void |
setLooping(boolean looping)
设置循环
|
void |
setMapHeadData(java.util.Map<java.lang.String,java.lang.String> headData)
单独设置mapHeader
|
void |
setOverrideExtension(java.lang.String overrideExtension)
是否需要覆盖拓展类型,目前只针对exoPlayer内核模式有效
|
void |
setPlayPosition(int playPosition)
设置播放位置防止错位
|
void |
setPlayTag(java.lang.String playTag)
播放tag防止错误,因为普通的url也可能重复
|
void |
setReleaseWhenLossAudio(boolean releaseWhenLossAudio)
长时间失去音频焦点,暂停播放器
|
void |
setSeekOnStart(long seekOnStart)
从哪里开始播放
目前有时候前几秒有跳动问题,毫秒
需要在startPlayLogic之前,即播放开始之前
|
void |
setShowPauseCover(boolean showPauseCover)
是否需要加载显示暂停的cover图片
打开状态下,暂停退到后台,再回到前台不会显示黑屏,但可以对某些机型有概率出现OOM
关闭情况下,暂停退到后台,再回到前台显示黑屏
|
void |
setSpeed(float speed)
播放速度
|
void |
setSpeed(float speed,
boolean soundTouch)
播放速度
|
void |
setSpeedPlaying(float speed,
boolean soundTouch)
播放中生效的播放数据
|
void |
setStartAfterPrepared(boolean startAfterPrepared)
准备成功之后立即播放
|
protected abstract void |
setStateAndUi(int state)
设置播放显示状态
|
boolean |
setUp(java.lang.String url,
boolean cacheWithPlay,
java.io.File cachePath,
java.util.Map<java.lang.String,java.lang.String> mapHeadData,
java.lang.String title)
设置播放URL
|
boolean |
setUp(java.lang.String url,
boolean cacheWithPlay,
java.io.File cachePath,
java.lang.String title)
设置播放URL
|
protected boolean |
setUp(java.lang.String url,
boolean cacheWithPlay,
java.io.File cachePath,
java.lang.String title,
boolean changeState)
设置播放URL
|
boolean |
setUp(java.lang.String url,
boolean cacheWithPlay,
java.lang.String title)
设置播放URL
|
void |
setVideoAllCallBack(VideoAllCallBack mVideoAllCallBack)
设置播放过程中的回调
|
protected void |
showPauseCover() |
void |
startAfterPrepared()
prepared成功之后会开始播放
|
protected void |
startButtonLogic()
开始播放逻辑
|
abstract void |
startPlayLogic()
开始播放
|
protected void |
startPrepare() |
protected void |
unListenerNetWorkState()
取消网络监听
|
protected void |
updatePauseCover() |
addTextureView, changeTextureViewShowType, getEffectFilter, getRenderProxy, getTextureParams, initCover, onSurfaceAvailable, onSurfaceDestroyed, onSurfaceSizeChanged, onSurfaceUpdated, pauseLogic, setCustomGLRenderer, setEffectFilter, setGLRenderMode, setMatrixGL, setSmallVideoTextureView, setSmallVideoTextureViewcheckLayoutParams, 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, onDetachedFromWindow, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, updateViewLayoutaddExtraDataToAccessibilityNodeInfo, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, 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, waitonBackFullscreen, onBufferingUpdatecanResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayoutpublic static final int CURRENT_STATE_NORMAL
public static final int CURRENT_STATE_PREPAREING
public static final int CURRENT_STATE_PLAYING
public static final int CURRENT_STATE_PLAYING_BUFFERING_START
public static final int CURRENT_STATE_PAUSE
public static final int CURRENT_STATE_AUTO_COMPLETE
public static final int CURRENT_STATE_ERROR
public static final int CHANGE_DELAY_TIME
protected int mCurrentState
protected int mPlayPosition
protected int mScreenWidth
protected int mScreenHeight
protected int mBufferPoint
protected int mBackUpPlayingBufferState
protected long mSeekOnStart
protected long mCurrentPosition
protected long mSaveChangeViewTIme
protected float mSpeed
protected boolean mCache
protected boolean mIfCurrentIsFullscreen
protected boolean mLooping
protected boolean mHadPlay
protected boolean mNetChanged
protected boolean mSoundTouch
protected boolean mShowPauseCover
protected boolean mPauseBeforePrepared
protected boolean mStartAfterPrepared
protected boolean mHadPrepared
protected boolean mReleaseWhenLossAudio
protected android.media.AudioManager mAudioManager
protected java.lang.String mPlayTag
protected android.content.Context mContext
protected java.lang.String mOriginUrl
protected java.lang.String mUrl
protected java.lang.String mTitle
protected java.lang.String mNetSate
protected java.lang.String mOverrideExtension
protected java.io.File mCachePath
protected VideoAllCallBack mVideoAllCallBack
protected java.util.Map<java.lang.String,java.lang.String> mMapHeadData
protected NetInfoModule mNetInfoModule
protected android.media.AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener
public GSYVideoView(android.content.Context context)
public GSYVideoView(android.content.Context context,
android.util.AttributeSet attrs)
public GSYVideoView(android.content.Context context,
android.util.AttributeSet attrs,
int defStyleAttr)
public GSYVideoView(android.content.Context context,
java.lang.Boolean fullFlag)
protected void showPauseCover()
showPauseCover 在类中 GSYTextureRenderViewprotected void releasePauseCover()
releasePauseCover 在类中 GSYTextureRenderViewpublic int getCurrentVideoWidth()
public int getCurrentVideoHeight()
public int getVideoSarNum()
public int getVideoSarDen()
protected void updatePauseCover()
protected android.content.Context getActivityContext()
protected void init(android.content.Context context)
protected void initInflate(android.content.Context context)
protected void startButtonLogic()
protected void prepareVideo()
protected void startPrepare()
protected void onGankAudio()
protected void onLossAudio()
protected void onLossTransientAudio()
protected void onLossTransientCanDuck()
public boolean setUp(java.lang.String url,
boolean cacheWithPlay,
java.lang.String title)
url - 播放urlcacheWithPlay - 是否边播边缓存title - titlepublic boolean setUp(java.lang.String url,
boolean cacheWithPlay,
java.io.File cachePath,
java.util.Map<java.lang.String,java.lang.String> mapHeadData,
java.lang.String title)
url - 播放urlcacheWithPlay - 是否边播边缓存cachePath - 缓存路径,如果是M3U8或者HLS,请设置为falsemapHeadData - 头部信息title - titlepublic boolean setUp(java.lang.String url,
boolean cacheWithPlay,
java.io.File cachePath,
java.lang.String title)
url - 播放urlcacheWithPlay - 是否边播边缓存cachePath - 缓存路径,如果是M3U8或者HLS,请设置为falsetitle - titleprotected boolean setUp(java.lang.String url,
boolean cacheWithPlay,
java.io.File cachePath,
java.lang.String title,
boolean changeState)
url - 播放urlcacheWithPlay - 是否边播边缓存cachePath - 缓存路径,如果是M3U8或者HLS,请设置为falsetitle - titlechangeState - 是否修改状态public void onVideoReset()
public void onVideoPause()
onVideoPause 在接口中 GSYMediaPlayerListenerpublic void onVideoResume()
onVideoResume 在接口中 GSYMediaPlayerListenerpublic void onVideoResume(boolean seek)
onVideoResume 在接口中 GSYMediaPlayerListenerseek - 是否产生seek动作protected void netWorkErrorLogic()
protected void deleteCacheFileWhenError()
public void onPrepared()
onPrepared 在接口中 GSYMediaPlayerListenerpublic void onAutoCompletion()
onAutoCompletion 在接口中 GSYMediaPlayerListenerpublic void onCompletion()
onCompletion 在接口中 GSYMediaPlayerListenerpublic void onSeekComplete()
onSeekComplete 在接口中 GSYMediaPlayerListenerpublic void onError(int what,
int extra)
onError 在接口中 GSYMediaPlayerListenerpublic void onInfo(int what,
int extra)
onInfo 在接口中 GSYMediaPlayerListenerpublic void onVideoSizeChanged()
onVideoSizeChanged 在接口中 GSYMediaPlayerListenerprotected void setDisplay(android.view.Surface surface)
setDisplay 在类中 GSYTextureRenderViewprotected void releaseSurface(android.view.Surface surface)
releaseSurface 在类中 GSYTextureRenderViewpublic void clearCurrentCache()
public int getCurrentPositionWhenPlaying()
public int getDuration()
public void release()
public void startAfterPrepared()
protected boolean isCurrentMediaListener()
protected void createNetWorkState()
protected void listenerNetWorkState()
protected void unListenerNetWorkState()
protected void releaseNetWorkState()
protected abstract boolean backFromFull(android.content.Context context)
protected abstract void releaseVideos()
protected abstract void setStateAndUi(int state)
state - public abstract GSYVideoViewBridge getGSYVideoManager()
public abstract int getLayoutId()
public abstract void startPlayLogic()
public int getCurrentState()
public boolean isInPlayingState()
public java.lang.String getPlayTag()
public void setPlayTag(java.lang.String playTag)
playTag - 保证不重复就好public int getPlayPosition()
public void setPlayPosition(int playPosition)
public long getNetSpeed()
public java.lang.String getNetSpeedText()
public long getSeekOnStart()
public void setSeekOnStart(long seekOnStart)
public int getBuffterPoint()
public boolean isIfCurrentIsFullscreen()
public void setIfCurrentIsFullscreen(boolean ifCurrentIsFullscreen)
public boolean isLooping()
public void setLooping(boolean looping)
public void setVideoAllCallBack(VideoAllCallBack mVideoAllCallBack)
mVideoAllCallBack - public float getSpeed()
public void setSpeed(float speed)
public void setSpeed(float speed,
boolean soundTouch)
speed - 速度soundTouch - 是否对6.0下开启变速不变调public void setSpeedPlaying(float speed,
boolean soundTouch)
speed - soundTouch - public boolean isShowPauseCover()
public void setShowPauseCover(boolean showPauseCover)
showPauseCover - 默认truepublic void seekTo(long position)
public boolean isStartAfterPrepared()
public void setStartAfterPrepared(boolean startAfterPrepared)
startAfterPrepared - 默认true,false的时候需要在prepared后调用startAfterPrepared()public boolean isReleaseWhenLossAudio()
public void setReleaseWhenLossAudio(boolean releaseWhenLossAudio)
releaseWhenLossAudio - 默认true,false的时候只会暂停public java.util.Map<java.lang.String,java.lang.String> getMapHeadData()
public void setMapHeadData(java.util.Map<java.lang.String,java.lang.String> headData)
headData - public java.lang.String getOverrideExtension()
public void setOverrideExtension(java.lang.String overrideExtension)
overrideExtension - 比如传入 m3u8,mp4,avi 等类型