2024/05/11 17:12:45
组件介绍
本文介绍针对 K 歌场景的含 UI 解决方案 AUIKaraoke。
组件概述
AUIKaraoke 是声网针对 K 歌场景推出的开源 UI 组件,集成了 K 歌房场景化 API 以及声网实时互动 SDK、RTM SDK。该组件基于 AUIKit 开发,主要提供房间管理功能。AUIKit 是一套场景化应用的脚手架,为 AUIKaraoke 提供可自定义的 UI 组件和一套通用的服务接口(Service),支持你基于 UI 组件像搭积木一样快速搭建起自己的业务逻辑。
你可以查看 AUIKaraoke 组件源码快速搭建一个含 UI 界面的在线 K 歌房间,体验在线点歌、 K 歌、麦位管理、收发礼物、文字聊天等在线 K 歌场景中的核心交互。
下图展示 AUIKaraoke 和 AUIKit 之间的关系:
AUIKaraoke
:以源码方式集成的库,可在库中进行自定义,依赖于 ASceneKit
,ASceneKit
依赖于底层的 AUIKit
。详细说明如下:
AUIKaraoke
:代表 K 歌 App,该部分需要你自行开发维护。Activity
:用于管理 K 歌 App 中房间列表页面和单个房间的详情页面。KaraokeUIKit
:负责统一调度KaraokeRoomView
和AUIKaraokeRoomService
,并管理房间。
AScenesKit
:为 K 歌场景提供业务逻辑的组装模块,该部分由声网提供并维护。KaraokeRoomView
:K 歌的容器 View,用于管理AUIKit
提供的 UI。AUIKaraokeRoomService
:K 歌的 Service。用于管理AUIKit
提供的 Service。ViewBinder
:用于将KaraokeRoomView
和AUIKaraokeRoomService
绑定。
AUIKit
:基础库,该部分由声网提供并维护。- UI:基础 UI 组件。
- Service:上麦、聊天、送礼物等业务能力。
- Manager:管理环信即时通讯 IM(AUIChatManager)、实时消息 RTM(AUIRtmManager)、房间(AUIRoomMananager)管理等模块。
核心功能
AUIKaraoke 提供下列核心功能:
房间管理:
- 创建、销毁房间。
- 获取房间列表,便于对所有房间进行管理。
麦位管理:
- 上麦和下麦:用户可以随时上下麦,实现多人互动 K 歌。
- 踢人下麦:房主可以将用户从麦位上踢下来,以管理麦位的占用情况。
- 封禁和锁麦:麦位可以被封禁或锁定,以更好维护 K 歌房间内的秩序。
音乐播放器:
- 歌曲控制:可以随时控制音乐的播放,如预加载、暂停、切歌等。
歌曲管理:
- 搜索歌曲:声网曲库涵盖至少 20 万首正版歌曲,可以通过歌曲或歌手关键词搜索,检索查找自己喜欢的歌曲。
- 点歌和切歌:用户可以点播自己喜欢的歌曲,并在需要时切换到下一首。
- 置顶歌曲:房主可以将某首歌曲置顶,确保它在播放列表中优先播放。
合唱功能:
- 加入、离开合唱:用户可以随时加入或离开合唱,与上麦的演唱者一起享受 K 歌的乐趣。
- 歌词同步:进行合唱时,主唱、伴唱、观众端的歌词可以实现同步,提供更出色的合唱体验。
收发礼物:
- 房间内的用户彼此之间可以送礼物,增加互动趣味性。
文字聊天:
- 除了上麦互动,K 歌房间内的用户还可以发送文字消息进行互动。
方案对比
除了 AUIKaraoke 这一含 UI 的解决方案,目前声网针对在线 K 歌房场景还提供了无 UI 解决方案,其中无 UI 解决方案包括无场景化方案、场景化 API 方案,各方案之间的对比详见方案对比。