源码部分从JCVideoPlayerStandard入手
JCVideoPlayerStandard是作者做了一个详细的自定义播放UI的封装,代码也是比较易懂
先来看看节操播放器经常用的setUp,setUp具有返回值,代表是否初始化过,这点从Demo中都可以看出来运用
节操播放器不允许第三个参数为不传,第三个参数目前来看[0]为标题,当然你不需要标题可以传入空字符
currentScreen很明显是当前播放器的模式,比如全屏、小屏、列表,这个变量是父类的,点进去看其实还是你传入的screen
再来看看自定义UI需要用的setUiWitStateAndScreen
都加了注释,就不做介绍,里面的逻辑无非就是对各种播放状态下对ui的操作
官方对这方法的解释官方自定义ui文档
这个类中大多方法都是在不同状态下对ui的操作
如changeUiToPlayingClear 类似于changeUiTo*******
每个对ui的操作都是对三种模式下的ui操作,这些代码用点心都能看懂,就是繁琐点
showProgressDialog方法是对滑动操作进度的回调方法, 这个类里面已经进行了很好的展示,如果要改只需要改R.layout.jc_progress_dialog即可
showVolumDialog方法是对滑动操作音量的回调,这个类也做了展示,如果要定制修改R.layout.jc_volume_dialog
=======================================================================
JCVideoPlayerStandard是封装好的视频播放界面,那如果想自己定制
只需要继承自此类,重写getLayoutId即可,切记控件id要与JCVideoPlayerStandard的保持一致。
下面给个小例子。
如果想深度定制,直接copy JCVideoPlayerStandard类,然后在里面动手脚。参考官方自定义ui文档。
这类看到这里就差不多了。改天看JCVideoPlayer更加核心的类