该插件提供语音聊天室的功能, 包括麦位管理、低延时语音互动、文字聊天等 TRTC 在语音聊天场景下的相关能力。
该论坛提供了插件使用示例入口,您可以在论坛中找到使用的Demo,以及问题反馈。
如果您有以下需求:
音视频产品使用复杂程度高,可以扫码联系我们,获取技术支持
添加时备注: tencentTrtcVoiceRoom
也可以直接添加微信号: ruanyunwangluo006
接口列表 | 功能 |
---|---|
init | 初始化 |
setLiveRoomListener | 设置监听器 |
removeLiveRoomListener | 移除监听器 |
destroy | 销毁 |
接口列表 | 功能 |
---|---|
login | 登录 |
logout | 登出 |
setSelfProfile | 修改个人信息 |
接口列表 | 功能 |
---|---|
createRoom | 创建房间 |
destroyRoom | 销毁房间 |
enterRoom | 进入房间 |
exitRoom | 离开房间 |
getRoomInfoList | 获取房间列表的详细信息 |
getUserInfoList | 获取指定userId的用户信息 |
接口列表 | 功能 |
---|---|
enterSeat | 主动上麦 |
leaveSeat | 主动下麦 |
pickSeat | 抱人上麦 |
kickSeat | 踢人下麦 |
muteSeat | 静音/解除静音某个麦位 |
closeSeat | 封禁/解禁某个麦位 |
接口列表 | 功能 |
---|---|
startMicrophone | 开启麦克风采集 |
stopMicrophone | 停止麦克风采集 |
setAudioQuality | 设置音质 |
muteLocalAudio | 静音/取消静音本地的音频 |
setSpeaker | 设置开启扬声器 |
setAudioCaptureVolume | 设置麦克风采集音量 |
setAudioPlayoutVolume | 设置播放音量 |
muteRemoteAudio | 静音/解除静音指定成员 |
muteAllRemoteAudio | 静音/解除静音所有成员 |
接口列表 | 功能 |
---|---|
sendInvitation | 发送邀请 |
acceptInvitation | 接受邀请 |
rejectInvitation | 拒绝邀请 |
cancelInvitation | 取消邀请 |
接口列表 | 功能 |
---|---|
sendRoomTextMsg | 发送普通文本消息 |
sendRoomCustomMsg | 发送自定义文本消息 |
var voiceRoom = api.require('tencentTrtcVoiceRoom');
插件加载后,就可以调用下方接口。
初始化
init({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
##代码示例
voiceRoom.init({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
设置监听
setVoiceRoomListener({}, function(ret, err))
ret:
{
eventType: "onRoomInfoChange",
...
}
|事件回调|回调含义| |onRoomInfoChange|进房成功后会回调该接口| |onRoomDestroy|房间被销毁的回调| |onSeatListChange|全量的麦位列表变化| |onAnchorEnterSeat|有成员上麦| |onAnchorLeaveSeat|有成员下麦| |onSeatMute|主播禁麦| |onSeatClose|主播封麦| |onAudienceEnter|收到观众进房通知| |onAudienceExit|收到观众退房通知| |onRecvRoomTextMsg|收到文本消息| |onRecvRoomCustomMsg|收到自定义消息| |onReceiveNewInvitation|收到新的邀请请求| |onInviteeAccepted|被邀请者接受邀请| |onInviteeRejected|被邀请者拒绝邀请| |onInvitationCancelled|邀请人取消邀请|
voiceRoom.setVoiceRoomListener({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
移除监听器
removeVoiceRoomListener({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
voiceRoom.removeVoiceRoomListener({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
销毁
destroy({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
voiceRoom.destroy({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
登录
login({params}, function(ret, err))
sdkAppId:
userId:
userSig:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var sdkAppId = 140xxxx16;
var userId = 'test001';
var userSig = 'eJwtzxxxxxx1EQpo';
voiceRoom.login({
sdkAppId: sdkAppId,
userId: userId,
userSig: userSig
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
登出
logout({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
voiceRoom.logout({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
修改个人信息
setSelfProfile({params}, function(ret, err))
name:
avatarUrl:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var userName = 'username002';
var avatarUrl = 'xxxxx';
voiceRoom.setSelfProfile({
userName: userName,
avatarUrl: avatarUrl
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
创建房间(主播调用),若房间不存在,系统将自动创建一个新房间
createRoom({params}, function(ret, err))
roomId:
roomParam:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var roomId = 913;
var roomParam = {
roomName: 'rykj001',
seatCount: 7,
needRequest: false,
coverUrl: 'https://tesxxxx1.cos.ap-guangzhou.myqcloud.com/cover001.jpg'
};
voiceRoom.createRoom({
roomId: roomId,
roomParam: roomParam
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
销毁房间(主播调用)
destroyRoom({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
voiceRoom.destroyRoom({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
进入房间(观众调用)
enterRoom({params}, function(ret, err))
roomId:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var roomId = 913;
voiceRoom.enterRoom({
roomId: roomId,
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
离开房间
exitRoom({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
voiceRoom.exitRoom({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
获取房间列表的详细信息
getRoomInfoList({params}, function(ret, err))
roomIdList:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var roomIdList = [1];
voiceRoom.getRoomInfoList({
roomIdList: roomIdList
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
获取指定 userId 的用户信息
getUserInfoList({params}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var userIdList = ['test001'];
voiceRoom.getUserInfoList({
userIdList: userIdList
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
主动上麦(观众端和主播均可调用)
enterSeat({params}, function(ret, err))
seatIndex:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var seatIndex = 0;
voiceRoom.enterSeat({
seatIndex: seatIndex
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
主动下麦(观众端和主播均可调用)
leaveSeat({}, function(ret, err))
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
voiceRoom.leaveSeat({}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
抱人上麦(主播调用)
pickSeat({params}, function(ret, err))
seatIndex:
userId:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var seatIndex = 1;
var userId = 'test001';
voiceRoom.pickSeat({
seatIndex: seatIndex,
userId: userId
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
开始直播(推流)
kickSeat({params}, function(ret, err))
seatIndex:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var seatIndex = 1;
voiceRoom.kickSeat({
seatIndex: seatIndex
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
静音/解除静音某个麦位(主播调用)
muteSeat({params}, function(ret, err))
seatIndex:
isMute:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var seatIndex = 1;
var isMute = true;
voiceRoom.muteSeat({
seatIndex: seatIndex,
isMute: isMute
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
封禁/解禁某个麦位(主播调用)
closeSeat({params}, function(ret, err))
seatIndex:
isClose:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
var seatIndex = 1;
var isClose = true;
voiceRoom.closeSeat({
seatIndex: seatIndex,
isClose: isClose
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
向用户发送邀请
sendInvitation({params}, function(ret, err))
cmd:
userId:
content:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
var remoteUserId = 'test002';
var invitationCmd = 'this is invitation cmd';
var content = 'this is content';
voiceRoom.sendInvitation({
cmd: invitationCmd,
userId: remoteUserId,
content: content
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
接受邀请
acceptInvitation({params}, function(ret, err))
identifier:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
var identifier = 'xxxx';
voiceRoom.acceptInvitation({
identifier: identifier
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
拒绝邀请
rejectInvitation({params}, function(ret, err))
identifier:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
var identifier = 'xxxx';
voiceRoom.rejectInvitation({
identifier: identifier
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
取消邀请
cancelInvitation({params}, function(ret, err))
identifier:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
var identifier = 'xxxx';
voiceRoom.cancelInvitation({
identifier: identifier
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
在房间中广播文本消息
sendRoomTextMsg({params}, function(ret, err))
msg:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
var msg = 'this is a message';
voiceRoom.sendRoomTextMsg({
msg: msg
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
发送自定义文本消息
sendRoomCustomMsg({params}, function(ret, err))
cmd:
msg:
ret:
{
status: true // 布尔类型, true表示操作成功
}
err:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
var msg = 'this is a message';
var cmd = 'this is a cmd';
voiceRoom.sendRoomCustomMsg({
cmd: cmd,
msg: msg
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供1.0.0及更高版本
如果您有以下需求:
音视频产品使用复杂程度高,可以扫码联系我们,获取技术支持,
微信号为: ruanyunwangluo006