Package com.qingcloud.vod.player
Class QCPlayerView
- java.lang.Object
-
- android.view.View
-
- android.view.ViewGroup
-
- android.widget.FrameLayout
-
- com.qingcloud.vod.player.QCPlayerView
-
- All Implemented Interfaces:
android.graphics.drawable.Drawable.Callback,android.view.accessibility.AccessibilityEventSource,android.view.KeyEvent.Callback,android.view.ViewManager,android.view.ViewParent,IQCBasicMediaPlayerControl,IQCMediaPlayerControl
public class QCPlayerView extends android.widget.FrameLayout implements IQCBasicMediaPlayerControl, IQCMediaPlayerControl
The type Qc player view.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceQCPlayerView.TinyWindowEventListenerThe interface Tiny window event listener.-
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 static intMODE_FULL_SCREEN全屏模式static intMODE_NORMAL普通模式static intMODE_TINY_WINDOW小窗口模式-
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 QCPlayerView(android.content.Context context)Instantiates a new Qc player view.QCPlayerView(android.content.Context context, android.util.AttributeSet attrs)Instantiates a new Qc player view.QCPlayerView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)Instantiates a new Qc player view.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanPause()Can pause boolean.booleancanSeekBackward()Can seek backward boolean.booleancanSeekForward()Can seek forward boolean.voidchangeItemUrls(int index)切换item里的播放地址voidenableCodec(boolean enable)开启或关闭硬解码voidenterFullScreen()全屏,将mContainer(内部包含mTextureView和mController)从当前容器中移除,并添加到android.R.content中.voidenterTinyWindow()进入小窗口模式booleanexitFullScreen()退出全屏,移除mTextureView和mController,并添加到非全屏的容器中。 切换竖屏时需要在manifest的activity标签下添加android:configChanges="orientation|keyboardHidden|screenSize"配置, 以避免Activity重新走生命周期.booleanexitTinyWindow()退出小窗口模式intgetBufferPercentage()Gets buffer percentage.intgetCurrentPosition()Gets current position.intgetDuration()Gets duration.android.graphics.BitmapgetFrameScreenShot()获取当前帧的截图intgetMaxVolume()获取最大音量floatgetSpeed(float speed)获取播放速度longgetTcpSpeed()获取网络加载速度intgetVolume()获取当前音量booleanisBufferingPaused()Is buffering paused boolean.booleanisBufferingPlaying()Is buffering playing boolean.booleanisCodecEnable()是否开启了硬解码booleanisCompleted()Is completed boolean.booleanisError()Is error boolean.booleanisFullScreen()以下3个方法是播放器的模式booleanisIdle()以下9个方法是播放器在当前的播放状态booleanisLockScreen()当前屏幕是否保持常亮booleanisNormal()Is normal boolean.booleanisPaused()Is paused boolean.booleanisPlaying()Is playing boolean.booleanisPrepared()Is prepared boolean.booleanisPreparing()Is preparing boolean.booleanisTinyWindow()Is tiny window boolean.voidlockScreen()锁定当前屏幕并保持常亮voidpause()Pause.voidplay()Play.intplayerItemPlayIndex()获取item里的正在播放的索引java.util.List<QCPlayerURL>playerItemUrls()获取item里的地址列表voidplayWithItem(QCPlayerItem item)Play with item.voidplayWithUrl(java.lang.String url)Play with url.voidrelease(boolean cleartargetstate)Release.voidrestart()重新播放,播放器被暂停、播放错误、播放完成后,需要调用此方法重新播放voidseekTo(long ms)Seek to.voidsetMediaController(IQCMediaController controller)Sets media controller.voidsetOnTinyWindowEventListener(QCPlayerView.TinyWindowEventListener l)Register a callback to monitor FloatWindow EventvoidsetSpeed(float speed)设置播放速度,目前只有IjkPlayer有效果,原生MediaPlayer暂不支持voidsetTitle(java.lang.String title)Sets title.voidsetVolume(int volume)设置音量voidstart(long position)从指定的位置开始播放voidunlockScreen()解锁当前屏幕常亮状态-
Methods inherited from class android.widget.FrameLayout
checkLayoutParams, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getConsiderGoneChildrenWhenMeasuring, getMeasureAllChildren, onLayout, onMeasure, 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, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, onInterceptHoverEvent, 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, setWindowInsetsAnimationCallback, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
-
Methods inherited from class android.view.View
addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, 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, onSizeChanged, onStartTemporaryDetach, onTouchEvent, 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, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
-
-
-
-
Field Detail
-
MODE_NORMAL
public static final int MODE_NORMAL
普通模式- See Also:
- Constant Field Values
-
MODE_FULL_SCREEN
public static final int MODE_FULL_SCREEN
全屏模式- See Also:
- Constant Field Values
-
MODE_TINY_WINDOW
public static final int MODE_TINY_WINDOW
小窗口模式- See Also:
- Constant Field Values
-
-
Constructor Detail
-
QCPlayerView
public QCPlayerView(android.content.Context context)
Instantiates a new Qc player view.- Parameters:
context- the context
-
QCPlayerView
public QCPlayerView(android.content.Context context, android.util.AttributeSet attrs)Instantiates a new Qc player view.- Parameters:
context- the contextattrs- the attrs
-
QCPlayerView
public QCPlayerView(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)Instantiates a new Qc player view.- Parameters:
context- the contextattrs- the attrsdefStyleAttr- the def style attr
-
-
Method Detail
-
playWithUrl
public void playWithUrl(java.lang.String url)
Play with url.- Parameters:
url- the url
-
playWithItem
public void playWithItem(QCPlayerItem item)
Play with item.- Parameters:
item- the item
-
setMediaController
public void setMediaController(@Nullable IQCMediaController controller)Sets media controller.- Parameters:
controller- the controller
-
release
public void release(boolean cleartargetstate)
Release.- Parameters:
cleartargetstate- the cleartargetstate
-
play
public void play()
Description copied from interface:IQCBasicMediaPlayerControlPlay.- Specified by:
playin interfaceIQCBasicMediaPlayerControl
-
pause
public void pause()
Description copied from interface:IQCBasicMediaPlayerControlPause.- Specified by:
pausein interfaceIQCBasicMediaPlayerControl
-
getDuration
public int getDuration()
Description copied from interface:IQCBasicMediaPlayerControlGets duration.- Specified by:
getDurationin interfaceIQCBasicMediaPlayerControl- Returns:
- the duration
-
getCurrentPosition
public int getCurrentPosition()
Description copied from interface:IQCBasicMediaPlayerControlGets current position.- Specified by:
getCurrentPositionin interfaceIQCBasicMediaPlayerControl- Returns:
- the current position
-
seekTo
public void seekTo(long ms)
Description copied from interface:IQCBasicMediaPlayerControlSeek to.- Specified by:
seekToin interfaceIQCBasicMediaPlayerControl- Parameters:
ms- the ms
-
isIdle
public boolean isIdle()
Description copied from interface:IQCBasicMediaPlayerControl以下9个方法是播放器在当前的播放状态- Specified by:
isIdlein interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isPreparing
public boolean isPreparing()
Description copied from interface:IQCBasicMediaPlayerControlIs preparing boolean.- Specified by:
isPreparingin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isPrepared
public boolean isPrepared()
Description copied from interface:IQCBasicMediaPlayerControlIs prepared boolean.- Specified by:
isPreparedin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isBufferingPlaying
public boolean isBufferingPlaying()
Description copied from interface:IQCBasicMediaPlayerControlIs buffering playing boolean.- Specified by:
isBufferingPlayingin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isBufferingPaused
public boolean isBufferingPaused()
Description copied from interface:IQCBasicMediaPlayerControlIs buffering paused boolean.- Specified by:
isBufferingPausedin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isPlaying
public boolean isPlaying()
Description copied from interface:IQCBasicMediaPlayerControlIs playing boolean.- Specified by:
isPlayingin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isPaused
public boolean isPaused()
Description copied from interface:IQCBasicMediaPlayerControlIs paused boolean.- Specified by:
isPausedin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isError
public boolean isError()
Description copied from interface:IQCBasicMediaPlayerControlIs error boolean.- Specified by:
isErrorin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
isCompleted
public boolean isCompleted()
Description copied from interface:IQCBasicMediaPlayerControlIs completed boolean.- Specified by:
isCompletedin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
getBufferPercentage
public int getBufferPercentage()
Description copied from interface:IQCBasicMediaPlayerControlGets buffer percentage.- Specified by:
getBufferPercentagein interfaceIQCBasicMediaPlayerControl- Returns:
- the buffer percentage
-
canPause
public boolean canPause()
Description copied from interface:IQCBasicMediaPlayerControlCan pause boolean.- Specified by:
canPausein interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
canSeekBackward
public boolean canSeekBackward()
Description copied from interface:IQCBasicMediaPlayerControlCan seek backward boolean.- Specified by:
canSeekBackwardin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
canSeekForward
public boolean canSeekForward()
Description copied from interface:IQCBasicMediaPlayerControlCan seek forward boolean.- Specified by:
canSeekForwardin interfaceIQCBasicMediaPlayerControl- Returns:
- the boolean
-
start
public void start(long position)
Description copied from interface:IQCBasicMediaPlayerControl从指定的位置开始播放- Specified by:
startin interfaceIQCBasicMediaPlayerControl- Parameters:
position- 播放位置
-
restart
public void restart()
Description copied from interface:IQCBasicMediaPlayerControl重新播放,播放器被暂停、播放错误、播放完成后,需要调用此方法重新播放- Specified by:
restartin interfaceIQCBasicMediaPlayerControl
-
setVolume
public void setVolume(int volume)
Description copied from interface:IQCMediaPlayerControl设置音量- Specified by:
setVolumein interfaceIQCMediaPlayerControl- Parameters:
volume- 音量值
-
setSpeed
public void setSpeed(float speed)
Description copied from interface:IQCMediaPlayerControl设置播放速度,目前只有IjkPlayer有效果,原生MediaPlayer暂不支持- Specified by:
setSpeedin interfaceIQCMediaPlayerControl- Parameters:
speed- 播放速度
-
isFullScreen
public boolean isFullScreen()
Description copied from interface:IQCMediaPlayerControl以下3个方法是播放器的模式- Specified by:
isFullScreenin interfaceIQCMediaPlayerControl- Returns:
- the boolean
-
isTinyWindow
public boolean isTinyWindow()
Description copied from interface:IQCMediaPlayerControlIs tiny window boolean.- Specified by:
isTinyWindowin interfaceIQCMediaPlayerControl- Returns:
- the boolean
-
isNormal
public boolean isNormal()
Description copied from interface:IQCMediaPlayerControlIs normal boolean.- Specified by:
isNormalin interfaceIQCMediaPlayerControl- Returns:
- the boolean
-
getMaxVolume
public int getMaxVolume()
Description copied from interface:IQCMediaPlayerControl获取最大音量- Specified by:
getMaxVolumein interfaceIQCMediaPlayerControl- Returns:
- 最大音量值 max volume
-
getVolume
public int getVolume()
Description copied from interface:IQCMediaPlayerControl获取当前音量- Specified by:
getVolumein interfaceIQCMediaPlayerControl- Returns:
- 当前音量值 volume
-
getFrameScreenShot
public android.graphics.Bitmap getFrameScreenShot()
Description copied from interface:IQCMediaPlayerControl获取当前帧的截图- Specified by:
getFrameScreenShotin interfaceIQCMediaPlayerControl- Returns:
- 当前帧截图 frame screen shot
-
getSpeed
public float getSpeed(float speed)
Description copied from interface:IQCMediaPlayerControl获取播放速度- Specified by:
getSpeedin interfaceIQCMediaPlayerControl- Parameters:
speed- 播放速度- Returns:
- 播放速度 speed
-
getTcpSpeed
public long getTcpSpeed()
Description copied from interface:IQCMediaPlayerControl获取网络加载速度- Specified by:
getTcpSpeedin interfaceIQCMediaPlayerControl- Returns:
- 网络加载速度 tcp speed
-
lockScreen
public void lockScreen()
Description copied from interface:IQCMediaPlayerControl锁定当前屏幕并保持常亮- Specified by:
lockScreenin interfaceIQCMediaPlayerControl
-
unlockScreen
public void unlockScreen()
Description copied from interface:IQCMediaPlayerControl解锁当前屏幕常亮状态- Specified by:
unlockScreenin interfaceIQCMediaPlayerControl
-
isLockScreen
public boolean isLockScreen()
Description copied from interface:IQCMediaPlayerControl当前屏幕是否保持常亮- Specified by:
isLockScreenin interfaceIQCMediaPlayerControl- Returns:
- 当前屏幕是否保持常亮 boolean
-
enableCodec
public void enableCodec(boolean enable)
Description copied from interface:IQCMediaPlayerControl开启或关闭硬解码- Specified by:
enableCodecin interfaceIQCMediaPlayerControl- Parameters:
enable- 是否开启
-
isCodecEnable
public boolean isCodecEnable()
Description copied from interface:IQCMediaPlayerControl是否开启了硬解码- Specified by:
isCodecEnablein interfaceIQCMediaPlayerControl- Returns:
- 是否开启了硬解码 boolean
-
changeItemUrls
public void changeItemUrls(int index)
Description copied from interface:IQCMediaPlayerControl切换item里的播放地址- Specified by:
changeItemUrlsin interfaceIQCMediaPlayerControl- Parameters:
index- 地址索引
-
playerItemUrls
public java.util.List<QCPlayerURL> playerItemUrls()
Description copied from interface:IQCMediaPlayerControl获取item里的地址列表- Specified by:
playerItemUrlsin interfaceIQCMediaPlayerControl- Returns:
- item里的地址列表 list
-
playerItemPlayIndex
public int playerItemPlayIndex()
Description copied from interface:IQCMediaPlayerControl获取item里的正在播放的索引- Specified by:
playerItemPlayIndexin interfaceIQCMediaPlayerControl- Returns:
- item里的地址列表 int
-
enterFullScreen
public void enterFullScreen()
全屏,将mContainer(内部包含mTextureView和mController)从当前容器中移除,并添加到android.R.content中. 切换横屏时需要在manifest的activity标签下添加android:configChanges="orientation|keyboardHidden|screenSize"配置, 以避免Activity重新走生命周期- Specified by:
enterFullScreenin interfaceIQCMediaPlayerControl
-
exitFullScreen
public boolean exitFullScreen()
退出全屏,移除mTextureView和mController,并添加到非全屏的容器中。 切换竖屏时需要在manifest的activity标签下添加android:configChanges="orientation|keyboardHidden|screenSize"配置, 以避免Activity重新走生命周期.- Specified by:
exitFullScreenin interfaceIQCMediaPlayerControl- Returns:
- true退出全屏.
-
enterTinyWindow
public void enterTinyWindow()
Description copied from interface:IQCMediaPlayerControl进入小窗口模式- Specified by:
enterTinyWindowin interfaceIQCMediaPlayerControl
-
exitTinyWindow
public boolean exitTinyWindow()
Description copied from interface:IQCMediaPlayerControl退出小窗口模式- Specified by:
exitTinyWindowin interfaceIQCMediaPlayerControl- Returns:
- true 退出小窗口
-
setOnTinyWindowEventListener
public void setOnTinyWindowEventListener(QCPlayerView.TinyWindowEventListener l)
Register a callback to monitor FloatWindow Event- Parameters:
l- The callback that will be run
-
setTitle
public void setTitle(java.lang.String title)
Sets title.- Parameters:
title- the title
-
-