Skip to content

基础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)
Clone this wiki locally