主叫方
主动呼叫
主动呼叫分为发起单人通话和发起多人通话,可根据实际需求调用。多人通话的场景必须在一个群组内。
发起单人通话
方法
JavaScript
CallLib.startSingleCall(targetId, mediaType, extra);
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| targetId | String | 是 | 对方的userId |
| mediaType | Number | 是 | 发起的通话媒体类型 0表示音频通话 1表示视频通话 |
| extra | String | 否 | 附加信息,默认值为空字符串 |
示例代码
JavaScript
// 发起音频通话
CallLib.startSingleCall(targetId, 0, '音频通话');
console.log('音频通话发起成功');
// 发起视频通话
CallLib.startSingleCall(targetId, 1, '视频通话');
console.log('视频通话发起成功');
发起多人通话
方法
JavaScript
CallLib.startGroupCall(groupId, userIds, observerUserIds, mediaType, extra);
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| groupId | String | 是 | 群组 Id |
| userIds | Array | 是 | 被呼叫的群内成员 Id |
| observerUserIds | null 或 Array | 是 | 观察者ID, 无观察者时传null |
| mediaType | Number | 是 | 呼叫类型 0表示音频通话 1表示视频通话 |
| extra | String | 否 | 附加信息,默认值为空字符串 |
示例代码
JavaScript
// 发起群组音频通话
CallLib.startGroupCall(groupId, userIds, null, 0, '群组音频通话');
console.log('群组音频通话发起成功');
// 发起群组视频通话
CallLib.startGroupCall(groupId, userIds, observerUserIds, 1, '群组视频通话');
console.log('群组视频通话发起成功');
挂断通话
方法
JavaScript
CallLib.hangup();
示例代码
JavaScript
CallLib.hangup();
console.log('通话已挂断');
邀请通话
调用 CallLib.inviteUsers 方法邀请用户加入当前通话(仅限群组)。
方法
JavaScript
CallLib.inviteUsers(userIds, observerUserIds);
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userIds | Array | 是 | 邀请的用户 ID 列表 |
| observerUserIds | null 或 Array | 是 | 被邀请观察者id列表 (只能听或看,不能推流的用户), 无观察者时传null |
示例代码
JavaScript
// 邀请用户加入通话
CallLib.inviteUsers(userIds, null);
console.log('用户邀请已发送');
// 邀请观察者加入通话
CallLib.inviteUsers(userIds, observerUserIds);
console.log('观察者邀请已发送');