智密腾讯云直播组建--直播间API对象--ZhimiTRTCLiveRoom

函数名描述

register

注册SDK

isLogined

是否登录SDK

addEventListener

添加事件监听

removeEventListener

移除事件监听

inRoomHook

判断是否已经进入房间

getUserId

获取当前用户UserId

getRoomId

获取当前房间Id

getSDKConfig

获取SDK配置

login

登录SDK

loginWithoutIM

登录SDK(但不登录腾讯云IM)

logout

退出SDK

setProfile

设置用户信息

setLoggerEnable

设置调试输出

createRoom

创建直播间

joinRoom

加入房间

leaveRoom

离开房间

sendRoomTextMsg

发送房间文本消息

sendRoomCustomMsg

发送房间自定义消息

getUserInfo

获取用户信息

checkPermission

获取权限

startPreview

开始预览本地画面

stopPreview

停止预览本地画面

startPublish

开始推流

stopPublish

停止推流

getRoomVideoUrl

获取直播间拉流连接

startPlayRoomTRTC

开始播放直播间 TRTC 流

stopPlayRoomTRTC

停止播放直播间 TRTC 流

startPlayJoinAnchorTRTC

开始播放直播间连麦 TRTC 流

stopPlayJoinAnchorTRTC

停止播放连麦 TRTC 流

setMuted

设置本地麦克风静音

getMuted

获取本地麦克风静音状态

switchCamera

切换摄像头

getRoomOnlines

获取房间在线人数

getRoomUsers

获取房间在线人员列表

kickout

踢人

sendGift

发送礼物

muteUser

禁言观众

unmuteUser

取消禁言观众

requestJoinAnchor

请求连麦


register - 注册SDK

该函数注册SDK与全局监听器,该函数请在App.vue的onLaunch生命周期中调用,确保每次应用生命周期有且仅有调用一次。

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'export default {onLaunch: function() {ZhimiTRTCLiveRoom.register()},
}

isLogined - 是否登录SDK

该函数用于判断是否登录SDK。请注意,该函数仅判断是否登录过SDK,对于腾讯云IM是否登录没有实质性作用,仅用于判断是否login过。

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const isLogined = ZhimiTRTCLiveRoom.isLogined()
if (isLogined) {console.log('已经登录SDK')
} else {console.log('未登录SDK')
}

addEventListener - 添加事件监听

该函数用于监听SDK事件。请注意,该函数会直接监听来自腾讯云IM与腾讯云TRTC的底层事件并且给予反馈,开发者需要根据腾讯云官方文档进行事件处理。

注意:一般不建议开发者自行监听,容易造成内存溢出与数据处理问题,可以参考二次封装的事件模型

函数定义
addEventListener(listener)
参数描述

listener

回调函数,腾讯云IM与腾讯云TRTC的底层事件会直接反馈给该回调函数

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'ZhimiTRTCLiveRoom.addEventListener(({type, data}) => {// type => 事件名// data => 回调数据console.log('收到数据', type, data)
})

removeEventListener - 移除事件监听

该函数用于移除已经添加的事件监听

函数定义
 

removeEventListener(listener)

参数

描述

listener

回调函数,传入addEventListener的时候对应的函数

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const callback = ({type, data}) => {// type => 事件名// data => 回调数据console.log('收到数据', type, data)
}// 添加事件监听
ZhimiTRTCLiveRoom.addEventListener(callback)
// 移除事件监听
ZhimiTRTCLiveRoom.removeEventListener(callback)

inRoomHook - 判断是否已经进入房间

该函数用于判断是否已经进入了房间,如果已经进入房间则会返回房间的Id,否则抛出异常,请开发者调用的时候自行try catch处理异常

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const roomId = await ZhimiTRTCLiveRoom.inRoomHook()console.log(`用户已经进入房间,房间Id为${roomId}`)
} catch(e) {console.log('用户未进入房间')
}

getUserId - 获取当前用户UserId

该函数用于获取当前登录的用户UserId

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const userId = ZhimiTRTCLiveRoom.getUserId()
console.log(`当前登录的用户UserId为${userId}`)

getRoomId - 获取当前房间Id

该函数用于获取当前用户进入的房间Id,该函数与inRoomHook的区别在于如果没有进入房间,该函数不会抛出异常

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const roomId = ZhimiTRTCLiveRoom.getRoomId()
console.log(`当前用户进入的房间Id为${roomId}`)

getSDKConfig - 获取SDK配置

该函数用于获取开发者在unicloud中的uni-config-center配置的参数信息,默认位于ZhimiTRTCLiveRoomApi/config.json

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const sdkConfig = ZhimiTRTCLiveRoom.getSDKConfig()console.log('腾讯云IM APPID', 'SDK_APP_ID', sdkConfig.SDK_APP_ID)
console.log('推流域名', 'PUBLISH_DOMAIN', sdkConfig.PUBLISH_DOMAIN)
console.log('拉流域名', 'PLAY_DOMAIN', sdkConfig.PLAY_DOMAIN)
console.log('TRTC区域', 'TRTC_REGION', sdkConfig.TRTC_REGION)
console.log('TRTC BIZID', 'TRTC_BIZID', sdkConfig.TRTC_BIZID)

login - 登录SDK

该函数用于登录智密科技腾讯云直播SDK,该函数返回一个promise,true则表示登录成功,抛出异常则表示登录失败

函数定义
async login(userId)
参数描述

userId

用户UserId,String类型,请使用数字,英文的格式,请不要使用特殊符号

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {await ZhimiTRTCLiveRoom.login('testUser')console.log('登录成功')
} catch (e) {console.log('登录失败')
}

loginWithoutIM - 登录SDK(但不登录腾讯云IM)

该函数用于登录智密科技腾讯云直播SDK,该函数并不会同步登录腾讯云IM,开发者需要通过其他方式登录IM,常见于与其他第三方插件配合调用的时候使用,比如您的App同步使用了腾讯云官方的TUICalling,而TUICalling底层使用的也是腾讯云IM,因此TUICalling的初始化可能会与本SDK冲突,此时您就可以使用loginWithoutIM登录本SDK。

函数定义
async loginWithoutIM(userId)
参数描述

userId

用户UserId,String类型,请使用数字,英文的格式,请不要使用特殊符号

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {await ZhimiTRTCLiveRoom.login('testUser')console.log('登录成功')
} catch (e) {console.log('登录失败')
}

logout - 退出SDK

暂时无用

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'ZhimiTRTCLiveRoom.logout()

setProfile - 设置用户信息

该函数用于设置当前用户的昵称,头像,自定义信息,这些数据会在直播间事件与获取用户信息的时候同步反馈

函数定义
async setProfile(nick, faceUrl, customData)
参数描述

nick

用户昵称,字符串

faceUrl

用户头像,字符串

customData

自定义数据,json对象,请直接传入json对象,不要传字符串

调用例子 
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const isSuccess = await ZhimiTRTCLiveRoom.setProfile('用户昵称', '用户头像', { test: 1 })
if (isSuccess) {console.log('操作成功')
} else {console.log('操作失败')
}

setLoggerEnable - 设置调试输出

该函数用于设置是否输出一些sdk内部的调试输出

函数定义
setLoggerEnable(enable)
参数描述

enable

是否开启调试输出

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'// 开启调试输出
ZhimiTRTCLiveRoom.setloggerEnable(true)

createRoom - 创建直播间

该函数用于主播创建直播间,直播间的房间Id默认和创建者的用户Id保持一致

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const isSuccess = await ZhimiTRTCLiveRoom.createRoom()console.log('房间房间完成')
} catch(e) {console.log('创建房间失败, 失败信息', e)
}

joinRoom - 加入房间

该函数用于观众加入直播间

函数定义
async joinRoom(roomId)
参数描述

roomId

房间Id,String类型。数字,字母字符串,请勿传入特殊符号

调用例子

import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const roomId = 'testUser'const isSuccess = await ZhimiTRTCLiveRoom.joinRoom(roomId)console.log('加入直播间成功')
} catch(e) {console.log('加入直播间失败,失败信息', e)
}

leaveRoom - 离开房间

该函数用于观众离开房间,主播销毁房间。离开房间之后会自动结束所有的 trtc 推拉流。

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'await ZhimiTRTCLiveRoom.leaveRoom()
console.log('退出房间完成')

sendRoomTextMsg - 发送房间文本消息

该函数用于用户发送房间文本消息,请勿用该方法实现其他奇怪的操作,如需要发送自定义的消息格式请使用sendRoomCustomMsg。

函数定义
async sendRoomTextMsg(text)
参数描述

text

文本消息,String 类型,请直接传入文本,如有其他自定义消息要求请试用 sendRoomCustomMsg

返回值描述

data

聊天消息格式体

{ nickName, sender, textElem.text }

data字段描述

nickName

发送者昵称

sender

发送者用户 Id

textElem.text

文本内容
调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const { data } = await ZhimiTRTCLiveRoom.sendRoomTextMsg('test')console.log('昵称', data.nickName)console.log('用户 Id', data.sender)console.log('聊天内容', data.textElem.text)
} catch(e) {console.log('发送失败,失败信息', e)
}

sendRoomCustomMsg - 发送房间自定义消息

该函数用于用户发送房间自定义消息,常见用于发送连麦,pk,刷礼物,请求上麦之类的自定义消息。

函数定义
async sendRoomCustomMsg(cmd, data)

参数

描述

cmd

自定义命令,String 类型

data

自定义消息,json

返回值描述
data

自定义消息格式体

{ nickName, sender, textElem.text }

data字段

描述

nickName

发送者昵称

sender

发送者用户 Id

textElem.text

文本内容

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const cmd = 'testCmd'const { data } = await ZhimiTRTCLiveRoom.sendRoomCustomMsg(cmd, { test: true })console.log('昵称', data.nickName)console.log('用户 Id', data.sender)console.log('消息内容', data.customElem.data)
} catch(e) {console.log('发送失败,失败信息', e)
}

getUserInfo - 获取用户信息

该函数用于根据 UserId 获取用户信息,这里的用户信息指的是用 setProfile 设置的腾讯云 IM 中的用户信息,非客户自身业务系统的。

函数定义
async getUserInfo(userId)

参数

描述

userId

用户 Id,String 类型

返回值描述
data

用户信息

{ userID, nickName, faceUrl }

data字段

描述

nickName

发送者昵称

userId

发送者用户 Id

faceUrl

用户头像

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
try {const { data } = await ZhimiTRTCLiveRoom.getUserInfo('testUser')console.log('用户信息', data)
} catch(e) {console.log('获取失败', e)
}

checkPermission - 获取权限

该函数用于获取麦克风,摄像头权限,常见于主播开播之前检查直播权限是否授权。

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const isSuccess = await ZhimiTRTCLiveRoom.checkPermission()
if (isSuccess) {console.log('获取权限 ok')
} else {console.log('获取权限失败')
}

startPreview - 开始预览本地画面

该函数用于预览本地画面(主播/连麦)

函数定义
startPreview(ref)
参数描述
ref

trtc_video_view

调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.startPreview(this.$refs.trtcView)

stopPreview - 停止预览本地画面

该函数用于停止预览本地画面(主播/连麦)

函数定义
stopPreview(ref)
参数描述
ref

trtc_video_view

调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.stopPreview(this.$refs.trtcView)

startPublish - 开始推流

该函数用于开始推流本地画面至服务器(主播/连麦)。必须先开启预览才可以推流。

函数定义
startPublish(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.startPublish(this.$refs.trtcView)

stopPublish - 停止推流

该函数用于停止推流本地画面至服务器(主播/连麦)。必须先停止推流才可以关闭预览,否则对方会闪黑屏。

函数定义
stopPublish(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.stopPublish(this.$refs.trtcView)

getRoomVideoUrl - 获取直播间拉流连接

该函数用于获取直播间拉流连接,用于观众播放直播画面。

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const url = ZhimiTRTCLiveRoom.getRoomVideoUrl()
console.log('播放连接', url)

startPlayRoomTRTC - 开始播放直播间 TRTC 流

该函数用于播放直播间 TRTC 流,一般是连麦播放主播的 TRTC 流或者 PK 播放主播的 TRTC 流,可以达到一个 毫秒级别的延迟,几乎同步,但是费率很高,请参考腾讯云 trtc 官方计费文档。

腾讯云实时音视频(TRTC)计费文档:实时音视频 计费概述-购买指南-文档中心-腾讯云

函数定义
startPlayRoomTRTC(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.startPlayRoomTRTC(this.$refs.trtcView)

stopPlayRoomTRTC - 停止播放直播间 TRTC 流

该函数用于停止播放直播间 TRTC 流,断开连麦或者离开直播间,记得必须停止播放,否则后台可能还会拉流,从而造成不必要的计费。

函数定义
stopPlayRoomTRTC(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.stopPlayRoomTRTC(this.$refs.trtcView)

startPlayJoinAnchorTRTC - 开始播放直播间连麦 TRTC 流

该函数用于播放直播间 TRTC 流,一般是主播播放连麦观众的 TRTC 流,可以达到一个 毫秒级别的延迟,几乎同步,但是费率很高,请参考腾讯云 trtc 官方计费文档。

腾讯云实时音视频(TRTC)计费文档:实时音视频 计费概述-购买指南-文档中心-腾讯云

函数定义
startPlayJoinAnchorTRTC(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.startPlayJoinAnchorTRTC(this.$refs.trtcView)

stopPlayJoinAnchorTRTC - 停止播放连麦 TRTC 流

该函数用于停止播放连麦 TRTC 流,断开连麦或者离开直播间,记得必须停止播放,否则后台可能还会拉流,从而造成不必要的计费。

函数定义
stopPlayJoinAnchorTRTC(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.stopPlayJoinAnchorTRTC(this.$refs.trtcView)

setMuted - 设置本地麦克风静音

该函数用于设置本地麦克风是否静音,静音的情况下直播间的观众将无法听到您的声音。

函数定义
setMuted(muted)
参数描述
muted

是否静音,boolean 类型,true = 静音,false = 取消静音

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'ZhimiTRTCLiveRoom.setMuted(true)
console.log('静音本地麦克风 ok')

getMuted - 获取本地麦克风静音状态

该函数用于获取本地麦克风静音状态。

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const muted = ZhimiTRTCLiveRoom.getMuted()
console.log('当前静音状态', muted)

switchCamera - 切换摄像头

该函数用于切换摄像头画面。切换前置/后置摄像头

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'ZhimiTRTCLiveRoom.switchCamera()

getRoomOnlines - 获取房间在线人数

该函数用于获取房间内在线人数,请注意,该函数有且只有在腾讯云 IM 旗舰版有准确的统计结果。具体原因参考以下连接。

即时通信 IM 获取直播群在线成员列表-服务端 API-文档中心-腾讯云

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const count = await ZhimiTRTCLiveRoom.getRoomOnlines()
console.log('在线人数', count)

getRoomUsers - 获取房间在线人员列表

该函数用于获取房间在线人员列表,请注意,该函数有且只有在腾讯云 IM 旗舰版有准确的统计结果。具体原因参考以下连接。

即时通信 IM 获取直播群在线成员列表-服务端 API-文档中心-腾讯云

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const list = await ZhimiTRTCLiveRoom.getRoomUsers()
console.log('在线人员列表', list)

kickout - 踢人

该函数用于将观众踢出直播间。

函数定义
async kickout(userId)
参数描述
userId

用户 Id,String 类型

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const userId = 'testUser'await ZhimiTRTCLiveRoom.kickout(userId)console.log('操作完成')
} catch(e) {console.log('操作失败')
}

sendGift - 发送礼物

该函数用于发送礼物给主播,这里的特别之处在于这里的 gift 是开发者根据业务自行定义的,如果使用 demo 的话我们会预置 gif 的格式,开发者也可以自己根据需要调整扩展

函数定义
async sendGift(gift, count)
参数描述
gift

礼物信息,json 对象,demo 中默认的格式为

{ label, score, icon, url },

count礼物数量
调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'try {const gifItem = { label: '许愿瓶', score: '98', icon: 'https://cdn.qiadoo.com/edu/uniapp/svga/x许愿瓶/许愿瓶透明礼物主图.png', url: 'https://cdn.qiadoo.com/edu/uniapp/svga/x许愿瓶/许愿瓶10s00.svga' },await ZhimiTRTCLiveRoom.sendGift(gifItem, 1)console.log('操作完成')
} catch(e) {console.log('操作失败')
}

muteUser - 禁言观众

该函数用于禁言观众,在禁言的时间内用户调用 sendRoomTextMsg 将会报错,无法发送聊天内容。

函数定义
async muteUser(userId, muteTime)
调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const userId = 'testUser'
const mutedTime = 60 * 60 // 意味着禁言 1 小时
ZhimiTRTCLiveRoom.muteUser(userId, mutedTime)

unmuteUser - 取消禁言观众

该函数用于取消观众的禁言,本质上底层就是设置禁言时间为 0.

函数定义
async unmuteUser(userId)
调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'const userId = 'testUser'
ZhimiTRTCLiveRoom.unmuteUser(userId)

requestJoinAnchor - 请求连麦

该函数用于观众请求连麦,请求连麦通过之后观众需要播放 trtc 流和推流,具体请参考 demo 实现。

函数定义
async requestJoinAnchor(type, reason = '', timeout = 30)
参数描述

type

连麦类型,支持俩种连麦类型

LINKMIC_TYPE_AUDIO 语音连麦

LINKMIC_TYPE_VIDEO 视频连麦

reason

连麦理由,一般为空,默认即可

timeout

超时时间,一般是 30,默认即可

调用例子
调用例子
import { ZhimiTRTCLiveRoom, LINKMIC_TYPE_VIDEO } from '@/utils/ZhimiTRTCLiveRoom'const type = LINKMIC_TYPE_VIDEO
// 请求视频连麦
const [accept, timeout] = await ZhimiTRTCLiveRoom.requestJoinAnchor(type)
if (timeout) {console.log('请求超时')
} else {console.log('主播响应连麦请求结果', accept)
}

responseJoinAnchor - 响应连麦

该函数用于主播响应观众的连麦请求,通过该函数确定是否同意观众连麦。

函数定义
async responseJoinAnchor(type, userId, agree, reason = '')
参数描述

type

连麦类型,支持俩种连麦类型

LINKMIC_TYPE_AUDIO 语音连麦

LINKMIC_TYPE_VIDEO 视频连麦

userId

请求连麦的观众 id,在接受到请求的事件中有反馈

agree

是否同意连麦,boolean 类型

reason

拒绝理由,一般为空即可

调用例子
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'// 这里假设已经通过onRequestJoinAnchorRev事件得到了请求对象
const req = {}
// 同意连麦
const [_, timeout] = await ZhimiTRTCLiveRoom.responseJoinAnchor(req.type,req.userId,true
)
if (timeout) {console.log('该请求已经超时')return
}
console.log('操作完成')

enterJoinAnchor - 进入连麦

该函数用于观众进入连麦状态,会根据连麦的类型自动选择语音推流还是视频推流,并且自动开启对应的预览

函数定义
enterJoinAnchor(ref)
参数描述
ref

trtc_video_view

调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.enterJoinAnchor(this.$refs.trtcView)

exitJoinAnchor - 离开连麦

该函数用于观众离开连麦状态,会根据连麦的类型自动停止预览并且结束推流。

函数定义
exitJoinAnchor(ref)
 调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.exitJoinAnchor(this.$refs.trtcView)

kickoutJoinAnchor - 断开观众连麦

该函数用于主播主动断开观众连麦,该函数会自动断开观众的连麦并且重新进行直播间混流操作,同时观众也会接收到断开连麦的事件

函数定义
kickoutJoinAnchor(ref)
调用例子
// 此处是 template
<trtc_video_view ref="trtcView"/>// 此处是 js
import { ZhimiTRTCLiveRoom } from '@/utils/ZhimiTRTCLiveRoom'
ZhimiTRTCLiveRoom.kickoutJoinAnchor(this.$refs.trtcView)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现接口幂等性的8种解决方案

古语云&#xff1a;“一而再&#xff0c;再而三&#xff0c;其效不二” 俗语讲&#xff1a;被虐千百遍&#xff0c;依然如初恋 数学符号&#xff1a;f(f(f(x))) f(x) 即无论操作执行一次还是多次&#xff0c;其效果始终如一&#xff0c;不会有差异。这就是幂等性。 文章导读 什…

FPGA-PLL IP核的使用

1.前言 IP核是使用FPGA进行快速开发的一大法宝&#xff0c;FPGA有几个常用的IP核&#xff0c;如今天要写的PLL&#xff0c;即锁相环&#xff0c;还有FIFO&#xff0c;ROM等。熟练使用这些IP核&#xff0c;在一一些大型的项目中会省很多的精力&#xff0c;今天就通过一个实例来…

55 、mysql的存储引擎、备份恢复以及日志备份、恢复

一、数据库的存储引擎&#xff1a; 1.1、存储引擎的概念 概念&#xff1a;存储引擎&#xff0c;就是一种数据库存储数据的机制&#xff0c;索引的机制&#xff0c;索引的技巧&#xff0c;锁定水平。 存储的方式和存储的格式。 存储引擎也属于mysql当中的组件&#xff0c;实…

Linux挂载磁盘目录

一、背景 由于安装oracle数据库&#xff0c;磁盘空间不足&#xff0c;已经加了存储&#xff0c;但是没有挂载&#xff0c;需要将/dev/sdb全部挂载到/oracle目录下 [rootdatabase-001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk …

分布式锁在AI大模型调用中的应用

1. 技术背景 AI大模型的调用往往是一个高资源消耗的操作&#xff0c;在实际应用中&#xff0c;为了防止恶意用户使用辅助工具频繁地调用这些大模型&#xff0c;占用大量服务器资源&#xff0c;影响其他用户的请求处理&#xff0c;降低系统的整体性能和服务质量&#xff0c;使用…

Android 记录锁屏的上层相关源码以及debug WindowManager

SettingsProvider frameworks/base/packages/SettingsProvider/res/values/defaults.xmldevice/rockchip/rk356x/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml //device的overlay会覆盖frameworks的SettingsProvider // 关于锁屏配置<inte…

HTTPServer改进思路2(mudou库核心思想融入)

mudou网络库思想理解 Reactor与多线程 服务器构建过程中&#xff0c;不仅仅使用一个Reactor&#xff0c;而是使用多个Reactor&#xff0c;每个Reactor执行自己专属的任务&#xff0c;从而提高响应效率。 首先Reactor是一种事件驱动处理模式&#xff0c;其主要通过IO多路复用…

对象存储:阿里云OSS、腾讯云COS与七牛云KODO的深度解析

随着云计算的普及&#xff0c;对象存储&#xff08;Object Storage Service&#xff09;作为数据存储领域的一项关键技术&#xff0c;因其可扩展性、高可用性和成本效益而受到广泛欢迎。本文将深入探讨阿里云的OSS、腾讯云的COS以及七牛云的KODO&#xff0c;分析这些服务的特点…

Linux实用操作三

文章目录 Linux实用操作三网络传输ping命令介绍&#xff1a;示例&#xff1a; wget命令介绍&#xff1a;示例&#xff1a; curl命令介绍&#xff1a;示例&#xff1a; 端口介绍&#xff1a;端口的划分&#xff1a;查看端口占用&#xff1a; 进程管理进程介绍&#xff1a;查看进…

基于WebGoat平台的SQL注入攻击

目录 引言 一、安装好JAVA 二、下载并运行WebGoat 三、注册并登录WebGoat 四、模拟攻击 1. 第九题 2. 第十题 3. 第十一题 4. 第十二题 5. 第十三题 五、思考体会 1. 举例说明SQL 注入攻击发生的原因。 2. 从信息的CIA 三要素&#xff08;机密性、完整性、可用性&…

代码随想录第五十九天 | 115.不同的子序列,583. 两个字符串的删除操作, 72. 编辑距离

115.不同的子序列 看完想法&#xff1a;这个题目只涉及删减&#xff0c;具体是 s 字符串的删减&#xff0c;t 不需要动。当s[ i ] t[j]时&#xff0c;有两种情况&#xff0c;可以用s[i]也可以不用&#xff0c;而s[i] !t[j]时只有一种情况&#xff0c;需要删除s[i]进一步比较。…

【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

SpringBoot常用功能实现

1. 配置文件多环境配置 1.1 创建不同环境配置文件 文件名前缀和后缀为标准固定格式&#xff0c;不可以改变。 1.2 pom中加入文件配置 可以使用<activation>标签设置默认环境。 <profiles><profile><id>dev</id><activation><active…

内置华为视频终端API接口的中央控制系统

内置华为视频终端API接口的中控系统是一种高度集成化的智能控制系统&#xff0c;它通过将华为视频终端的控制功能集成到中控系统中&#xff0c;实现了对华为视频终端的远程控制和集中管理。以下是对该系统的详细介绍&#xff1a; 一、系统概述 该系统通过调用华为视频终端提供…

数据结构(队列及其实现)

概念与结构 概念&#xff1a;只允许在⼀端进⾏插⼊数据操作&#xff0c;在另⼀端进⾏删除数据操作的特殊线性表&#xff0c; 队列具有先进先出FIFO(First In First Out)原则。 ⼊队列&#xff1a;进⾏插⼊操作的⼀端称为队尾 出队列&#xff1a;进⾏删除操作的⼀端称为队头…

宝塔Wordpress 插件 Redis object cache 导致内存很高 80%以上的原因和解决

查看内存前X 使用以下命令查看前10&#xff0c;修改10数字即可查看前X ps aux | head -1;ps aux |grep -v PID |sort -rn -k 4 | head -10 查看cpu占用 查看前10 ps aux | head -1;ps aux |grep -v PID |sort -rn -k 3 | head -10 原因是 4GiB 内存的服务器&#xff0c;Redis会…

Python | Leetcode Python题解之第268题丢失的数字

题目&#xff1a; 题解&#xff1a; class Solution:def missingNumber(self, nums: List[int]) -> int:n len(nums)total n * (n 1) // 2arrSum sum(nums)return total - arrSum

texify - 识别数学/图像 PDF

文章目录 一、关于 texify例子训练 二、安装手动安装 三、使用1、使用技巧2、用于交互转换的应用程序3、转换图像4、Python 中导入并运行 四、限制五、基准测试运行自己的基准测试 六、其它商业用途感谢 一、关于 texify Texify是一种OCR模型&#xff0c;它将包含数学的图像或…

spring-retry详解

spring-retry详解 1.引入依赖2.Retryable基础使用3.Recover使用4.Retryable参数详解5.需要注意 重试机制对于大部分场景来说都是必要的&#xff0c;比如同步调用三方接口&#xff0c;三方接口、信息拉取等网络原因突然不通&#xff0c;有了重试就可以多一些容错机制&#xff0c…

HackTheBox--Knife

Knife 测试过程 1 信息收集 端口扫描 80端口测试 echo "10.129.63.56 knife.htb" | sudo tee -a /etc/hosts网站是纯静态的&#xff0c;无任何交互功能&#xff0c;检查网页源代码也未发现任何可利用的文件。 检查页面请求时&#xff0c;请求与响应内容&#xff0…