-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
基础Player API
Shuyu Guo edited this page May 11, 2018
·
5 revisions
/**
* 旋转处理
*
* @param activity 页面
* @param newConfig 配置
* @param orientationUtils 旋转工具类
*/
public void onConfigurationChanged(Activity activity, Configuration newConfig, OrientationUtils orientationUtils)
/**
* 全屏效果
*
* @param context
* @param actionBar 是否有actionBar,有的话需要隐藏
* @param statusBar 是否有状态bar,有的话需要隐藏
*/
public GSYBaseVideoPlayer startWindowFullscreen(final Context context, final boolean actionBar, final boolean statusBar)
/**
* 显示小窗口
*/
public GSYBaseVideoPlayer showSmallVideo(Point size, final boolean actionBar, final boolean statusBar)
/**
* 隐藏小窗口
*/
public void hideSmallVideo()
public boolean isShowFullAnimation()
/**
* 全屏动画
*
* @param showFullAnimation 是否使用全屏动画效果
*/
public void setShowFullAnimation(boolean showFullAnimation)
public boolean isRotateViewAuto()
/**
* 是否开启自动旋转
*/
public void setRotateViewAuto(boolean rotateViewAuto)
public boolean isLockLand()
/**
* 一全屏就锁屏横屏,默认false竖屏,可配合setRotateViewAuto使用
*/
public void setLockLand(boolean lockLand)
public boolean isRotateWithSystem()
/**
* 是否更新系统旋转,false的话,系统禁止旋转也会跟着旋转
*
* @param rotateWithSystem 默认true
*/
public void setRotateWithSystem(boolean rotateWithSystem)
/**
* 获取全屏播放器对象
*
* @return GSYVideoPlayer 如果没有则返回空。
*/
public GSYVideoPlayer getFullWindowPlayer()
/**
* 获取当前长在播放的播放控件
*/
public GSYBaseVideoPlayer getCurrentPlayer()
/**
* 全屏返回监听,如果设置了,默认返回动作无效
* 包含返回键和全屏返回按键,前提是这两个按键存在
*/
public void setBackFromFullScreenListener(OnClickListener backFromFullScreenListener)
/**
* 退出全屏,主要用于返回键
*
* @return 返回是否全屏
*/
@SuppressWarnings("ResourceType")
public static boolean backFromWindowFull(Context context)
/**
* 初始化为正常状态
*/
public void initUIState()
/**
* 封面布局
*/
public RelativeLayout getThumbImageViewLayout()
/***
* 设置封面
*/
public void setThumbImageView(View view)
/***
* 清除封面
*/
public void clearThumbImageView()
public View getThumbImageView()
/**
* title
*/
public TextView getTitleTextView()
/**
* 获取播放按键
*/
public View getStartButton()
/**
* 获取全屏按键
*/
public ImageView getFullscreenButton()
/**
* 获取返回按键
*/
public ImageView getBackButton()
public int getEnlargeImageRes()
/**
* 设置右下角 显示切换到全屏 的按键资源
* 必须在setUp之前设置
* 不设置使用默认
*/
public void setEnlargeImageRes(int mEnlargeImageRes)
public int getShrinkImageRes()
/**
* 设置右下角 显示退出全屏 的按键资源
* 必须在setUp之前设置
* 不设置使用默认
*/
public void setShrinkImageRes(int mShrinkImageRes)
/**
* 是否可以全屏滑动界面改变进度,声音等
* 默认 true
*/
public void setIsTouchWigetFull(boolean isTouchWigetFull)
/**
* 是否点击封面可以播放
*/
public void setThumbPlay(boolean thumbPlay)
public boolean isHideKey()
/**
* 全屏隐藏虚拟按键,默认打开
*/
public void setHideKey(boolean hideKey)
public boolean isNeedShowWifiTip()
public boolean isTouchWiget()
/**
* 是否可以滑动界面改变进度,声音等
* 默认true
*/
public void setIsTouchWiget(boolean isTouchWiget)
public boolean isTouchWigetFull()
/**
* 是否需要显示流量提示,默认true
*/
public void setNeedShowWifiTip(boolean needShowWifiTip)
/**
* 调整触摸滑动快进的比例
*
* @param seekRatio 滑动快进的比例,默认1。数值越大,滑动的产生的seek越小
*/
public void setSeekRatio(float seekRatio)
public float getSeekRatio()
public boolean isNeedLockFull()
/**
* 是否需要全屏锁定屏幕功能
* 如果单独使用请设置setIfCurrentIsFullscreen为true
*/
public void setNeedLockFull(boolean needLoadFull)
/**
* 锁屏点击
*/
public void setLockClickListener(LockClickListener lockClickListener)
/**
* 设置触摸显示控制ui的消失时间
*
* @param dismissControlTime 毫秒,默认2500
*/
public void setDismissControlTime(int dismissControlTime)
public int getDismissControlTime()
/**
* 设置自定义so包加载类,必须在setUp之前调用
* 不然setUp时会第一次实例化GSYVideoManager
*/
public void setIjkLibLoader(IjkLibLoader libLoader)
/**
* 获取当前播放状态
*/
public int getCurrentState()
/**
* 播放tag防止错误,因为普通的url也可能重复
*/
public String getPlayTag()
/**
* 播放tag防止错误,因为普通的url也可能重复
*
* @param playTag 保证不重复就好
*/
public void setPlayTag(String playTag)
public int getPlayPosition()
/**
* 设置播放位置防止错位
*/
public void setPlayPosition(int playPosition)
/**
* 网络速度
* 注意,这里如果是开启了缓存,因为读取本地代理,缓存成功后还是存在速度的
* 再打开已经缓存的本地文件,网络速度才会回0.因为是播放本地文件了
*/
public long getNetSpeed()
/**
* 网络速度
* 注意,这里如果是开启了缓存,因为读取本地代理,缓存成功后还是存在速度的
* 再打开已经缓存的本地文件,网络速度才会回0.因为是播放本地文件了
*/
public String getNetSpeedText()
public long getSeekOnStart()
/**
* 从哪里开始播放
* 目前有时候前几秒有跳动问题,毫秒
* 需要在startPlayLogic之前,即播放开始之前
*/
public void setSeekOnStart(long seekOnStart)
/**
* 缓冲进度/缓存进度
*/
public int getBuffterPoint()
/**
* 是否全屏
*/
public boolean isIfCurrentIsFullscreen()
public void setIfCurrentIsFullscreen(boolean ifCurrentIsFullscreen)
public boolean isLooping()
/**
* 设置循环
*/
public void setLooping(boolean looping)
/**
* 设置播放过程中的回调
*
* @param mVideoAllCallBack
*/
public void setVideoAllCallBack(VideoAllCallBack mVideoAllCallBack)
public float getSpeed()
/**
* 播放速度
*/
public void setSpeed(float speed)
/**
* 播放速度
*
* @param speed 速度
* @param soundTouch 是否对6.0下开启变速不变调
*/
public void setSpeed(float speed, boolean soundTouch)
/**
* 播放中生效的播放数据
*
* @param speed
* @param soundTouch
*/
public void setSpeedPlaying(float speed, boolean soundTouch)
public boolean isShowPauseCover()
/**
* 是否需要加载显示暂停的cover图片
* 打开状态下,暂停退到后台,再回到前台不会显示黑屏,但可以对某些机型有概率出现OOM
* 关闭情况下,暂停退到后台,再回到前台显示黑屏
*
* @param showPauseCover 默认true
*/
public void setShowPauseCover(boolean showPauseCover)
/**
* seekto what you want
*/
public void seekTo(long position)
public GSYVideoGLView.ShaderInterface getEffectFilter()
/**
* 获取渲染的代理层
*/
public GSYRenderView getRenderProxy()
/**
* 设置滤镜效果
*/
public void setEffectFilter(GSYVideoGLView.ShaderInterface effectFilter)
/**
* GL模式下的画面matrix效果
*
* @param matrixGL 16位长度
*/
public void setMatrixGL(float[] matrixGL)
/**
* 自定义GL的渲染render
*/
public void setCustomGLRenderer(GSYVideoGLViewBaseRender renderer)
/**
* 底部进度条-弹出的
*/
public void setBottomShowProgressBarDrawable(Drawable drawable, Drawable thumb)
/**
* 底部进度条-非弹出
*/
public void setBottomProgressBarDrawable(Drawable drawable)
/**
* 声音进度条
*/
public void setDialogVolumeProgressBar(Drawable drawable)
/**
* 中间进度条
*/
public void setDialogProgressBar(Drawable drawable)
/**
* 中间进度条字体颜色
*/
public void setDialogProgressColor(int highLightColor, int normalColor)
/**
* 获取截图
*/
public void taskShotPic(GSYVideoShotListener gsyVideoShotListener)
/**
* 获取截图
*
* @param high 是否需要高清的
*/
public void taskShotPic(GSYVideoShotListener gsyVideoShotListener, boolean high)
/**
* 保存截图
*/
public void saveFrame(final File file, GSYVideoShotSaveListener gsyVideoShotSaveListener)
/**
* 保存截图
*
* @param high 是否需要高清的
*/
public void saveFrame(final File file, final boolean high, final GSYVideoShotSaveListener gsyVideoShotSaveListener)
/**
* 进度回调
*/
public void setGSYVideoProgressListener(GSYVideoProgressListener videoProgressListener)
/**
* 在点击播放的时候才进行真正setup
*/
public boolean setUpLazy(String url, boolean cacheWithPlay, File cachePath, Map<String, String> mapHeadData, String title)
/**
* 长时间失去音频焦点,暂停播放器
*
* @param releaseWhenLossAudio 默认true,false的时候只会暂停
*/
public void setReleaseWhenLossAudio(boolean releaseWhenLossAudio)
/**
* 是否根据视频尺寸,自动选择竖屏全屏或者横屏全屏,注意,这时候默认旋转无效
* @param autoFullWithSize 默认false
*/
public void setAutoFullWithSize(boolean autoFullWithSize)