RtcRoomContext.onRtcVideoMembersChanged
收藏
我的收藏

基础库 2.42.0 开始支持本方法,这是一个同步方法。

监听实时语音通话成员视频状态变化事件。

开启摄像头采集开启发布流的房内用户才视为有效视频通话成员。

前提条件
业务背景
使用限制
注意事项
支持沙盒
相关教程

语法

RtcRoomContext.onRtcVideoMembersChanged(callback)

参数说明

callback

类型默认值必填说明最低支持版本
function
实时语音通话成员视频状态变化事件的回调函数
2.42.0

callback 是一个回调函数,接收 object 类型的参数,属性如下:

属性名类型说明最低支持版本
userIdListArray<string>

开启视频的成员名单,Array<string>

2.42.0

返回值

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

import { RTC_APP_ID } from "../../utils/constant"; Page({ data: { ctx: null, userIdList: [], videoState: 0, audioState: 0, streamPublishState: 0, streamSubscribeState: 0, screenSubscribeState: 0, visible: false, device: "speakerphone", appId: RTC_APP_ID, // 每个应用的唯一标识符,由 RTC 控制台随机生成的。不同的 AppId 生成的实例在 RTC 中进行音视频通话完全独立,无法互通。 token: "", roomId: "", userId: "", camera: "front", scaleUserId: "", error: "no error", }, onLoad(options) { const { userId, roomId, token } = options; this.setData({ userId, roomId, token: decodeURIComponent(token), }); this.data.ctx = tt.createRtcRoomContext({ appId: this.data.appId, }); this.data.ctx.onRtcVideoMembersChanged(this.onRtcVideoMembersChanged); }, onRtcVideoMembersChanged({ userIdList }) { console.log("onRtcVideoMembersChanged res ", userIdList); const resOpenId = []; for (let i = 0; i < userIdList.length; i += 1) { resOpenId.push({ class: "rtc-default", userId: userIdList[i], mode: this.data.userId === userIdList[i] ? "camera" : "video", }); } this.setData({ userIdList: resOpenId, }); }, });