最近更新时间:2023.06.05 21:38:14
首次发布时间:2023.06.05 21:38:14
本文介绍如何实现 Android 开播 SDK 的基础功能。
您已集成 Android 开播 SDK。详见 SDK 集成。
在定义如何进入直播间的文件中,添加以下代码:
说明
通过调用 CreateActivityAPIV2 或 ListActivityAPI 获取直播间的活动 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
:显示评论区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); } });
设置回调监听直播间变化。
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("直播结束"); } });