百家云双师课堂
产品文档 直播技术文档 Android专业小班课UI SDK

professional-group-class

百家云直播Android SDK简介

百家云直播Android SDK提供了Core (liveplayer-sdk-core)大班课UI (BJLiveUI-Android)专业小班课UI (professional-group-class)

  • UI库基于Core实现,提供了一个针对教育场景下师生互动模板,主要包括师生一对一音视频互动,多人音视频互动,课件展示、文字聊天等功能,可以快速接入,集成工作量小,适合需要快速上线的同学,该库已开源。ui只是为了方便快速开发使用,ui界面使用不提供接口支持。
  • Core为核心库,涵盖了直播间几乎所有的功能,包括音视频推拉流、信令服务器通信、聊天服务器通信等功能,该库不含UI资源,如果使用的是eclipse的同学可以将aar其中的jar包拿出来单独使用。

集成SDK

aar依赖

  • 添加maven仓库
maven { url 'http://git.baijiashilian.com/open-android/maven/raw/master/' }
  • 在build.gradle中添加依赖
    最新版本请自取,Change Log
dependencies {
    implementation 'com.baijiayun.live:group-class-ui:1.1.1'
}

源码依赖

源码连接

dependencies {
    implementation project(':group-class')
}

renderscript配置

专业小班课大量使用毛玻璃背景效果,需要在app build.gradle defaultConfig下增加如下配置

defaultConfig {
        renderscriptTargetApi 18
        renderscriptSupportModeEnabled true
    }

kotlin配置

自1.1.2版本开始,引入了kotlin实现的第三方依赖库。需要额外配置kotlin版本。

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.anko:anko-commons:$anko_version"

professional-group-class下使用了$kotlin_version$anko_version两个变量,需要在项目的根目录下的build.gradle下声明这两个变量。 具体可以参考https://git.baijiashilian.com/open-android/professional-group-class/-/blob/master/build.gradle

设置客户专属域名前缀

专属域名从百家云账号中心获取,需要在进入直播点播和回放之前设置。例如专属域名为 demo123.at.baijiayun.com,则前缀为 demo123,参考 专属域名说明

LiveSDK.customEnvironmentPrefix = "demo123";

API调用说明

进入直播间

  • 通过参加码进入直播间
 /**
     * 通过参加码进入互动小班课
     *
     * @param context  Activity Context
     * @param code     参加吗
     * @param name     昵称
     * @param listener 出错回调
     */
    InteractiveClassUI.enterRoom(@NonNull Context context, @NonNull String code, @NonNull String name,
                                 @NonNull InteractiveClassEnterRoomListener listener) 

    /**
     * 通过参加码进入互动小班课
     *
     * @param context  Activity Context
     * @param code     参加吗
     * @param name     昵称
     * @param avatar   头像
     * @param listener 出错回调
     */
    InteractiveClassUI.enterRoom(@NonNull Context context, @NonNull String code,
                                 @NonNull String name, @Nullable String avatar, @NonNull InteractiveClassEnterRoomListener listener)

  • 通过roomIdsign进入进入直播间
 /**
     * @param context
     * @param roomId   房间号
     * @param sign     签名
     * @param model    用户model (包含昵称、头像、角色等)
     * @param listener 出错回调
     */
    InteractiveClassUI.enterRoom(@NonNull Context context, long roomId,
                                 @NonNull String sign, @NonNull LiveRoomUserModel model, @NonNull InteractiveClassEnterRoomListener listener) 

Sign原则上由后端计算返给前端,计算规则

SDK体验

下图为老师上课视角,包含有PPT展示,老师自己的视频,学生的视频,在线人员列表、PPT管理等按钮
深色/浅色模式可以在百家云后台动态配置

深色模板

横屏

浅色模板

横屏