tencentTrtcVoiceRoom
来自于:厦门软云网络科技有限公司立即使用
腾讯云实时音视频
该模块提供语音聊天室的功能, 包括麦位管理、低延时语音互动、文字聊天等 TRTC 在语音聊天场景下的相关能力。
论坛示例
该论坛提供了模块使用示例入口,您可以在论坛中找到使用的Demo,以及问题反馈。
技术支持
如果您有以下需求:
- 方案咨询;
- 接入流程协助;
- 测试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
初始化
init({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
代码示例
voiceRoom.init({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setVoiceRoomListener
设置监听
setVoiceRoomListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
eventType: "onRoomInfoChange",
...
}
|事件回调|回调含义| |onRoomInfoChange|进房成功后会回调该接口| |onRoomDestroy|房间被销毁的回调| |onSeatListChange|全量的麦位列表变化| |onAnchorEnterSeat|有成员上麦| |onAnchorLeaveSeat|有成员下麦| |onSeatMute|主播禁麦| |onSeatClose|主播封麦| |onAudienceEnter|收到观众进房通知| |onAudienceExit|收到观众退房通知| |onRecvRoomTextMsg|收到文本消息| |onRecvRoomCustomMsg|收到自定义消息| |onReceiveNewInvitation|收到新的邀请请求| |onInviteeAccepted|被邀请者接受邀请| |onInviteeRejected|被邀请者拒绝邀请| |onInvitationCancelled|邀请人取消邀请|
示例代码
voiceRoom.setVoiceRoomListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
removeVoiceRoomListener
移除监听器
removeVoiceRoomListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
voiceRoom.removeVoiceRoomListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroy
销毁
destroy({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
voiceRoom.destroy({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
login
登录
login({params}, function(ret, err))
params
sdkAppId:
- 类型: 整数类型
- 描述: (必填项)在实时音视频控制台 >【应用管理】> 应用信息中查看
userId:
- 类型: 字符串类型
- 描述: (必填项)当前用户的Id
userSig:
- 类型: 字符串
- 描述: (必填项)用户签名
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
logout
登出
logout({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
voiceRoom.logout({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setSelfProfile
修改个人信息
setSelfProfile({params}, function(ret, err))
params
name:
- 类型: 字符串类型
- 描述: (可选项)昵称
avatarUrl:
- 类型: 字符串类型
- 描述: (可选项)头像地址
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var userName = 'username002';
var avatarUrl = 'xxxxx';
voiceRoom.setSelfProfile({
userName: userName,
avatarUrl: avatarUrl
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
createRoom
创建房间(主播调用),若房间不存在,系统将自动创建一个新房间
createRoom({params}, function(ret, err))
params
roomId:
- 类型: 字符串类型
- 描述: (必填项)房间标识,需要由您分配并进行统一管理
roomParam:
- 类型: JSON类型
- 描述: (必填项)房间信息,用于房间描述的信息
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroyRoom
销毁房间(主播调用)
destroyRoom({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
voiceRoom.destroyRoom({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
enterRoom
进入房间(观众调用)
enterRoom({params}, function(ret, err))
params
roomId:
- 类型: 字符串类型
- 描述: (必填项)房间标识
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var roomId = 913;
voiceRoom.enterRoom({
roomId: roomId,
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
exitRoom
离开房间
exitRoom({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
voiceRoom.exitRoom({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getRoomInfoList
获取房间列表的详细信息
getRoomInfoList({params}, function(ret, err))
params
roomIdList:
- 类型: 数组类型
- 描述: (必填项)房间号列表
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var roomIdList = [1];
voiceRoom.getRoomInfoList({
roomIdList: roomIdList
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getUserInfoList
获取指定 userId 的用户信息
getUserInfoList({params}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var userIdList = ['test001'];
voiceRoom.getUserInfoList({
userIdList: userIdList
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
enterSeat
主动上麦(观众端和主播均可调用)
enterSeat({params}, function(ret, err))
params
seatIndex:
- 类型: 整数类型
- 描述: (必填项)需要上麦的麦位序号
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var seatIndex = 0;
voiceRoom.enterSeat({
seatIndex: seatIndex
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
leaveSeat
主动下麦(观众端和主播均可调用)
leaveSeat({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
voiceRoom.leaveSeat({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
pickSeat
抱人上麦(主播调用)
pickSeat({params}, function(ret, err))
params
seatIndex:
- 类型: 整数类型
- 描述: (必填项)需要抱上麦的麦位序号
userId:
- 类型: 字符串类型
- 描述: (必填项)用户Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var seatIndex = 1;
var userId = 'test001';
voiceRoom.pickSeat({
seatIndex: seatIndex,
userId: userId
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
kickSeat
开始直播(推流)
kickSeat({params}, function(ret, err))
params
seatIndex:
- 类型: 整数类型
- 描述: (必填项)需要踢下麦的麦位序号
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var seatIndex = 1;
voiceRoom.kickSeat({
seatIndex: seatIndex
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
muteSeat
静音/解除静音某个麦位(主播调用)
muteSeat({params}, function(ret, err))
params
seatIndex:
- 类型: 整数类型
- 描述: (必填项)需要操作的麦位序号
isMute:
- 类型: 布尔类型
- 描述: (必填项)true:静音对应麦位;false:解除静音对应麦位
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var seatIndex = 1;
var isMute = true;
voiceRoom.muteSeat({
seatIndex: seatIndex,
isMute: isMute
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
closeSeat
封禁/解禁某个麦位(主播调用)
closeSeat({params}, function(ret, err))
params
seatIndex:
- 类型: 整数类型
- 描述: (必填项)需要操作的麦位序号
isClose:
- 类型: 布尔类型
- 描述: (必填项)true:封禁对应麦位; false:解封对应麦位
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
var seatIndex = 1;
var isClose = true;
voiceRoom.closeSeat({
seatIndex: seatIndex,
isClose: isClose
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
sendInvitation
向用户发送邀请
sendInvitation({params}, function(ret, err))
params
cmd:
- 类型: 字符串类型
- 描述: (必填项)业务自定义指令
userId:
- 类型: 字符串类型
- 描述: (必填项)邀请的用户Id
content:
- 类型: 字符串类型
- 描述: (必填项)邀请的内容
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
acceptInvitation
接受邀请
acceptInvitation({params}, function(ret, err))
params
identifier:
- 类型: 字符串类型
- 描述: (必填项)邀请Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
示例代码
var identifier = 'xxxx';
voiceRoom.acceptInvitation({
identifier: identifier
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
rejectInvitation
拒绝邀请
rejectInvitation({params}, function(ret, err))
params
identifier:
- 类型: 字符串类型
- 描述: (必填项)邀请Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
示例代码
var identifier = 'xxxx';
voiceRoom.rejectInvitation({
identifier: identifier
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
cancelInvitation
取消邀请
cancelInvitation({params}, function(ret, err))
params
identifier:
- 类型: 字符串类型
- 描述: (必填项)邀请Id
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
示例代码
var identifier = 'xxxx';
voiceRoom.cancelInvitation({
identifier: identifier
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
sendRoomTextMsg
在房间中广播文本消息
sendRoomTextMsg({params}, function(ret, err))
params
msg:
- 类型: 字符串类型
- 描述: (必填项)文本消息
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: 100, // 整数类型, 错误码
msg: '参数为必填' // 字符串类型, 错误信息
}
示例代码
var msg = 'this is a message';
voiceRoom.sendRoomTextMsg({
msg: msg
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
sendRoomCustomMsg
发送自定义文本消息
sendRoomCustomMsg({params}, function(ret, err))
params
cmd:
- 类型: 字符串类型
- 描述: (必填项)命令字,由开发者自定义,主要用于区分不同消息类型
msg:
- 类型: 字符串类型
- 描述: (必填项)文本消息
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
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) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
技术支持
如果您有以下需求:
- 方案咨询;
- 接入流程协助;
- 测试DEMO功能;
- 内测功能;
- 问题反馈;
- 需求反馈;
音视频产品使用复杂程度高,可以扫码联系我们,获取技术支持,
微信号为: ruanyunwangluo006