0.0.7 • Published 9 months ago

xinli-engine-wx v0.0.7

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

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 实例

参考文档

0.0.7

9 months ago

0.0.6

9 months ago

0.0.5

9 months ago

0.0.4

9 months ago

0.0.3

9 months ago

0.0.2

9 months ago

0.0.1

9 months ago