atomicx-core sdk API 文档
atomicx-core sdk
atomicx-core sdk 是腾讯云最新推出的面向即时通信、音视频通话、视频直播、语聊房等场景的全新一代基于响应式的 API,您可以非常快速的在基于这组 API 构建自己的 UI 页面,它支持房间管理、屏幕分享、成员管理、麦位控制、基础美颜等丰富功能,同时基于 TRTC SDK,能够提供超低延时、高品质的音视频体验,本页面包含 atomicx-core sdk 的所有API接口,按功能模块分类展示。
LoginState
用户身份认证与登录管理模块
核心功能:负责用户身份验证、登录状态管理、用户信息维护等基础认证服务。
技术特点:支持多种认证方式、会话管理、权限验证等高级功能,确保用户身份的安全和有效。
业务价值:为直播平台提供基础的用户认证能力,是所有其他业务模块的前置条件。
应用场景:用户登录、身份验证、会话管理、权限控制等基础认证场景。
核心功能:负责用户身份验证、登录状态管理、用户信息维护等基础认证服务。
技术特点:支持多种认证方式、会话管理、权限验证等高级功能,确保用户身份的安全和有效。
业务价值:为直播平台提供基础的用户认证能力,是所有其他业务模块的前置条件。
应用场景:用户登录、身份验证、会话管理、权限控制等基础认证场景。
响应式数据
loginUserInfo
const loginUserInfo: Ref
类型:
Ref
示例
```tsx
const { loginUserInfo } = useLoginState();
if (loginUserInfo) {
console.log('当前用户:', loginUserInfo.nickname);
console.log('用户ID:', loginUserInfo.userID);
} else {
console.log('用户未登录');
}
```
loginStatus
const loginStatus: Ref
类型:
Ref
示例
```tsx
const { loginStatus } = useLoginState();
switch (loginStatus) {
case 'LOGINED':
console.log('用户已登录');
break;
case 'LOGOUT':
console.log('用户已登出');
break;
case 'UNLOGIN':
console.log('用户未登录');
break;
}
```
接口函数
login
function login(params: LoginOptions)
登录方法
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LoginOptions | 登录参数 |
示例
```tsx
await login({
sdkAppID: 1400000000,
userID: 'user123',
userSig: 'eJx1kF1PwzAMhv9KlG...',
onSuccess: () => console.log('登录成功'),
onError: (error) => console.error('登录失败:', error)
});
```
logout
function logout(params?: LogoutOptions)
登出方法
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LogoutOptions | 登出参数(可选) |
示例
```tsx
await logout({
onSuccess: () => console.log('登出成功'),
onError: (error) => console.error('登出失败:', error)
});
```
setSelfInfo
function setSelfInfo(userInfo: SetSelfInfoOptions)
设置用户信息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userInfo | SetSelfInfoOptions | 用户信息 |
示例
```tsx
await setSelfInfo({
userProfile: {
userID: 'user123',
nickname: '张三',
avatarURL: 'https://example.com/avatar.jpg',
},
onSuccess: () => console.log('用户信息设置成功'),
onError: (error) => console.error('用户信息设置失败:', error)
});
```
getLoginUserInfo
function getLoginUserInfo()
获取登录用户信息
示例
```tsx
const userInfo = getLoginUserInfo();
if (userInfo) {
console.log('当前用户:', userInfo.nickname);
}
```
addLoginListener
function addLoginListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加登录事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listener | Function | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addLoginListener('onLoginStatusChanged', (params) => {
console.log('登录状态变化:', params);
});
```
removeLoginListener
function removeLoginListener(eventName: string, listenerID?: string)
移除登录事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeLoginListener('onLoginStatusChanged');
```
LiveListState
直播列表状态管理模块
核心功能:管理直播间的完整生命周期,包括创建、加入、离开、结束等核心业务流程。
技术特点:支持分页加载、实时状态同步、直播信息动态更新,采用响应式数据管理,确保UI与数据状态实时同步。
业务价值:为直播平台提供核心的直播间管理能力,支持大规模并发直播场景,是直播业务的基础设施。
应用场景:直播列表展示、直播间创建、直播状态管理、直播数据统计等核心业务场景。
核心功能:管理直播间的完整生命周期,包括创建、加入、离开、结束等核心业务流程。
技术特点:支持分页加载、实时状态同步、直播信息动态更新,采用响应式数据管理,确保UI与数据状态实时同步。
业务价值:为直播平台提供核心的直播间管理能力,支持大规模并发直播场景,是直播业务的基础设施。
应用场景:直播列表展示、直播间创建、直播状态管理、直播数据统计等核心业务场景。
响应式数据
liveList
const liveList: Ref
类型:
Ref
示例
```tsx
const { liveList } = useLiveListState();
// 渲染列表
liveList.forEach(live => {
console.log('直播间:', live.liveID);
});
```
liveListCursor
const liveListCursor: Ref
类型:
Ref
示例
```tsx
const { liveListCursor, fetchLiveList } = useLiveListState();
// 加载更多直播
if (liveListCursor) {
await fetchLiveList({
cursor: liveListCursor,
limit: 20
});
} else {
console.log('没有更多直播了');
}
```
currentLive
const currentLive: Ref
类型:
Ref
示例
```tsx
const { currentLive, setCurrentLiveInfo } = useLiveListState();
// 进入直播间
setCurrentLiveInfo({ liveID: '12345', ... });
// 检查是否在直播间中
if (currentLive) {
console.log('当前直播间:', currentLive.liveID);
console.log('主播:', currentLive.anchorInfo.nickname);
}
```
接口函数
fetchLiveList
function fetchLiveList(params: FetchLiveListOptions)
获取直播列表
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | FetchLiveListOptions | 获取参数 |
示例
```tsx
await fetchLiveList({ cursor: '', count: 20 });
```
createLive
function createLive(params: CreateLiveOptions)
创建直播间
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CreateLiveOptions | 创建参数 |
示例
```tsx
await createLive({ liveID: 'your_live_id', title: 'my live', coverUrl: 'https://example.com/cover.jpg' });
```
joinLive
function joinLive(params: JoinLiveOptions)
加入直播间
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | JoinLiveOptions | 加入参数 |
示例
```tsx
await joinLive({ liveID: 'host_live_id' });
```
leaveLive
function leaveLive(params?: LeaveLiveOptions)
离开直播间
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LeaveLiveOptions | 离开参数(可选) |
示例
```tsx
await leaveLive();
```
endLive
function endLive(params?: EndLiveOptions)
结束直播
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | EndLiveOptions | 结束参数(可选) |
示例
```tsx
await endLive();
```
updateLiveInfo
function updateLiveInfo(params: UpdateLiveInfoOptions)
更新直播信息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UpdateLiveInfoOptions | 更新参数 |
示例
```tsx
await updateLiveInfo({ liveID: 'your_live_id', title: 'new title' });
```
addLiveListListener
function addLiveListListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加直播列表事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onLiveEnded'(直播结束) 'onKickedOutOfLive'(被踢出直播间) |
| listener | (params?: unknown) => void | 事件回调函数 |
示例
```tsx
addLiveListListener('onLiveEnded', {
callback: (params) => {
console.log('result:', params);
}
});
```
removeLiveListListener
function removeLiveListListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
移除直播列表事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onLiveEnded'(直播结束) 'onKickedOutOfLive'(被踢出直播间) |
| listener | (params?: unknown) => void | 事件回调函数 |
示例
```tsx
removeLiveListListener('onLiveEnded', liveEndedListener);
```
LiveSeatState
直播间麦位管理模块
核心功能:实现多人连麦场景下的座位控制,支持复杂的座位状态管理和音视频设备控制。
技术特点:基于音视频技术,支持多路音视频流管理,提供座位锁定、设备控制、权限管理等高级功能。
业务价值:为多人互动直播提供核心技术支撑,支持PK、连麦、多人游戏等丰富的互动场景。
应用场景:多人连麦、主播PK、互动游戏、在线教育、会议直播等需要多人音视频互动的场景。
核心功能:实现多人连麦场景下的座位控制,支持复杂的座位状态管理和音视频设备控制。
技术特点:基于音视频技术,支持多路音视频流管理,提供座位锁定、设备控制、权限管理等高级功能。
业务价值:为多人互动直播提供核心技术支撑,支持PK、连麦、多人游戏等丰富的互动场景。
应用场景:多人连麦、主播PK、互动游戏、在线教育、会议直播等需要多人音视频互动的场景。
响应式数据
seatList
const seatList: Ref
类型:
Ref
示例
```tsx
const { seatList } = useLiveSeatState(liveID);
// 显示所有座位信息
seatList.forEach(seat => {
if (seat.userId) {
console.log(`座位 ${seat.seatIndex}: ${seat.userName}`);
console.log('麦克风:', seat.isAudioMuted ? '关闭' : '开启');
} else {
console.log(`座位 ${seat.seatIndex}: 空闲`);
}
});
```
canvas
const canvas: Ref
类型:
Ref
示例
```tsx
const { canvas } = useLiveSeatState(liveID);
if (canvas) {
console.log('画布模式:', canvas.mode);
console.log('背景图:', canvas.backgroundUrl);
console.log('视频流数量:', canvas.videoStreamList?.length);
}
```
speakingUsers
const speakingUsers: Ref
类型:
Ref
示例
```tsx
const { speakingUsers } = useLiveSeatState(liveID);
// 检查用户是否正在说话
if (speakingUsers?.has(userID)) {
const volume = speakingUsers.get(userID);
console.log(`用户 ${userID} 正在说话,音量: ${volume}`);
}
// 显示所有正在说话的用户
speakingUsers?.forEach((volume, userID) => {
console.log(`${userID}: ${volume}`);
});
```
接口函数
takeSeat
function takeSeat(params: TakeSeatOptions)
用户上麦
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | TakeSeatOptions | 上麦参数 |
示例
```tsx
await takeSeat({
liveID: 'your_live_id',
seatIndex: 1,
onSuccess: () => console.log('上麦成功'),
onError: (error) => console.error('上麦失败:', error)
});
```
leaveSeat
function leaveSeat(params: LeaveSeatOptions)
用户下麦
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LeaveSeatOptions | 下麦参数 |
示例
```tsx
await leaveSeat({
liveID: 'your_live_id',
onSuccess: () => console.log('下麦成功'),
onError: (error) => console.error('下麦失败:', error)
});
```
muteMicrophone
function muteMicrophone(params: MuteMicrophoneOptions)
静音麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | MuteMicrophoneOptions | 静音参数 |
示例
```tsx
await muteMicrophone({
liveID: 'your_live_id',
onSuccess: () => console.log('麦克风静音成功'),
onError: (error) => console.error('麦克风静音失败:', error)
});
```
unmuteMicrophone
function unmuteMicrophone(params: UnmuteMicrophoneOptions)
取消静音麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UnmuteMicrophoneOptions | 取消静音参数 |
示例
```tsx
await unmuteMicrophone({
liveID: 'your_live_id',
onSuccess: () => console.log('麦克风取消静音成功'),
onError: (error) => console.error('麦克风取消静音失败:', error)
});
```
kickUserOutOfSeat
function kickUserOutOfSeat(params: KickUserOutOfSeatOptions)
将用户踢出座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | KickUserOutOfSeatOptions | 踢出参数 |
示例
```tsx
await kickUserOutOfSeat({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('踢出用户成功'),
onError: (error) => console.error('踢出用户失败:', error)
});
```
moveUserToSeat
function moveUserToSeat(params: MoveUserToSeatOptions)
移动用户到指定座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | MoveUserToSeatOptions | 移动参数 |
示例
```tsx
await moveUserToSeat({
liveID: 'your_live_id',
fromSeatIndex: 1,
toSeatIndex: 3,
onSuccess: () => console.log('用户移动成功'),
onError: (error) => console.error('用户移动失败:', error)
});
```
lockSeat
function lockSeat(params: LockSeatOptions)
锁定座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | LockSeatOptions | 锁定参数 |
示例
```tsx
await lockSeat({
liveID: 'your_live_id',
seatIndex: 2,
onSuccess: () => console.log('座位锁定成功'),
onError: (error) => console.error('座位锁定失败:', error)
});
```
unlockSeat
function unlockSeat(params: UnlockSeatOptions)
解锁座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UnlockSeatOptions | 解锁参数 |
示例
```tsx
await unlockSeat({
liveID: 'your_live_id',
seatIndex: 2,
onSuccess: () => console.log('座位解锁成功'),
onError: (error) => console.error('座位解锁失败:', error)
});
```
openRemoteCamera
function openRemoteCamera(params: OpenRemoteCameraOptions)
开启远程摄像头
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | OpenRemoteCameraOptions | 开启摄像头参数 |
示例
```tsx
await openRemoteCamera({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('远程摄像头开启成功'),
onError: (error) => console.error('远程摄像头开启失败:', error)
});
```
closeRemoteCamera
function closeRemoteCamera(params: CloseRemoteCameraOptions)
关闭远程摄像头
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CloseRemoteCameraOptions | 关闭摄像头参数 |
示例
```tsx
await closeRemoteCamera({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('远程摄像头关闭成功'),
onError: (error) => console.error('远程摄像头关闭失败:', error)
});
```
openRemoteMicrophone
function openRemoteMicrophone(params: OpenRemoteMicrophoneOptions)
开启远程麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | OpenRemoteMicrophoneOptions | 开启麦克风参数 |
示例
```tsx
await openRemoteMicrophone({
liveID: 'your_live_id',
userID: 'user123',
policy: 'UNLOCK_ONLY',
onSuccess: () => console.log('远程麦克风开启成功'),
onError: (error) => console.error('远程麦克风开启失败:', error)
});
```
closeRemoteMicrophone
function closeRemoteMicrophone(params: CloseRemoteMicrophoneOptions)
关闭远程麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CloseRemoteMicrophoneOptions | 关闭麦克风参数 |
示例
```tsx
await closeRemoteMicrophone({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('远程麦克风关闭成功'),
onError: (error) => console.error('远程麦克风关闭失败:', error)
});
```
addLiveSeatEventListener
function addLiveSeatEventListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加座位事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onLocalCameraOpenedByAdmin'(本地摄像头被管理员开启) 'onLocalCameraClosedByAdmin'(本地摄像头被管理员关闭) 'onLocalMicrophoneOpenedByAdmin'(本地麦克风被管理员开启) 'onLocalMicrophoneClosedByAdmin'(本地麦克风被管理员关闭) |
| listener | (params?: unknown) => void | 事件处理函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addLiveSeatEventListener('onLocalCameraOpenedByAdmin', (params) => {
console.log('本地摄像头被管理员开启:', params);
});
```
removeLiveSeatEventListener
function removeLiveSeatEventListener(eventName: string, listenerID?: string)
移除座位事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onLocalCameraOpenedByAdmin'(本地摄像头被管理员开启) 'onLocalCameraClosedByAdmin'(本地摄像头被管理员关闭) 'onLocalMicrophoneOpenedByAdmin'(本地麦克风被管理员开启) 'onLocalMicrophoneClosedByAdmin'(本地麦克风被管理员关闭) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeLiveSeatEventListener('onLocalCameraOpenedByAdmin');
```
LiveAudienceState
直播间观众状态管理模块
核心功能:管理直播间观众列表,提供观众权限控制、管理员设置等直播间秩序维护功能。
技术特点:支持实时观众列表更新、权限分级管理、批量操作等高级功能,确保直播间秩序和用户体验。
业务价值:为直播平台提供完整的观众管理解决方案,支持大规模观众场景下的秩序维护。
应用场景:观众管理、权限控制、直播间秩序维护、观众互动管理等核心业务场景。
核心功能:管理直播间观众列表,提供观众权限控制、管理员设置等直播间秩序维护功能。
技术特点:支持实时观众列表更新、权限分级管理、批量操作等高级功能,确保直播间秩序和用户体验。
业务价值:为直播平台提供完整的观众管理解决方案,支持大规模观众场景下的秩序维护。
应用场景:观众管理、权限控制、直播间秩序维护、观众互动管理等核心业务场景。
响应式数据
audienceList
const audienceList: Ref
类型:
Ref
示例
```tsx
const { audienceList } = useLiveAudienceState(liveID);
console.log('当前观众数量:', audienceList.length);
audienceList.forEach(audience => {
console.log('观众:', audience.nickname, audience.userID);
});
```
audienceCount
const audienceCount: Ref
类型:
Ref
示例
```tsx
const { audienceCount } = useLiveAudienceState(liveID);
const displayText = audienceCount >= 100
? '99+'
: audienceCount.toString();
console.log('观众数:', displayText);
```
接口函数
fetchAudienceList
function fetchAudienceList(params?: FetchAudienceListOptions)
获取直播间观众列表
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | FetchAudienceListOptions | 获取观众列表参数(可选) |
示例
```tsx
await fetchAudienceList({
liveID: 'your_live_id',
onSuccess: () => console.log('获取观众列表成功'),
onError: (error) => console.error('获取观众列表失败:', error)
});
```
setAdministrator
function setAdministrator(params: SetAdministratorOptions)
设置管理员
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAdministratorOptions | 设置管理员参数 |
示例
```tsx
await setAdministrator({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('设置管理员成功'),
onError: (error) => console.error('设置管理员失败:', error)
});
```
revokeAdministrator
function revokeAdministrator(params: RevokeAdministratorOptions)
撤销管理员权限
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RevokeAdministratorOptions | 撤销管理员参数 |
示例
```tsx
await revokeAdministrator({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('撤销管理员成功'),
onError: (error) => console.error('撤销管理员失败:', error)
});
```
kickUserOutOfRoom
function kickUserOutOfRoom(params: KickUserOutOfRoomOptions)
将用户踢出直播间
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | KickUserOutOfRoomOptions | 踢出用户参数 |
示例
```tsx
await kickUserOutOfRoom({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('踢出用户成功'),
onError: (error) => console.error('踢出用户失败:', error)
});
```
disableSendMessage
function disableSendMessage(params: DisableSendMessageOptions)
禁用用户发送消息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | DisableSendMessageOptions | 禁用发送消息参数 |
示例
```tsx
await disableSendMessage({
liveID: 'your_live_id',
userID: 'user123',
isDisable: true,
onSuccess: () => console.log('禁用发送消息成功'),
onError: (error) => console.error('禁用发送消息失败:', error)
});
```
addAudienceListener
function addAudienceListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加观众事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onAudienceJoined'(观众加入) 'onAudienceLeft'(观众离开) |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addAudienceListener('onAudienceJoined', (params) => {
console.log('观众加入:', params);
});
```
removeAudienceListener
function removeAudienceListener(eventName: string, listenerID?: string)
移除观众事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onAudienceJoined'(观众加入) 'onAudienceLeft'(观众离开) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeAudienceListener('onAudienceJoined');
```
CoGuestState
直播连麦管理相关接口
核心功能:处理观众与主播之间的连麦互动,管理连麦申请、邀请、接受、拒绝等完整的连麦流程。
技术特点:基于音视频技术,支持连麦状态实时同步、音视频质量自适应、网络状况监控等高级功能。
业务价值:为直播平台提供观众参与互动的核心能力,增强用户粘性和直播趣味性。
应用场景:观众连麦、互动问答、在线K歌、游戏直播等需要观众参与的互动场景。
核心功能:处理观众与主播之间的连麦互动,管理连麦申请、邀请、接受、拒绝等完整的连麦流程。
技术特点:基于音视频技术,支持连麦状态实时同步、音视频质量自适应、网络状况监控等高级功能。
业务价值:为直播平台提供观众参与互动的核心能力,增强用户粘性和直播趣味性。
应用场景:观众连麦、互动问答、在线K歌、游戏直播等需要观众参与的互动场景。
响应式数据
connected
const connected: Ref
类型:
Ref
示例
```tsx
const { connected } = useCoGuestState(liveID);
console.log('已连接嘉宾数量:', connected.length);
connected.forEach(guest => {
console.log('嘉宾:', guest.userName, '座位:', guest.seatIndex);
});
```
invitees
const invitees: Ref
类型:
Ref
示例
```tsx
const { invitees } = useCoGuestState(liveID);
console.log('被邀请用户数量:', invitees.length);
invitees.forEach(user => {
console.log('被邀请用户:', user.nickname, user.userID);
});
```
applicants
const applicants: Ref
类型:
Ref
示例
```tsx
const { applicants } = useCoGuestState(liveID);
console.log('申请用户数量:', applicants.length);
applicants.forEach(user => {
console.log('申请用户:', user.nickname, user.userID);
});
```
candidates
const candidates: Ref
类型:
Ref
示例
```tsx
const { candidates } = useCoGuestState(liveID);
console.log('候选用户数量:', candidates.length);
candidates.forEach(user => {
console.log('候选用户:', user.nickname, user.userID);
});
```
接口函数
applyForSeat
function applyForSeat(params: ApplyForSeatOptions)
申请连麦座位
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | ApplyForSeatOptions | 申请连麦座位参数 |
示例
```tsx
await applyForSeat({
liveID: 'your_live_id',
seatIndex: 2,
timeout: 10,
extension: 'extra info',
onSuccess: () => console.log('申请成功'),
onError: (error) => console.error('申请失败:', error)
});
```
cancelApplication
function cancelApplication(params: CancelApplicationOptions)
取消申请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelApplicationOptions | 取消申请参数 |
示例
```tsx
await cancelApplication({
liveID: 'your_live_id',
onSuccess: () => console.log('取消申请成功'),
onError: (error) => console.error('取消申请失败:', error)
});
```
acceptApplication
function acceptApplication(params: AcceptApplicationOptions)
接受申请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptApplicationOptions | 接受申请参数 |
示例
```tsx
await acceptApplication({
liveID: 'your_live_id',
userID: 'user123',
seatIndex: 0,
onSuccess: () => console.log('接受申请成功'),
onError: (error) => console.error('接受申请失败:', error)
});
```
rejectApplication
function rejectApplication(params: RejectApplicationOptions)
拒绝申请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectApplicationOptions | 拒绝申请参数 |
示例
```tsx
await rejectApplication({
liveID: 'your_live_id',
userID: 'user123',
onSuccess: () => console.log('拒绝申请成功'),
onError: (error) => console.error('拒绝申请失败:', error)
});
```
inviteToSeat
function inviteToSeat(params: InviteToSeatOptions)
邀请上麦
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | InviteToSeatOptions | 邀请上麦参数 |
示例
```tsx
await inviteToSeat({
liveID: 'your_live_id',
userID: 'user123',
seatIndex: 2,
timeout: 10,
extension: 'extra info',
onSuccess: () => console.log('邀请成功'),
onError: (error) => console.error('邀请失败:', error)
});
```
cancelInvitation
function cancelInvitation(params: CancelInvitationOptions)
取消邀请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelInvitationOptions | 取消邀请参数 |
示例
```tsx
await cancelInvitation({
liveID: 'your_live_id',
inviteeID: 'user123',
onSuccess: () => console.log('取消邀请成功'),
onError: (error) => console.error('取消邀请失败:', error)
});
```
acceptInvitation
function acceptInvitation(params: AcceptInvitationOptions)
接受邀请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptInvitationOptions | 接受邀请参数 |
示例
```tsx
await acceptInvitation({
liveID: 'your_live_id',
inviterID: 'user123',
onSuccess: () => console.log('接受邀请成功'),
onError: (error) => console.error('接受邀请失败:', error)
});
```
rejectInvitation
function rejectInvitation(params: RejectInvitationOptions)
拒绝邀请
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectInvitationOptions | 拒绝邀请参数 |
示例
```tsx
await rejectInvitation({
liveID: 'your_live_id',
inviterID: 'user123',
onSuccess: () => console.log('拒绝邀请成功'),
onError: (error) => console.error('拒绝邀请失败:', error)
});
```
disconnect
function disconnect(params?: DisconnectOptions)
断开连麦连接
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | DisconnectOptions | 断开连接参数(可选) |
示例
```tsx
await disconnect({
liveID: 'your_live_id',
onSuccess: () => console.log('断开连接成功'),
onError: (error) => console.error('断开连接失败:', error)
});
```
addCoGuestGuestListener
function addCoGuestGuestListener(eventName: string, listener: (params?: unknown) => void, liveIDParam?: string, listenerID?: string)
添加连麦嘉宾侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onHostInvitationReceived'(收到主播邀请) 'onHostInvitationCancelled'(主播取消邀请) 'onGuestApplicationResponded'(嘉宾申请响应) 'onGuestApplicationNoResponse'(嘉宾申请无响应) 'onKickedOffSeat'(被踢下座位) |
| listener | (params?: unknown) => void | 事件回调函数 |
| liveID | any | 直播间ID(可选,如果传入则使用传入的,否则使用 hook 中的 liveID) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addCoGuestGuestListener('onHostInvitationReceived', (params) => {
console.log('收到主播邀请:', params);
});
```
removeCoGuestGuestListener
function removeCoGuestGuestListener(eventName: string, liveIDParam?: string, listenerID?: string)
移除连麦嘉宾侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onHostInvitationReceived'(收到主播邀请) 'onHostInvitationCancelled'(主播取消邀请) 'onGuestApplicationResponded'(嘉宾申请响应) 'onGuestApplicationNoResponse'(嘉宾申请无响应) 'onKickedOffSeat'(被踢下座位) |
| liveID | any | 直播间ID(可选,如果传入则使用传入的,否则使用 hook 中的 liveID) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeCoGuestGuestListener('onHostInvitationReceived');
```
addCoGuestHostListener
function addCoGuestHostListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加连麦主播侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onGuestApplicationReceived'(收到嘉宾申请) 'onGuestApplicationCancelled'(嘉宾取消申请) 'onGuestApplicationProcessedByOtherHost'(嘉宾申请被其他主播处理) 'onHostInvitationResponded'(主播邀请得到回应) 'onHostInvitationNoResponse'(主播邀请无响应) |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addCoGuestHostListener('onGuestApplicationReceived', (params) => {
console.log('收到嘉宾申请:', params);
});
```
removeCoGuestHostListener
function removeCoGuestHostListener(eventName: string, listenerID?: string)
移除连麦主播侧事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onGuestApplicationReceived'(收到嘉宾申请) 'onGuestApplicationCancelled'(嘉宾取消申请) 'onGuestApplicationProcessedByOtherHost'(嘉宾申请被其他主播处理) 'onHostInvitationResponded'(主播邀请得到回应) 'onHostInvitationNoResponse'(主播邀请无响应) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeCoGuestHostListener('onGuestApplicationReceived');
```
CoHostState
连线主播管理模块
核心功能:实现主播间的连线功能,支持主播邀请、连线申请、连线状态管理等主播间互动功能。
技术特点:支持多主播音视频同步、画中画显示、音视频质量优化等高级技术,确保连线体验的流畅性。
业务价值:为直播平台提供主播间协作的核心能力,支持PK、合作直播等高级业务场景。
应用场景:主播连线、合作直播、跨平台连线、主播互动等高级直播场景。
核心功能:实现主播间的连线功能,支持主播邀请、连线申请、连线状态管理等主播间互动功能。
技术特点:支持多主播音视频同步、画中画显示、音视频质量优化等高级技术,确保连线体验的流畅性。
业务价值:为直播平台提供主播间协作的核心能力,支持PK、合作直播等高级业务场景。
应用场景:主播连线、合作直播、跨平台连线、主播互动等高级直播场景。
响应式数据
connected
const connected: Ref
类型:
Ref
示例
```tsx
const { connected } = useCoHostState(liveID);
console.log('已连接主播数量:', connected.length);
connected.forEach(host => {
console.log('主播:', host.nickname, host.userID);
});
```
invitees
const invitees: Ref
类型:
Ref
示例
```tsx
const { invitees } = useCoHostState(liveID);
console.log('被邀请主播数量:', invitees.length);
invitees.forEach(host => {
console.log('被邀请主播:', host.nickname, host.userID);
});
```
applicant
const applicant: Ref
类型:
Ref
示例
```tsx
const { applicant } = useCoHostState(liveID);
if (applicant) {
console.log('申请主播:', applicant.nickname, applicant.userID);
}
```
candidates
const candidates: Ref
类型:
Ref
示例
```tsx
const { candidates } = useCoHostState(liveID);
console.log('候选主播数量:', candidates.length);
candidates.forEach(host => {
console.log('候选主播:', host.nickname, host.userID);
});
```
coHostStatus
const coHostStatus: Ref
类型:
Ref
示例
```tsx
const { coHostStatus } = useCoHostState(liveID);
console.log('当前连线状态:', coHostStatus);
if (coHostStatus === CoHostStatus.CONNECTED) {
console.log('已连线');
}
```
接口函数
requestHostConnection
function requestHostConnection(params: RequestHostConnectionOptions)
请求连线
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RequestHostConnectionOptions | 请求连线参数 |
示例
```tsx
await requestHostConnection({
liveID: 'your_live_id',
onSuccess: () => console.log('请求连线成功'),
onError: (error) => console.error('请求连线失败:', error)
});
```
cancelHostConnection
function cancelHostConnection(params: CancelHostConnectionOptions)
取消连线请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelHostConnectionOptions | 取消连线请求参数 |
示例
```tsx
await cancelHostConnection({
liveID: 'your_live_id',
toHostLiveID: 'target_live_id',
onSuccess: () => console.log('取消连线请求成功'),
onError: (error) => console.error('取消连线请求失败:', error)
});
```
acceptHostConnection
function acceptHostConnection(params: AcceptHostConnectionOptions)
接受连线请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptHostConnectionOptions | 接受连线请求参数 |
示例
```tsx
await acceptHostConnection({
liveID: 'your_live_id',
fromHostLiveID: 'from_live_id',
onSuccess: () => console.log('接受连线请求成功'),
onError: (error) => console.error('接受连线请求失败:', error)
});
```
rejectHostConnection
function rejectHostConnection(params: RejectHostConnectionOptions)
拒绝连线请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectHostConnectionOptions | 拒绝连线请求参数 |
示例
```tsx
await rejectHostConnection({
liveID: 'your_live_id',
fromHostLiveID: 'from_live_id',
onSuccess: () => console.log('拒绝连线请求成功'),
onError: (error) => console.error('拒绝连线请求失败:', error)
});
```
exitHostConnection
function exitHostConnection(params?: ExitHostConnectionOptions)
退出连线
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | ExitHostConnectionOptions | 退出连线参数(可选) |
示例
```tsx
await exitHostConnection({
liveID: 'your_live_id',
onSuccess: () => console.log('退出连线成功'),
onError: (error) => console.error('退出连线失败:', error)
});
```
addCoHostListener
function addCoHostListener(eventName: string, listener: (params?: unknown) => void, liveIDParam?: string, listenerID?: string)
添加连线主播事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onCoHostRequestReceived'(收到连线请求) 'onCoHostRequestCancelled'(连线请求被取消) 'onCoHostRequestAccepted'(连线请求被接受) 'onCoHostRequestRejected'(连线请求被拒绝) 'onCoHostRequestTimeout'(连线请求超时) 'onCoHostUserJoined'(连线用户加入) 'onCoHostUserLeft'(连线用户离开) |
| listener | (params?: unknown) => void | 事件回调函数 |
| liveID | any | 直播间ID(可选,如果传入则使用传入的,否则使用 hook 中的 liveID) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addCoHostListener('onCoHostRequestReceived', (params) => {
console.log('收到连线请求:', params);
});
```
removeCoHostListener
function removeCoHostListener(eventName: string, liveIDParam?: string, listenerID?: string)
移除连线主播事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onCoHostRequestReceived'(收到连线请求) 'onCoHostRequestCancelled'(连线请求被取消) 'onCoHostRequestAccepted'(连线请求被接受) 'onCoHostRequestRejected'(连线请求被拒绝) 'onCoHostRequestTimeout'(连线请求超时) 'onCoHostUserJoined'(连线用户加入) 'onCoHostUserLeft'(连线用户离开) |
| liveID | any | 直播间ID(可选,如果传入则使用传入的,否则使用 hook 中的 liveID) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeCoHostListener('onCoHostRequestReceived');
```
BattleState
直播 PK 管理模块
核心功能:处理主播间的PK对战流程,包括PK请求、接受、拒绝、退出等完整的PK管理功能。
技术特点:支持实时PK状态同步、分数统计、PK时长控制、结果计算等高级功能。
业务价值:为直播平台提供丰富的互动玩法,增加主播收益和用户粘性。
应用场景:主播PK、对战直播、分数统计、互动游戏等娱乐互动场景。
核心功能:处理主播间的PK对战流程,包括PK请求、接受、拒绝、退出等完整的PK管理功能。
技术特点:支持实时PK状态同步、分数统计、PK时长控制、结果计算等高级功能。
业务价值:为直播平台提供丰富的互动玩法,增加主播收益和用户粘性。
应用场景:主播PK、对战直播、分数统计、互动游戏等娱乐互动场景。
响应式数据
currentBattleInfo
const currentBattleInfo: Ref
当前 PK 信息
@description 存储当前 PK 对战的详细信息,包括 PK ID、状态、时长等,null 表示当前没有进行中的 PK
@default 从全局 store 获取初始值
类型:
Ref
battleUsers
const battleUsers: Ref
PK 用户列表
@description 参与当前 PK 对战的所有用户信息列表,包含用户基本信息和 PK 状态
@default 从全局 store 获取初始值
类型:
Ref
battleScore
const battleScore: Ref
PK 分数映射
@description 存储各用户在 PK 中的得分,key 为用户 ID,value 为分数,null 表示当前没有分数数据
@default 从全局 store 获取初始值
类型:
Ref
接口函数
requestBattle
function requestBattle(params: RequestBattleOptions)
请求 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RequestBattleOptions | 请求 PK 参数 |
示例
```tsx
await requestBattle({
liveID: 'your_live_id',
userIDList: ['target_user_id'],
timeout: 10,
config: {
duration: 300,
needResponse: true,
},
onSuccess: (battleInfo) => console.log('PK 请求成功:', battleInfo),
onError: (error) => console.error('PK 请求失败:', error)
});
```
cancelBattleRequest
function cancelBattleRequest(params: CancelBattleRequestOptions)
取消 PK 请求
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | CancelBattleRequestOptions | 取消 PK 请求参数 |
示例
```tsx
await cancelBattleRequest({
liveID: 'your_live_id',
battleID: 'battle_id',
userIDList: ['target_user_id'],
onSuccess: () => console.log('取消 PK 请求成功'),
onError: (error) => console.error('取消 PK 请求失败:', error)
});
```
acceptBattle
function acceptBattle(params: AcceptBattleOptions)
接受 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AcceptBattleOptions | 接受 PK 参数 |
示例
```tsx
await acceptBattle({
liveID: 'your_live_id',
battleID: 'battle_id',
onSuccess: () => console.log('接受 PK 成功'),
onError: (error) => console.error('接受 PK 失败:', error)
});
```
rejectBattle
function rejectBattle(params: RejectBattleOptions)
拒绝 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RejectBattleOptions | 拒绝 PK 参数 |
示例
```tsx
await rejectBattle({
liveID: 'your_live_id',
battleID: 'battle_id',
onSuccess: () => console.log('拒绝 PK 成功'),
onError: (error) => console.error('拒绝 PK 失败:', error)
});
```
exitBattle
function exitBattle(params: ExitBattleOptions)
退出 PK
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | ExitBattleOptions | 退出 PK 参数 |
示例
```tsx
await exitBattle({
liveID: 'your_live_id',
battleID: 'battle_id',
onSuccess: () => console.log('退出 PK 成功'),
onError: (error) => console.error('退出 PK 失败:', error)
});
```
addBattleListener
function addBattleListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加 PK 事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onBattleStarted'(PK 开始) 'onBattleEnded'(PK 结束) 'onUserJoinBattle'(当前有用户加入 PK 对战) 'onUserExitBattle'(当前有用户退出 PK 对战) 'onBattleRequestReceived'(收到 PK 请求) 'onBattleRequestCancelled'(取消 PK 请求) 'onBattleRequestTimeout'(当前 PK 对战请求超时) 'onBattleRequestAccept'(当前 PK 对战请求被接受) 'onBattleRequestReject'(当前 PK 对战请求被拒绝) |
| listener | (params?: unknown) => void | 事件处理函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addBattleListener('onBattleStarted', (params) => {
console.log('PK 已开始:', params);
});
```
removeBattleListener
function removeBattleListener(eventName: string, listenerID?: string)
移除 PK 事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onBattleStarted'(PK 开始) 'onBattleEnded'(PK 结束) 'onUserJoinBattle'(当前有用户加入 PK 对战) 'onUserExitBattle'(当前有用户退出 PK 对战) 'onBattleRequestReceived'(收到 PK 请求) 'onBattleRequestCancelled'(取消 PK 请求) 'onBattleRequestTimeout'(当前 PK 对战请求超时) 'onBattleRequestAccept'(当前 PK 对战请求被接受) 'onBattleRequestReject'(当前 PK 对战请求被拒绝) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeBattleListener('onBattleStarted');
```
DeviceState
设备状态管理模块
核心功能:管理摄像头、麦克风等音视频设备的控制,提供设备状态监控、权限检查等基础设备服务。
技术特点:支持多设备管理、设备状态实时监控、权限动态检查、设备故障自动恢复等高级功能。
业务价值:为直播系统提供稳定的设备基础,确保音视频采集的可靠性和用户体验。
应用场景:设备管理、权限控制、音视频采集、设备故障处理等基础技术场景。
核心功能:管理摄像头、麦克风等音视频设备的控制,提供设备状态监控、权限检查等基础设备服务。
技术特点:支持多设备管理、设备状态实时监控、权限动态检查、设备故障自动恢复等高级功能。
业务价值:为直播系统提供稳定的设备基础,确保音视频采集的可靠性和用户体验。
应用场景:设备管理、权限控制、音视频采集、设备故障处理等基础技术场景。
响应式数据
microphoneStatus
const microphoneStatus: Ref
类型:
Ref
示例
```tsx
const { microphoneStatus } = useDeviceState();
console.log('麦克风状态:', microphoneStatus);
if (microphoneStatus === DeviceStatus.ON) {
console.log('麦克风已开启');
}
```
microphoneLastError
const microphoneLastError: Ref
类型:
Ref
示例
```tsx
const { microphoneLastError } = useDeviceState();
if (microphoneLastError === DeviceErrorEnum.NO_SYSTEM_PERMISSION) {
console.log('麦克风权限未授予');
}
```
hasPublishAudioPermission
const hasPublishAudioPermission: Ref
类型:
Ref
示例
```tsx
const { hasPublishAudioPermission } = useDeviceState();
console.log('音频发布权限:', hasPublishAudioPermission);
```
captureVolume
const captureVolume: Ref
类型:
Ref
示例
```tsx
const { captureVolume } = useDeviceState();
console.log('采集音量:', captureVolume);
```
currentMicVolume
const currentMicVolume: Ref
类型:
Ref
示例
```tsx
const { currentMicVolume } = useDeviceState();
console.log('当前麦克风音量:', currentMicVolume);
```
cameraStatus
const cameraStatus: Ref
类型:
Ref
示例
```tsx
const { cameraStatus } = useDeviceState();
console.log('摄像头状态:', cameraStatus);
if (cameraStatus === DeviceStatus.ON) {
console.log('摄像头已开启');
}
```
cameraLastError
const cameraLastError: Ref
类型:
Ref
示例
```tsx
const { cameraLastError } = useDeviceState();
if (cameraLastError === DeviceErrorEnum.NO_DEVICE_DETECTED) {
console.log('未检测到摄像头');
}
```
isFrontCamera
const isFrontCamera: Ref
类型:
Ref
示例
```tsx
const { isFrontCamera } = useDeviceState();
console.log('是否前置摄像头:', isFrontCamera);
```
localMirrorType
const localMirrorType: Ref
类型:
Ref
示例
```tsx
const { localMirrorType } = useDeviceState();
console.log('本地镜像类型:', localMirrorType);
```
localVideoQuality
const localVideoQuality: Ref
类型:
Ref
示例
```tsx
const { localVideoQuality } = useDeviceState();
if (localVideoQuality) {
console.log('视频质量:', localVideoQuality);
}
```
outputVolume
const outputVolume: Ref
类型:
Ref
示例
```tsx
const { outputVolume } = useDeviceState();
console.log('输出音量:', outputVolume);
```
currentAudioRoute
const currentAudioRoute: Ref
类型:
Ref
示例
```tsx
const { currentAudioRoute } = useDeviceState();
console.log('当前音频路由:', currentAudioRoute);
```
screenStatus
const screenStatus: Ref
类型:
Ref
示例
```tsx
const { screenStatus } = useDeviceState();
console.log('屏幕共享状态:', screenStatus);
```
networkInfo
const networkInfo: Ref
类型:
Ref
示例
```tsx
const { networkInfo } = useDeviceState();
if (networkInfo) {
console.log('网络信息:', networkInfo);
}
```
接口函数
openLocalMicrophone
function openLocalMicrophone(params?: OpenLocalMicrophoneOptions)
打开本地麦克风
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | OpenLocalMicrophoneOptions | 麦克风参数(可选) |
示例
```tsx
await openLocalMicrophone({
onSuccess: () => console.log('麦克风已打开'),
onError: (error) => console.error('打开麦克风失败:', error)
});
```
closeLocalMicrophone
function closeLocalMicrophone()
关闭本地麦克风
示例
```tsx
closeLocalMicrophone();
```
setCaptureVolume
function setCaptureVolume(params: VolumeOptions)
设置采集音量
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | VolumeOptions | 音量参数 |
示例
```tsx
setCaptureVolume({
volume: 80,
onSuccess: () => console.log('音量设置成功'),
onError: (error) => console.error('音量设置失败:', error)
});
```
setOutputVolume
function setOutputVolume(params: VolumeOptions)
设置输出音量
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | VolumeOptions | 音量参数 |
示例
```tsx
setOutputVolume({
volume: 90,
onSuccess: () => console.log('输出音量设置成功'),
onError: (error) => console.error('输出音量设置失败:', error)
});
```
setAudioRoute
function setAudioRoute(params: SetAudioRouteOptions)
设置音频路由
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAudioRouteOptions | 音频路由参数 |
示例
```tsx
setAudioRoute({
route: 'SPEAKERPHONE',
onSuccess: () => console.log('音频路由设置成功'),
onError: (error) => console.error('音频路由设置失败:', error)
});
```
openLocalCamera
function openLocalCamera(params?: OpenLocalCameraOptions)
打开本地摄像头
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | OpenLocalCameraOptions | 摄像头参数(可选) |
示例
```tsx
await openLocalCamera({
isFront: true,
onSuccess: () => console.log('摄像头已打开'),
onError: (error) => console.error('打开摄像头失败:', error)
});
```
closeLocalCamera
function closeLocalCamera()
关闭本地摄像头
示例
```tsx
closeLocalCamera();
```
switchCamera
function switchCamera(params: SwitchCameraOptions)
切换摄像头前后置
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SwitchCameraOptions | 切换参数 |
示例
```tsx
switchCamera({
isFront: true,
onSuccess: () => console.log('摄像头切换成功'),
onError: (error) => console.error('摄像头切换失败:', error)
});
```
switchMirror
function switchMirror(params: SwitchMirrorOptions)
切换镜像
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SwitchMirrorOptions | 镜像参数 |
示例
```tsx
switchMirror({
mirrorType: MirrorType.AUTO,
onSuccess: () => console.log('镜像切换成功'),
onError: (error) => console.error('镜像切换失败:', error)
});
```
updateVideoQuality
function updateVideoQuality(params: UpdateVideoQualityOptions)
更新视频质量
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | UpdateVideoQualityOptions | 视频质量参数 |
示例
```tsx
updateVideoQuality({
quality: 'VIDEOQUALITY_1080P',
onSuccess: () => console.log('视频质量更新成功'),
onError: (error) => console.error('视频质量更新失败:', error)
});
```
addDeviceListener
function addDeviceListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加设备事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addDeviceListener('onDeviceStatusChanged', (params) => {
console.log('设备状态变化:', params);
});
```
removeDeviceListener
function removeDeviceListener(eventName: string, listenerID?: string)
移除设备事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeDeviceListener('onDeviceStatusChanged');
```
AudioEffectState
音效设置管理模块
核心功能:提供变声、混响、耳返等高级音效功能,支持多种音效效果和实时音效调节。
技术特点:基于音频处理算法,支持实时音效处理、低延迟音频传输、音质优化等高级技术。
业务价值:为直播平台提供差异化的音效体验,增强用户参与度和直播趣味性。
应用场景:变声直播、K歌直播、音效娱乐、专业音效等需要音频处理的场景。
核心功能:提供变声、混响、耳返等高级音效功能,支持多种音效效果和实时音效调节。
技术特点:基于音频处理算法,支持实时音效处理、低延迟音频传输、音质优化等高级技术。
业务价值:为直播平台提供差异化的音效体验,增强用户参与度和直播趣味性。
应用场景:变声直播、K歌直播、音效娱乐、专业音效等需要音频处理的场景。
响应式数据
isEarMonitorOpened
const isEarMonitorOpened: Ref
耳返开关状态
@description 控制是否开启耳返功能,true 表示开启,false 表示关闭
@default 从全局 store 获取初始值
类型:
Ref
earMonitorVolume
const earMonitorVolume: Ref
耳返音量大小
@description 耳返功能的音量级别,用于调节耳返的声音大小
@default 从全局 store 获取初始值
类型:
Ref
audioChangerType
const audioChangerType: Ref
变声类型
@description 当前应用的变声效果类型,支持多种变声效果(如男声、女声、金属音等)
@default 从全局 store 获取初始值
类型:
Ref
audioReverbType
const audioReverbType: Ref
混响类型
@description 当前应用的混响效果类型,支持多种混响效果(如 KTV、音乐厅、深沉等)
@default 从全局 store 获取初始值
类型:
Ref
接口函数
setAudioChangerType
function setAudioChangerType(params: SetAudioChangerTypeOptions)
设置变声效果
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAudioChangerTypeOptions | 变声效果参数 |
示例
```tsx
await setAudioChangerType({
changerType: 'MAN',
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
setAudioReverbType
function setAudioReverbType(params: SetAudioReverbTypeOptions)
设置混响效果
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetAudioReverbTypeOptions | 混响效果参数 |
示例
```tsx
await setAudioReverbType({
reverbType: 'KTV',
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
setVoiceEarMonitorEnable
function setVoiceEarMonitorEnable(params: SetVoiceEarMonitorEnableOptions)
设置耳返开关状态
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetVoiceEarMonitorEnableOptions | 耳返开关参数 |
示例
```tsx
await setVoiceEarMonitorEnable({
enable: true,
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
setVoiceEarMonitorVolume
function setVoiceEarMonitorVolume(params: VolumeOptions)
设置耳返音量大小
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | VolumeOptions | 耳返音量参数 |
示例
```tsx
await setVoiceEarMonitorVolume({
volume: 50,
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
addAudioEffectListener
function addAudioEffectListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加音效事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addAudioEffectListener('onAudioEffectChanged', (params) => {
console.log('音效变化:', params);
});
```
removeAudioEffectListener
function removeAudioEffectListener(eventName: string, listenerID?: string)
移除音效事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeAudioEffectListener('onAudioEffectChanged');
```
BarrageState
弹幕管理管理模块
核心功能:处理直播间内的文本消息、自定义消息等弹幕功能,支持弹幕发送、消息状态同步等。
技术特点:支持高并发消息处理、实时消息同步、消息过滤、表情包支持等高级功能。
业务价值:为直播平台提供核心的互动能力,增强用户参与度和直播氛围。
应用场景:弹幕互动、消息管理、表情包、聊天室等社交互动场景。
核心功能:处理直播间内的文本消息、自定义消息等弹幕功能,支持弹幕发送、消息状态同步等。
技术特点:支持高并发消息处理、实时消息同步、消息过滤、表情包支持等高级功能。
业务价值:为直播平台提供核心的互动能力,增强用户参与度和直播氛围。
应用场景:弹幕互动、消息管理、表情包、聊天室等社交互动场景。
响应式数据
messageList
const messageList: Ref
当前房间的弹幕消息列表
@description 存储直播间内所有弹幕消息的列表,包含文本消息、自定义消息等各类弹幕数据
@default 从全局 store 获取初始值
类型:
Ref
allowSendMessage
const allowSendMessage: Ref
是否允许发送消息
@description 控制用户是否有权限发送弹幕消息,true 表示允许发送,false 表示禁止发送
@default 从全局 store 获取初始值
类型:
Ref
接口函数
sendTextMessage
function sendTextMessage(params: SendTextMessageOptions)
发送文本类型弹幕
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendTextMessageOptions | 发送文本弹幕参数 |
示例
```tsx
await sendTextMessage({
liveID: 'your_live_id',
text: 'Hello World',
onSuccess: () => console.log('发送成功'),
onError: (error) => console.error('发送失败:', error)
});
```
sendCustomMessage
function sendCustomMessage(params: SendCustomMessageOptions)
发送自定义类型弹幕
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendCustomMessageOptions | 发送自定义类型弹幕参数 |
示例
```tsx
await sendCustomMessage({
liveID: 'your_live_id',
businessID: 'livekit',
data: JSON.stringify('my custom message'),
onSuccess: () => console.log('发送成功'),
onError: (error) => console.error('发送失败:', error)
});
```
appendLocalTip
function appendLocalTip(params: AppendLocalTipOptions)
添加本地提示消息
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | AppendLocalTipOptions | 添加本地提示消息参数 |
示例
```tsx
await appendLocalTip({
liveID: 'your_live_id',
message: { text: 'Hello World' },
onSuccess: () => console.log('添加成功'),
onError: (error) => console.error('添加失败:', error)
});
```
addBarrageListener
function addBarrageListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加弹幕事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addBarrageListener('onMessageReceived', (params) => {
console.log('收到消息:', params);
});
```
removeBarrageListener
function removeBarrageListener(eventName: string, listenerID?: string)
移除弹幕事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeBarrageListener('onMessageReceived');
```
BaseBeautyState
基础美颜管理模块
核心功能:提供磨皮、美白、红润等基础美颜效果调节,支持实时美颜参数调整。
技术特点:支持实时美颜处理、参数平滑调节、性能优化等高级技术。
业务价值:为直播平台提供基础的美颜能力,提升用户形象和直播质量。
应用场景:美颜直播、形象优化、美颜调节、直播美化等需要美颜功能的场景。
核心功能:提供磨皮、美白、红润等基础美颜效果调节,支持实时美颜参数调整。
技术特点:支持实时美颜处理、参数平滑调节、性能优化等高级技术。
业务价值:为直播平台提供基础的美颜能力,提升用户形象和直播质量。
应用场景:美颜直播、形象优化、美颜调节、直播美化等需要美颜功能的场景。
响应式数据
smoothLevel
const smoothLevel: Ref
磨皮级别
@description 取值范围[0,9]: 0 表示关闭,9 表示效果最明显
@default 从全局 store 获取初始值
类型:
Ref
whitenessLevel
const whitenessLevel: Ref
美白级别
@description 取值范围[0,9]: 0 表示关闭,9 表示效果最明显
@default 从全局 store 获取初始值
类型:
Ref
ruddyLevel
const ruddyLevel: Ref
红润级别
@description 取值范围[0,9]: 0 表示关闭,9 表示效果最明显
@default 从全局 store 获取初始值
类型:
Ref
接口函数
setSmoothLevel
function setSmoothLevel(params: SetSmoothLevelOptions)
设置磨皮级别
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetSmoothLevelOptions | 磨皮参数,取值范围[0,9]: 0 表示关闭,9 表示效果最明显 |
示例
```tsx
await setSmoothLevel({
smoothLevel: 5,
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
setWhitenessLevel
function setWhitenessLevel(params: SetWhitenessLevelOptions)
设置美白级别
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetWhitenessLevelOptions | 美白参数,取值范围[0,9]: 0 表示关闭,9 表示效果最明显 |
示例
```tsx
await setWhitenessLevel({
whitenessLevel: 6,
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
setRuddyLevel
function setRuddyLevel(params: SetRuddyLevelOptions)
设置红润级别
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetRuddyLevelOptions | 红润参数,取值范围[0,9]: 0 表示关闭,9 表示效果最明显 |
示例
```tsx
await setRuddyLevel({
ruddyLevel: 4,
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
setRealUiValue
function setRealUiValue(type: BeautyType, value: number)
设置真实 UI 值
同时更新组件本地状态和全局 store,确保持久化
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | BeautyType | 美颜类型 |
| value | number | 值 |
示例
```tsx
setRealUiValue('smooth', 5);
```
getRealUiValue
function getRealUiValue(type: BeautyType)
获取真实 UI 值
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | BeautyType | 美颜类型 |
示例
```tsx
const value = getRealUiValue('smooth');
```
resetRealUiValues
function resetRealUiValues()
重置真实 UI 值
同时重置组件本地状态和全局 store
示例
```tsx
resetRealUiValues();
```
addBeautyListener
function addBeautyListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加美颜事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addBeautyListener('onBeautyLevelChanged', (params) => {
console.log('美颜级别变化:', params);
});
```
removeBeautyListener
function removeBeautyListener(eventName: string, listenerID?: string)
移除美颜事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeBeautyListener('onBeautyLevelChanged');
```
GiftState
礼物系统管理模块
核心功能:处理礼物的发送、接收、礼物列表管理等功能,支持礼物分类、礼物动画、礼物统计等完整礼物经济系统。
技术特点:支持礼物动画渲染、礼物特效处理、礼物统计、礼物排行榜等高级功能。
业务价值:为直播平台提供核心的变现能力,支持礼物经济、虚拟货币等商业模式。
应用场景:礼物打赏、虚拟货币、礼物特效、礼物统计等商业化场景。
核心功能:处理礼物的发送、接收、礼物列表管理等功能,支持礼物分类、礼物动画、礼物统计等完整礼物经济系统。
技术特点:支持礼物动画渲染、礼物特效处理、礼物统计、礼物排行榜等高级功能。
业务价值:为直播平台提供核心的变现能力,支持礼物经济、虚拟货币等商业模式。
应用场景:礼物打赏、虚拟货币、礼物特效、礼物统计等商业化场景。
响应式数据
usableGifts
const usableGifts: Ref
类型:
Ref
示例
```tsx
const { usableGifts } = useGiftState(liveID);
console.log('可用礼物分类数量:', usableGifts.length);
usableGifts.forEach(category => {
console.log('分类:', category.name);
category.giftList?.forEach(gift => {
console.log('礼物:', gift.name, '价格:', gift.price);
});
});
```
接口函数
refreshUsableGifts
function refreshUsableGifts(params?: RefreshUsableGiftsOptions)
刷新可用礼物列表
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | RefreshUsableGiftsOptions | 刷新礼物列表参数(可选) |
示例
```tsx
await refreshUsableGifts({
liveID: 'your_live_id',
onSuccess: () => console.log('刷新成功'),
onError: (error) => console.error('刷新失败:', error)
});
```
sendGift
function sendGift(params: SendGiftOptions)
发送礼物
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendGiftOptions | 发送礼物参数 |
示例
```tsx
await sendGift({
liveID: 'your_live_id',
giftID: 'gift001',
count: 1,
receiverList: ['user1', 'user2'],
onSuccess: () => console.log('发送成功'),
onError: (error) => console.error('发送失败:', error)
});
```
setLanguage
function setLanguage(params: SetLanguageOptions)
设置礼物语言
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SetLanguageOptions | 设置礼物语言参数 |
示例
```tsx
await setLanguage({
liveID: 'your_live_id',
language: 'zh-CN',
onSuccess: () => console.log('设置成功'),
onError: (error) => console.error('设置失败:', error)
});
```
addGiftListener
function addGiftListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加礼物事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onReceiveGift'(收到礼物) |
| listener | (params?: unknown) => void | 事件监听器函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addGiftListener('onReceiveGift', (params) => {
console.log('收到礼物:', params);
});
```
removeGiftListener
function removeGiftListener(eventName: string, listenerID?: string)
移除礼物事件监听器
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onReceiveGift'(收到礼物) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeGiftListener('onReceiveGift');
```
LikeState
点赞互动管理模块
核心功能:处理直播间的点赞功能,支持点赞发送、点赞统计、点赞事件监听等互动功能。
技术特点:支持高并发点赞处理、实时点赞统计、点赞动画效果、点赞排行榜等高级功能。
业务价值:为直播平台提供基础的互动能力,增强用户参与度和直播氛围。
应用场景:点赞互动、人气统计、互动效果、用户参与等基础互动场景。
核心功能:处理直播间的点赞功能,支持点赞发送、点赞统计、点赞事件监听等互动功能。
技术特点:支持高并发点赞处理、实时点赞统计、点赞动画效果、点赞排行榜等高级功能。
业务价值:为直播平台提供基础的互动能力,增强用户参与度和直播氛围。
应用场景:点赞互动、人气统计、互动效果、用户参与等基础互动场景。
响应式数据
totalLikeCount
const totalLikeCount: Ref
类型:
Ref
示例
```tsx
const { totalLikeCount } = useLikeState(liveID);
console.log('总点赞数:', totalLikeCount);
```
接口函数
sendLike
function sendLike(params: SendLikeOptions)
发送点赞
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| params | SendLikeOptions | 点赞参数 |
示例
```tsx
await sendLike({
liveID: 'your_live_id',
count: 1,
onSuccess: () => console.log('点赞成功'),
onError: (error) => console.error('点赞失败:', error)
});
```
addLikeListener
function addLikeListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加点赞事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onReceiveLikesMessage'(收到点赞消息) |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addLikeListener('onReceiveLikesMessage', (params) => {
console.log('收到点赞消息:', params);
});
```
removeLikeListener
function removeLikeListener(eventName: string, listenerID?: string)
移除点赞事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称,可选值: 'onReceiveLikesMessage'(收到点赞消息) |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeLikeListener('onReceiveLikesMessage');
```
LiveSummaryState
统计信息状态管理模块
核心功能:统计和展示直播过程中的关键数据,包括观看人数、点赞数、礼物数等实时统计。
技术特点:支持实时数据采集、数据聚合、统计分析等功能,提供完整的直播数据视图。
业务价值:为直播平台提供数据分析能力,支持直播效果评估和优化改进。
应用场景:直播数据展示、主播分析、流量统计、商业数据报表等数据分析场景。
核心功能:统计和展示直播过程中的关键数据,包括观看人数、点赞数、礼物数等实时统计。
技术特点:支持实时数据采集、数据聚合、统计分析等功能,提供完整的直播数据视图。
业务价值:为直播平台提供数据分析能力,支持直播效果评估和优化改进。
应用场景:直播数据展示、主播分析、流量统计、商业数据报表等数据分析场景。
响应式数据
summaryData
const summaryData: Ref
LiveSummaryState Hook
类型:
Ref
示例
```tsx
import { useLiveSummaryState } from '@/src/atomic-x/state/LiveSummaryState';
function SummaryComponent() {
const { summaryData } = useLiveSummaryState('your_live_id');
return (
<View>
{summaryData && (
<>
<Text>观看人数: {summaryData.viewerCount}</Text>
<Text>点赞数: {summaryData.likeCount}</Text>
<Text>礼物数: {summaryData.giftCount}</Text>
</>
)}
</View>
);
}
```
接口函数
addLiveSummaryListener
function addLiveSummaryListener(eventName: string, listener: (params?: unknown) => void, listenerID?: string)
添加统计事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listener | (params?: unknown) => void | 事件回调函数 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
addLiveSummaryListener('onSummaryDataChanged', (params) => {
console.log('统计数据变化:', params);
});
```
removeLiveSummaryListener
function removeLiveSummaryListener(eventName: string, listenerID?: string)
移除统计事件监听
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| listenerID | string | 监听器ID(可选) |
示例
```tsx
removeLiveSummaryListener('onSummaryDataChanged');
```