npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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

参考文档