Web集成指南

  • SDK Demo:
  • 环境要求

    推荐 Chrome 浏览器: v58 或以上版本


  • 创建客户端(Client)对象

使用 FYRtcEngine 对象创建客户端(Client)对象。

var client = FYRtcEngine.createClient(options, callbacks);
参数 是否必须 描述
option json对象,包含Client需要的各种参数
callbacks json对象,包含Client的各种事件回调

示例代码:

var client = FYRtcEngine.createClient({
    appId: testConfig.appId,
    appToken: testConfig.appToken,
    audioElement: testConfig.audioElement
}, {
    onJoinChannelSuccess: function () {
        // 加入频道成功
    },
    onLeaveChannel: function () {
        // 离开频道
    },
    onUserJoined: function (userId) {
        // 用户加入频道
    },
    onUserOffline: function (userId) {
        // 用户离开频道
    },
    onUserMuteAudio: function (userId, muted) {
        // 用户静音状态改变
    },
    onCalleePrepareSuccess: function () {
        // calleePrepare成功
    },
    onIncomingCall: function (caller) {
        // 点对点语音来电
    },
    onCallConnect: function () {
        // 电话接通
    },
    onCallEnd: function () {
        // 电话结束
    },
    onError: function (error) {
        // 发生异常
    }
});


  • 加入频道

client.joinChannel(channelId, uid, option);
参数 是否必须 描述
channelId 频道id,长度不超过40的字符串,支持的字符集范围: a-z,A-Z,0-9,_,-
uid 用户id,为空时sdk会生成一个uid。长度不超过40的字符串,支持的字符集范围: a-z,A-Z,0-9,_,-
option json对象,选项,可以配置最大时长,是否录音和透传数据

示例代码:

client.joinChannel('123', 'tomweb', {
    isRecord: false, // 是否录音,默认为false
    maxDuration: 0, // 最大通话时长,0为不限制,默认为0
    extraData: '' // 透传数据,默认为''
});


  • 离开频道

client.leaveChannel();


  • 将频道中某一个成员静音

client.muteAudio(channelId, uid, enable);
参数 是否必须 描述
channelId 频道id
uid 被静音的成员uid
enable true:静音,false:解除静音


  • 将频道中除某一个成员之外的其他成员全部静音

client.muteOtherAudio(channelId, uid, enable);
参数 是否必须 描述
channelId 频道id
uid 不被静音的成员uid
enable true:静音,false:解除静音


  • 将频道中所有成员静音

client.muteAllAudio(channelId, enable);
参数 是否必须 描述
channelId 频道id
enable true:静音,false:解除静音


  • 将本地Audio静音

client.muteLocalAudio(enable);


  • 点对点语音

client.dialPeer(calleeUid, callerUid, option);
参数 是否必须 描述
calleeUid 被叫用户id,长度不超过40的字符串,支持的字符集范围: a-z,A-Z,0-9,_,-
callerUid 用户id,为空时sdk会生成一个uid。长度不超过40的字符串,支持的字符集范围: a-z,A-Z,0-9,_,-
option json对象,选项,可以配置最大时长,是否录音和透传数据

示例代码:

client.dialPeer('jack01', 'tomweb', {
    isRecord: false, // 是否录音,默认为false
    maxDuration: 0, // 最大通话时长,0为不限制,默认为0
    extraData: '' // 透传数据,默认为''
});


  • 接听点对点语音来电

client.answerCall();


  • 拒接点对点语音来电

client.rejectCall();


  • 挂断电话(点对点语音或专线直拨)

client.endCall();


  • 发送dtmf

client.sendDtmf(dtmf);
参数 是否必须 描述
dtmf dtmf: 0-9,*,#


  • 准备接听点对点来电

client.calleePrepare(uid);
参数 是否必须 描述
uid 当前的用户id


  • 错误码

当发生异常时,onError回调函数回调一个error对象,如:

{
    code: 600101, // 错误码
    msg: 'joinChannel error' // 错误消息
}

错误码:

错误码 描述
600000 内部异常
600001 参数错误
600100 获取配置信息失败
600101 加入频道失败
600102 静音请求失败
600103 点对点呼叫失败
600104 专线呼叫失败
600105 CalleePrepare异常
600200 通话异常
600201 被叫拒接
600202 被叫正忙



results matching ""

    No results matching ""