You need to enable JavaScript to run this app.
导航

基础功能

最近更新时间2023.12.08 10:26:33

首次发布时间2023.06.05 21:38:14

本文介绍如何实现 Android 开播 SDK 的基础功能。

前提条件

您已集成 Android 开播 SDK。详见 集成 Android 开播 SDK

进入和退出直播间

在定义如何进入直播间的文件中,添加以下代码:

说明

通过调用 CreateActivityAPIV2ListActivityAPI 获取直播间的活动 ID,调用 GetTemporaryLoginTokenAPI 获取开播密钥。

/**
  *  进入直播间
  *
  *  @param activity   用于调用直播间所在页面的 Activity
  *  @param activityId 直播间的活动 ID
  *  @param secretKey  开播密钥
  */
TVUPushLiveRoom.startPushLiveRoom(activity, activityId, secretKey);

在定义如何退出直播间的文件中,添加以下代码:

/**
  *  退出直播间
  *
  *  @param context 上下文
  */
TVUPushLiveRoom.leavePushLiveRoom(context);

自定义配置

定制前台通知

App 在后台运行时,SDK 会通过显示前台通知来保证后台不断流。您可以定制通知的图标和文案。

NotificationInfo info = new NotificationInfo(
        R.mipmap.ic_launcher_round, // 图标
         "企业直播", // 标题
         "App 后台运行中"); // 详情
PushSettings.Holder.mSettings.setKeepLiveServiceNotifyInfo(info);

设置是否显示评论区

设置开播后是否显示评论区的消息和输入框。
默认值:true

  • true:显示评论区
  • false:不显示评论区
PushSettings.Holder.mSettings.getUiSettings().setEnableCommentArea(true);

添加自定义组件

在直播间提供一个撑满屏幕且层级在当前界面元素之上的 UI 区域,供您添加自定义组件。

CustomUIAreaListener uiAreaListener = container -> {
    View view = new View(container.getContext());
    view.setBackgroundColor(Color.RED);
    FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(SizeUtils.dp2px(40),
            SizeUtils.dp2px(40));
    lp.gravity = Gravity.CENTER;
    container.addView(view, lp);
};
PushSettings.Holder.mSettings.getUiSettings().setCustomUIAreaListener(uiAreaListener);

定制开播页背景图

定制横屏或竖屏开播页的背景图。
横屏

PushSettings.Holder.mSettings.getUiSettings().setLandscapeBackgroundDrawableListener(new ITVUSingleDrawableListener() {
    // 在需要显示开播页背景图时调用该方法,可返回 Drawable 对象(定制背景图)
    @Override
    public Drawable onGetSingleDrawable() {
        return AppCompatResources.getDrawable(getApplicationContext(), R.drawable.background_landscape);
    }
});

竖屏

PushSettings.Holder.mSettings.getUiSettings().setPortraitBackgroundDrawableListener(new ITVUSingleDrawableListener() {
    // 在需要显示开播页背景图时调用该方法,可返回 Drawable 对象(定制背景图)
    @Override
    public Drawable onGetSingleDrawable() {
        return AppCompatResources.getDrawable(getApplicationContext(), R.drawable.background_portrait);
    }
});

设置是否显示模板入口按钮

public void enableShowCloudTemplateEntrance(boolean enable)

参数

名称

类型

说明

enable

Boolean

是否显示模板入口按钮。
默认值:true

  • true:显示模板入口按钮。
  • false:不显示模板入口按钮。

设置是否支持新增和编辑模板

public void enableEditCloudTemplateEnable(boolean enable)

参数

名称

类型

说明

enable

Boolean

是否支持新增和编辑模板。
默认值:true

  • true:支持新增和编辑。
  • false:不支持新增和编辑。

设置是否支持编辑直播间的横屏封面和标题

public void enableEditLiveInfo(boolean enable)

参数

名称

类型

说明

enable

Boolean

是否支持编辑直播间的横屏封面和标题。
默认值:true

  • true:支持编辑。
  • false:不支持编辑。

设置直播间事件回调

设置回调监听直播间变化。

PushSettings.Holder.mSettings.setPushRoomListener(new PushRoomListener() {
    @Override // 在主持人进入直播间时触发该回调
    public void onPushRoomJoined(Activity activity) {
        ToastUtil.displayToast("主持人进入直播间");
    }

    @Override // 在主持人退出直播间时触发该回调
    public void onPushRoomDestroyed(Activity activity) {
        ToastUtil.displayToast("主持人退出直播间");
    }

    @Override // 在屏幕朝向改变时触发该回调
    public void onPushRoomOrientationChanged(Activity activity, boolean isPortrait) {
        ToastUtil.displayToast("屏幕朝向改变:" + (isPortrait ? "竖屏" : "横屏"));
    }

    @Override // 在视频直播开始时触发该回调
    public void onPushStreamStarted() {
        ToastUtil.displayToast("直播开始");
    }

    @Override // 在视频直播结束时触发该回调
    public void onPushStreamStopped() {
        ToastUtil.displayToast("直播结束");
    }
});