主叫方
主动呼叫分为发起单人通话和发起多人通话,可根据实际需求调用。多人通话的场景必须在一个群组内。
发起单人通话
方法
JavaScript
CallLib.startSingleCall();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
targetId | String | 是 | 对方的 userId |
type | Number | 是 | 呼叫类型(0: 音频,1: 音视频) |
extra | String | 否 | 附加信息,默认传 '' |
示例代码
JavaScript
// 发起音频通话
CallLib.startSingleCall('user123', 0, '');
// 发起音视频通话
CallLib.startSingleCall('user123', 1, '邀请您进行视频通话');
发起多人通话
方法
JavaScript
CallLib.startGroupCall();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
groupId | String | 是 | 群组 Id |
userIds | Array | 是 | 被呼叫的群内成员 Id 列表 |
observerUserIds | Array | 是 | 观察者 ID 列表,默认为空数组 |
type | Number | 是 | 呼叫类型(0: 音频,1: 音视频) |
extra | String | 否 | 附加信息,默认传 '' |
示例代码
JavaScript
// 发起群组音频通话
CallLib.startGroupCall('group123', ['user1', 'user2'], [], 0, '');
// 发起群组音视频通话
CallLib.startGroupCall('group123', ['user1', 'user2'], ['observer1'], 1, '群组视频会议');
监听呼叫
通话接通监听
已建立通话,通过回调 call.onCallConnected
监听。
方法
JavaScript
CallLib.onCallConnected();
回调参数
参数 | 类型 | 说明 |
---|---|---|
res | Object | 通话详细信息 |
示例代码
JavaScript
CallLib.onCallConnected((res) => {
console.log("Engine:OnCallConnected=>" + "通话接通时,通过回调 onCallConnected 通知当前 call 的详细信息", res);
});
远端用户加入监听
对端用户加入了通话,通过回调 CallLib.onRemoteUserJoined
监听。
方法
JavaScript
CallLib.onRemoteUserJoined();
回调参数
参数 | 类型 | 说明 |
---|---|---|
res | Object | 远端用户信息,包含 userId |
示例代码
JavaScript
CallLib.onRemoteUserJoined((res) => {
console.log("Engine:OnRemoteUserJoined=>" + "主叫端拨出电话,被叫端收到请求后,加入通话,被叫端Id为=>", res.data.userId);
});
挂断通话
方法
JavaScript
CallLib.hangup();
示例代码
JavaScript
// 挂断通话
CallLib.hangup();
通话结束监听
通话结束,通过回调 CallLib.OnCallDisconnected
监听。
方法
JavaScript
CallLib.onCallDisconnected();
回调参数
参数 | 类型 | 说明 |
---|---|---|
res | Object | 挂断信息,包含 reason |
示例代码
JavaScript
CallLib.onCallDisconnected((res) => {
console.log("Engine:OnCallDisconnected=>" + "挂断成功, 挂断原因=>", res.data.reason);
});
远端用户离开监听
通话中的远端参与者挂断,通过回调 call.OnRemoteUserLeft
监听。
方法
JavaScript
CallLib.onRemoteUserLeft();
回调参数
参数 | 类型 | 说明 |
---|---|---|
res | Object | 远 端用户离开信息,包含 reason |
示例代码
JavaScript
CallLib.onRemoteUserLeft((res) => {
console.log("Engine:OnRemoteUserLeft=>" + "远端用户挂断,远端Id为=>", res.data.reason);
});
邀请通话
调用 CallLib.inviteUsers
方法邀请用户加入当前通话(仅限群组)。
方法
JavaScript
CallLib.inviteUsers();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
userIds | Array | 是 | 邀请的用户 ID 列表 |
observerUserIds | Array | 是 | 被邀请观察者 id 列表(只能听或看,不能推流的用户),默认传空数 组 [] |
示例代码
JavaScript
// 邀请用户加入通话
CallLib.inviteUsers(['user3', 'user4'], []);
// 邀请用户和观察者加入通话
CallLib.inviteUsers(['user3'], ['observer2']);