AUIKit Service提供一套通用的服务接口,可用于数据交互。这套接口可以结合rtm2.0或者其他serverless云服务实现一套完整的服务
service接口:
auikit-service/src/main/java/io/agora/auikit/service
├── IAUICommonService.java 基础服务抽象类
├── IAUIRoomManager.java 房间管理
├── IAUIUserService.java 用户管理
├── IAUIMicSeatService.java 麦位管理
├── IAUIJukeboxService.java 点唱管理
├── IAUIChorusService.java 合唱管理
├── IAUIMusicPlayerService.java 播放管理
├── impl Agora实现
└── callback 回调接口
数据结构:
auikit-service/src/main/java/io/agora/auikit/model
├── AUICommonConfig.java 公共配置类
├── AUIRoomConfig.java 房间配置
├── AUIRoomContext.java 房间上下文
├── AUICreateRoomInfo.java 创建房间信息
├── AUIRoomInfo.java 房间信息
├── AUIUserThumbnailInfo.java 基础用户信息
├── AUIUserInfo.java 完整用户信息
├── AUIMicSeatInfo.java 麦位信息
├── AUIMicSeatStatus.java 麦位状态
├── AUIMusicModel.java 点唱歌曲信息
├── AUIChooseMusicModel.java 已点唱歌曲信息
├── AUIChoristerModel.java 合唱者信息
├── AUIEffectVoiceInfo.java 播放音效信息
├── AUILoadMusicConfiguration.java 播放加载音乐配置
├── AUIMusicSettingInfo.java 播放音乐配置信息
└── AUIPlayStatus.java 播放状态
方法 |
注释 |
createRoom |
创建房间(房主调用),若房间不存在,系统将自动创建一个新房间 |
destroyRoom |
销毁房间(房主调用) |
getRoomInfo |
获取指定房间信息 |
getRoomInfoList |
获取指定房间id列表的详细信息,如果房间id列表为空,则获取所有房间的信息 |
用户管理抽象类 -> IAUIUserService
Agora用户管理类 -> AUIUserServiceImpl
方法 |
注释 |
getUserInfoList |
获取指定 userId 的用户信息,如果为 null,则获取房间内所有人的信息 |
getUserInfo |
获取指定 userId 的用户信息 |
muteUserAudio |
对自己静音/解除静音 |
muteUserVideo |
对自己禁摄像头/解禁摄像头 |
用户信息回调接口 -> IAUIUserService.AUIUserRespObserver
方法 |
注释 |
onRoomUserSnapshot |
用户进入房间后获取到的所有用户信息 |
onRoomUserEnter |
用户进入房间回调 |
onRoomUserLeave |
用户离开房间回调 |
onRoomUserUpdate |
用户信息修改 |
onUserAudioMute |
用户是否静音 |
onUserVideoMute |
用户是否禁用摄像头 |
麦位管理抽象类 -> IAUIMicSeatService
Agora麦位管理类 -> AUIMicSeatServiceImpl
方法 |
注释 |
enterSeat |
主动上麦(听众端和房主均可调用) |
autoEnterSeat |
主动上麦, 获取一个小麦位进行上麦(听众端和房主均可调用) |
leaveSeat |
主动下麦(主播调用) |
pickSeat |
抱人上麦(房主调用) |
kickSeat |
踢人下麦(房主调用) |
muteAudioSeat |
静音/解除静音某个麦位(房主调用) |
muteVideoSeat |
关闭/打开麦位摄像头 |
closeSeat |
封禁/解禁某个麦位(房主调用) |
getMicSeatInfo |
获取指定麦位信息 |
麦位信息回调接口 -> IAUIMicSeatService.AUIMicSeatRespObserver
方法 |
注释 |
onSeatListChange |
全量的麦位列表变化 |
onAnchorEnterSeat |
有成员上麦(主动上麦/房主抱人上麦) |
onAnchorLeaveSeat |
有成员下麦(主动下麦/房主踢人下麦) |
onSeatAudioMute |
房主禁麦 |
onSeatVideoMute |
房主禁摄像头 |
onSeatClose |
房主封麦 |
点唱管理抽象类 -> IAUIJukeboxService
Agora点唱管理类 -> AUIJukeboxServiceImpl
方法 |
注释 |
getMusicList |
获取歌曲列表 |
searchMusic |
搜索歌曲 |
getAllChooseSongList |
获取当前点歌列表 |
chooseSong |
点一首歌 |
removeSong |
移除一首自己点的歌 |
pingSong |
置顶歌曲 |
updatePlayStatus |
更新播放状态 |
点唱信息回调接口 -> IAUIJukeboxService.AUIJukeboxRespObserver
方法 |
注释 |
onAddChooseSong |
新增一首歌曲回调 |
onRemoveChooseSong |
删除一首歌歌曲回调 |
onUpdateChooseSong |
更新一首歌曲回调(例如pin) |
onUpdateAllChooseSongs |
更新所有歌曲回调(例如pin) |
合唱管理抽象类 -> IAUIChorusService
Agora合唱管理类 -> AUIChorusServiceImpl
方法 |
注释 |
getChoristersList |
获取合唱者列表 |
joinChorus |
加入合唱 |
leaveChorus |
退出合唱 |
switchSingerRole |
切换角色 |
合唱信息回调接口 -> IAUIChorusService.AUIChorusRespObserver
方法 |
注释 |
onChoristerDidEnter |
合唱者加入 |
onChoristerDidLeave |
合唱者离开 |
onSingerRoleChanged |
角色切换回调 |
onChoristerDidChanged |
合唱者改变通知 |
播放管理抽象类 -> IAUIMusicPlayerService
Agora播放管理类 -> AUIMusicPlayerServiceImpl
方法 |
注释 |
loadMusic |
异步加载歌曲,同时只能为一首歌loadSong,loadSong结果会通过回调通知业务层 |
startSing |
开始播放歌曲 |
stopSing |
停止播放歌曲 |
resumeSing |
恢复播放歌曲 |
pauseSing |
暂停播放歌曲 |
seekSing |
调整播放进度 |
adjustMusicPlayerPlayoutVolume |
调整音乐本地播放的声音 |
adjustMusicPlayerPublishVolume |
调整音乐远端播放的声音 |
adjustRecordingSignal |
调整本地播放远端伴唱人声音量的大小(主唱 && 伴唱都可以调整) |
selectMusicPlayerTrackMode |
选择音轨,原唱、伴唱 |
getPlayerPosition |
获取播放进度 |
getPlayerDuration |
获取播放时长 |
setAudioPitch |
升降调 |
setAudioEffectPreset |
音效设置 |
effectProperties |
音效映射key |
enableEarMonitoring |
耳返开启关闭 |
合唱信息回调接口 -> IAUIMusicPlayerService.AUIPlayerRespObserver
方法 |
注释 |
onPreludeDidAppear |
前奏开始加载 |
onPreludeDidDisappear |
前奏结束加载 |
onPostludeDidAppear |
尾奏开始加载 |
onPostludeDidDisappear |
尾奏结束 |
onPlayerPositionDidChange |
播放位置信息回调 |
onPitchDidChange |
音调变化回调 |
onPlayerStateChanged |
播放状态变化 |
字段 |
注释 |
context |
Android上下文 |
host |
业务服务器域名 |
userId |
本地用户Id |
userName |
本地用户名 |
userAvatar |
本地用户头像 |
字段 |
注释 |
channelName |
主频道 |
ktvChannelName |
点唱所使用频道名 |
ktvChorusChannelName |
合唱所使用频道名 |
tokenMap |
内部使用到的所有token表 |
字段 |
注释 |
currentUserInfo |
缓存的本地用户信息 |
appId |
Agora APP ID |
mCommonConfig |
所有房间公用配置 |
roomConfigMap |
各个房间配置信息 |
roomInfoMap |
加入的所有房间列表 |
字段 |
注释 |
roomName |
房间名称 |
thumbnail |
房间列表上的缩略图 |
seatCount |
麦位个数 |
password |
房间密码 |
字段 |
注释 |
roomId |
房间ID |
roomOwner |
房主用户信息 |
onlineUsers |
房间内人数 |
createTime |
房间创建时间 |
字段 |
注释 |
userId |
用户ID |
userName |
用户名 |
userAvatar |
用户头像 |
字段 |
注释 |
userId |
用户ID |
userName |
用户名 |
userAvatar |
用户头像 |
muteAudio |
是否静音状态 |
muteVideo |
是否关闭视频状态 |
字段 |
注释 |
user |
用户信息 |
seatIndex |
麦位索引 |
seatStatus |
麦位状态(idle:空间,used:使用中,locked:锁定) |
muteAudio |
麦位禁用声音,0:否,1:是 |
muteVideo |
麦位禁用视频,0:否,1:是 |
字段 |
注释 |
songCode |
歌曲id,mcc则对应songCode |
name |
歌曲名称 |
singer |
演唱者 |
poster |
歌曲封面海报 |
releaseTime |
发布时间 |
duration |
歌曲长度,单位秒 |
musicUrl |
歌曲url,mcc则为空 |
lrcUrl |
歌词url,mcc则为空 |
字段 |
注释 |
songCode |
歌曲id,mcc则对应songCode |
name |
歌曲名称 |
singer |
演唱者 |
poster |
歌曲封面海报 |
releaseTime |
发布时间 |
duration |
歌曲长度,单位秒 |
musicUrl |
歌曲url,mcc则为空 |
lrcUrl |
歌词url,mcc则为空 |
owner |
点歌用户 |
pinAt |
置顶歌曲时间,与19700101的时间差,单位ms,为0则无置顶操作 |
createAt |
点歌时间,与19700101的时间差,单位ms |
status |
播放状态,0 待播放,1 播放中 |
字段 |
注释 |
userId |
主唱者用户id |
chorusSongNo |
合唱者演唱歌曲 |
owner |
合唱者信息 |
字段 |
注释 |
id |
音效唯一标识 |
effectId |
音效id |
resId |
图标资源Id |
name |
名称资源Id |
字段 |
注释 |
autoPlay |
是否自动播放 |
mainSingerUid |
主唱用户id |
loadMusicMode |
加载音乐模式,0:LOAD Music Only,1:观众,2:主唱 |
字段 |
注释 |
isEar |
耳返 |
signalVolume |
人声音量 |
musicVolume |
音乐音量 |
pitch |
升降调 |
effectId |
音效 |
Copyright © Agora Corporation. All rights reserved.
Licensed under the MIT license.