Skip to content
This repository has been archived by the owner on Aug 9, 2022. It is now read-only.
Nathen edited this page Sep 25, 2018 · 57 revisions

饺子视频播放器是高度自定义的安卓视频播放器,让大家快速集成视频播放功能。

一. 使用步骤

  1. 通读ReadMe
  2. 下载安装demo,各个页面都进入一次,各个按钮都点一次
  3. 下载调试develop分支,有针对性的通过效果找到实现的源码
  4. 看自定义相关的WIKI,实现自己的需求

二. 自定义JZVD

工作中的需求多种多样,不可能demo中都包含,我们可以通过继承jzvdStd,来实现任何我们想要的Ui和功能。

首先要继承JzvdStd!首先要继承JzvdStd!首先要继承JzvdStd 不要给JzvdStd设置Listener(如myJzvdStd.setStartListener(Listener))

1. 了解播放器的状态

继承JzvdStd之后,可以通过父类的mCurrentState,取得当前的播放状态。

  • CURRENT_STATE_IDLE 未知状态,指控件被new出来之后什么都没做
  • CURRENT_STATE_NORMAL 普通状态
  • CURRENT_STATE_PREPARING 视频准备状态
  • CURRENT_STATE_PREPARING_CHANGING_URL 播放中切换url的准备状态
  • CURRENT_STATE_PLAYING 播放中状态
  • CURRENT_STATE_PAUSE 暂停状态
  • CURRENT_STATE_AUTO_COMPLETE 自动播放完成状态
  • CURRENT_STATE_ERROR 错误状态

复写进入播放状态的函数,取得播放状态的回调

  • onStateNormal 进入普通状态,通常指setUp之后
  • onStatePreparing 进入准备中状态,就是loading状态
  • onStatePlaying 进入播放状态
  • onStatePause 进入暂停状态
  • onStateError 进入错误状态
  • onStateAutoComplete 进入自动播放完成状态

2. 了解当前屏幕类型

全屏、小窗、非全屏分别是不同的实例,在继承JzvdStd后,通过mCurrentScreen变量,取得当前屏幕类型

  • SCREEN_WINDOW_NORMAL 普通窗口(进入全屏之前的)
  • SCREEN_WINDOW_LIST 列表窗口(进入全屏之前)
  • SCREEN_WINDOW_FULLSCREEN 全屏
  • SCREEN_WINDOW_TINY 小窗

3. 事件

  • 复写onProgress函数,取得每次播放器设置底部seekBar的进度回调
  • 调用changeUrl函数,切换url
  • 复写onClick函数,取得各种按钮的点击事件
  • 复写onTouch函数,取得全屏之后的手势操作

四. 支持

Reward