xinli-engine-wx
v0.0.7
Published
TUIRoomEngine MiniProgram SDK
Downloads
13
Readme
TUIRoomEngine Web SDK
简介
TUIRoomEngine Web SDK 依托腾讯云 实时音视频 TRTC 和 即时通信 IM 服务,为用户提供房间管理,多人实时音视频互动,屏幕分享,成员管理,即时聊天等功能。
安装
// with npm
npm i @tencentcloud/tuiroom-engine-js --save
// with yarn
yarn add @tencentcloud/tuiroom-engine-js
// with pnpm
pnpm i @tencentcloud/tuiroom-engine-js --save
示例代码
import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';
let roomEngine = null;
// 错误
function onError(error) {
console.error(error);
}
// 音量变化
function onUserVoiceVolumeChanged(eventInfo) {
console.log(eventInfo.userVolumeList);
}
// 网络质量变化
function onUserNetworkQualityChanged(eventInfo) {
console.log(eventInfo.userNetworkList);
}
// 被踢出房间
function onKickedOutOfRoom(eventInfo) {
console.log(`roomId: ${eventInfo.roomId}, ${eventInfo.message}`);
}
// 用户是否被禁止发消息
function onUserMuteStateChanged(eventInfo) {
console.log(`user ${eventInfo.userId} isMute:${eventInfo.muted}`);
}
// 用户签名 userSig 过期
function onUserSigExpired() {
console.log('userSig expire');
}
// 被踢下线
function onKickedOffLine(eventInfo) {
console.log(`user offline, reason: ${eventInfo.message}`);
}
// 房间信息变更
function onRoomInfoChanged(eventInfo) {
console.log(`roomInfo ${JSON.stringify(eventInfo)}`);
}
// 设备变化:设备切换、设备插拔事件
function onDeviceChange(eventInfo) {
console.log(`deviceChange ${JSON.stringify(eventInfo)}`);
}
async function init() {
TUIRoomEngine.once('ready', () => {
roomEngine = new TUIRoomEngine();
roomEngine.on(TUIRoomEvents.onError, onError);
roomEngine.on(TUIRoomEvents.onUserVoiceVolumeChanged, onUserVoiceVolumeChanged);
roomEngine.on(TUIRoomEvents.onUserNetworkQualityChanged, onUserNetworkQualityChanged);
roomEngine.on(TUIRoomEvents.onKickedOutOfRoom, onKickedOutOfRoom);
roomEngine.on(TUIRoomEvents.onUserMuteStateChanged, onUserMuteStateChanged);
roomEngine.on(TUIRoomEvents.onUserSigExpired, onUserSigExpired);
roomEngine.on(TUIRoomEvents.onKickedOffLine, onKickedOffLine);
roomEngine.on(TUIRoomEvents.onRoomInfoChanged, onRoomInfoChanged);
roomEngine.on(TUIRoomEvents.onDeviceChange, onDeviceChange);
});
// sdkAppId 获取和 userSig 生成详见官网文档
// https://cloud.tencent.com/document/product/647/81962#step1
await TUIRoomEngine.login({ sdkAppId: 0, userId: '', userSig: '' });
await TUIRoomEngine.setSelfInfo({ userName: 'zhangsan', avatarUrl: 'https://testurl' });
}
init();
API 列表
| API | 含义 | | :-------------------------------- | :----------------- | | TUIRoomEngine.login | 登录 TUIRoomEngine | | TUIRoomEngine.setSelfInfo | 设置当前用户基本信息(用户名、用户头像) | | TUIRoomEngine.logout | 登出 TUIRoomEngine | | roomEngine.createRoom | 创建房间 | | roomEngine.enterRoom | 进入房间 | | roomEngine.destroyRoom | 销毁房间 | | roomEngine.exitRoom | 离开房间 | | roomEngine.getRoomInfo | 获取房间信息 | | roomEngine.updateRoomInfo | 更新房间信息 | | roomEngine.getUserList | 获取当前房间用户列表 | | roomEngine.getUserInfo | 获取用户的详细信息 | | roomEngine.takeSeat | 获取麦位 | | roomEngine.leaveSeat | 释放麦位 | | roomEngine.getSeatList | 获取麦位信息 | | roomEngine.requestToOpenRemoteCamera | 请求远端用户打开摄像头 | | roomEngine.closeRemoteCamera | 关闭远端用户摄像头 | | roomEngine.requestToOpenRemoteMicrophone | 请求远端用户打开麦克风 | | roomEngine.closeRemoteMicrophone | 关闭远端用户麦克风 | | roomEngine.requestRemoteUserOnSeat | 邀请其他人上麦 | | roomEngine.kickRemoteUserOffSeat | 要求其他人下麦 | | roomEngine.cancelRequest | 取消已经发出的请求 | | roomEngine.responseRemoteRequest | 回复远端用户的请求 | | roomEngine.setLocalRenderView | 设置本地流的渲染位置 | | roomEngine.openLocalCamera | 本地摄像头视频流采集 | | roomEngine.closeLocalCamera | 关闭本地摄像头 | | roomEngine.openLocalMicrophone | 打开本地麦克风 | | roomEngine.closeLocalMicrophone | 关闭本地麦克风 | | roomEngine.setLocalVideoProfile | 设置本地视频的参数 | | roomEngine.setLocalAudioProfile | 设置本地音频的参数 | | roomEngine.startPushLocalVideo | 开始向远端推本地视频流 | | roomEngine.stopPushLocalVideo | 停止向远端推本地视频流 | | roomEngine.startPushLocalAudio | 开始向远端推本地音频流 | | roomEngine.stopPushLocalAudio | 停止向远端推本地音频流 | | roomEngine.setRemoteRenderView | 设置远端流渲染的区域 | | roomEngine.startPlayRemoteVideo | 开始播放远端用户视频流 | | roomEngine.stopPlayRemoteVideo | 停止播放远端用户视频流 | | roomEngine.changeUserRole | 改变用户的角色 | | roomEngine.muteRemoteUser | 禁止远端用户发送消息 | | roomEngine.unmuteRemoteUser | 取消禁止远端用户发送消息 | | roomEngine.kickOutRemoteUser | 将用户踢出房间 | | roomEngine.sendTextMessage | 发送文本消息 | | roomEngine.sendCustomMessage | 发送自定义消息 | | roomEngine.startScreenSharing | 开始屏幕共享 | | roomEngine.stopScreenSharing | 停止屏幕共享 | | roomEngine.on | 监听 roomEngine 的事件 | | roomEngine.off | 取消监听 roomEngine 的事件 | | roomEngine.getCameraDevicesList | 获取摄像头设备列表 | | roomEngine.getMicDevicesList | 获取麦克风设备列表 | | roomEngine.getSpeakerDevicesList | 获取扬声器设备列表 | | roomEngine.setCurrentCameraDevice | 设置要使用的摄像头设备 | | roomEngine.setCurrentMicDevice | 设置要使用的麦克风设备 | | roomEngine.setCurrentSpeakerDevice | 设置要使用的扬声器设备 | | roomEngine.getCurrentCameraDevice | 获取当前正在使用的摄像头设备 | | roomEngine.getCurrentMicDevice | 获取当前正在使用的麦克风设备 | | roomEngine.getCurrentSpeakerDevice | 获取当前正在使用的扬声器设备 | | roomEngine.startCameraDeviceTest | 开始进行摄像头测试 | | roomEngine.stopCameraDeviceTest | 停止摄像头测试 | | roomEngine.getTRTCCloud | 获取 trtcCloud 实例 | | roomEngine.getTIM | 获取 tim 实例 |