产品文档 点播技术文档 Android 点播UI 2.0

Android点播UI SDK 2.0集成文档

changeLog

简介

带UI的点播SDK基于点播Core SDK,提供标准的UI实现,方便用户快速集成投入使用。此SDK代码开源,开发者可以自己建立分支进行开发,也欢迎给我们提issue
源码地址:http://git.baijiashilian.com/open-android/VideoplayerUI2.0Demo(master分支)

项目截图

竖屏

横屏

集成SDK

远程依赖

implementation 'com.baijia.player:VideoplayerUI:2.0.1.3'

源码依赖

1)IDE 推荐使用最新版Android studio集成SDK点击下载(需科学上网)
2)clone源码 确保电脑配置git命令行工具,执行如下指令,将源码clone到您的文件目录中

git clone -b master http://git.baijiashilian.com/open-android/VideoplayerUI2.0Demo.git

3)配置项目settings.gradle文件

include ':videoplayer-ui'  
...其他module

project(':videoplayer-ui').projectDir = new File('xxx(您的源码路径)/VideoPlayerUI/videoplayer-ui')

4)添加依赖
在需要的module的build.gradle文件中添加源码依赖:

compile project(path: ':videoplayer-ui')

快速集成

请先阅读点播core2.0 sdk快速集成文档电梯直达

点播

VideoPlayActivity为标准的点播播放界面,该布局为全屏居中播放,用户可以参考实现任意组合下的点播播放。

  • 在线播放
 Intent intent = new Intent(VideoLauncherActivity.this, VideoPlayActivity.class);
 intent.putExtra("videoId", Long.parseLong(videoId));
 intent.putExtra("token", videoToken);
 intent.putExtra("isOffline", false);
 startActivity(intent);
  • 离线播放
 Intent intent = new Intent(VideoLauncherActivity.this, VideoPlayActivity.class);
 intent.putExtra("videoPath", videoPath);
 intent.putExtra("isOffline", true);
 startActivity(intent);

功能介绍

包结构

自定义点播UI

component包下提供一系列标准播放器UI组件,用户可以在ComponentManager管理类中配置需要显示的组件。

 /**
   * 默认组合的组件
   */
 public void generateDefaultComponentList(){
        componentMap.clear();
        componentChangeListeners.clear();
        addComponent(UIEventKey.KEY_LOADING_COMPONENT, new LoadingComponent(context));
        addComponent(UIEventKey.KEY_GESTURE_COMPONENT, new GestureComponent(context));
        //controller 需在gesture布局上方,否则会有事件冲突
        addComponent(UIEventKey.KEY_CONTROLLER_COMPONENT, new ControllerComponent(context));
        addComponent(UIEventKey.KEY_ERROR_COMPONENT, new ErrorComponent(context));
        addComponent(UIEventKey.KEY_MENU_COMPONENT, new MenuComponent(context));
        if(BJYPlayerSDK.IS_DEVELOP_MODE){
            addComponent(UIEventKey.KEY_VIDEO_INFO_COMPONENT, new MediaPlayerDebugInfoComponent(context));
        }
    }

自定义组件

1)ComponentContainer

ComponentContainer extends FrameLayout,持有ComponentManager初始化各个播放器组件,实现手势监听,并且控制自定义事件和触摸事件的分发。

2)BaseVideoView
BaseVideoView extends FrameLayout,持有IBJYVideoPlayer引用获取播放器回调,持有ComponentContainer通知各个component组件更新状态,内部实现网络监听逻辑。

3)BJYVideoView

BJYVideoView extends BaseVideoView,初始化BJYPlayerView和各个component,监听播放器回调通知各个component。