本文为您介绍了Web SDK回调及监听的接口详情。

注意 请您尽快将SDK升级到1.9.1及以上版本,2020年2月起将不支持旧版本SDK,最新版SDK请参见SDK下载
说明 浏览器及其版本使用,请参见Web集成SDK

目录

API 描述 以上版本支持
onPublisher 发布流回调 1.2
onUnPublisher 取消发布流回调 1.2
onMediaStream 订阅流成功回调(1.10及以上版本不需要该接口回调) 1.2
onJoin 加入频道回调 1.2
onLeave 离开频道回调 1.2
onError 错误异常回调 1.2
onBye 被服务器踢出或者频道关闭时回调 1.11
onUpdateRole 角色切换回调 1.12
onNotify 用户状态变化回调 1.12.1
onAudioLevel 音频能量值回调 1.13.0

接口详情

AliRtcSDK Web端的回调方法如下:

  • onPublisher:发布流回调。当频道里的其他人发布本地流时,触发本回调。
    aliWebrtc.on('onPublisher',(publisher) =>{
        //远程发布者用户Id
        console.log(publisher.userId);
        //远程发布名字
        console.log(publisher.displayName);
        //远程流内容,streamConfigs是数组
        console.log(publisher.streamConfigs);
      });
  • onUnPublisher:取消发布流回调。当频道里的其他人取消发布本地流时,触发本回调。
    aliWebrtc.on('onUnPublisher',(publisher) =>{
        //远程发布者用户Id
        console.log(publisher.userId);
        //远程发布名字
        console.log(publisher.displayName);
    });
  • onMediaStream:订阅流成功回调。当订阅远程流成功时触发,会返回远程流的Stream对象,通过H5 Video或Audio播放。
    说明 1.10及以上版本不支持该回调。
    aliWebrtc.on('onMediaStream',(subscriber, stream) =>{
         var video = document.getElementByTag('video');
         aliWebrtc.setDisplayRemoteVideo(
            subscriber,        // onMediaStream中返回的参数
            video,             // html中用于显示stream对象的video元素
            stream             // onMediaStream中返回的参数
         )
     });
  • onJoin:加入频道回调。当有其他用户加入频道时,触发onJoin回调。
    aliWebrtc.on('onJoin',(data) =>{
       console.log(data.userId);
       console.log(data.displayName  + " 加入频道");
     });
  • onLeave:离开频道回调。当其他用户离开频道时,触发onLeave回调。
    aliWebrtc.on('onLeave',(data) =>{
       console.log(data.userId);
       console.log(data.displayName  + " 离开频道");
     });
  • onError:错误异常回调。当有错误发生时,触发onError回调。
    aliWebrtc.on('onError',(error) =>{
       var msg = error && error.message ? error.message : error;
       if (msg && msg.indexOf('no session') > 0) {
            error = "请重新登录:" + msg;
       }
       console.log('错误:' + msg);
     });
  • onBye:被服务器踢出或者频道关闭时回调。
    aliWebrtc.on('onBye',(message) =>{ 
    //1:被服务器踢出 
    //2:频道关闭 
    //3:同一个ID在其他端登录,被服务器踢出 
    console.log(message.code); 
    });
  • onUpdateRole:角色切换回调。
    aliWebrtc.on("onUpdateRole",(data)=>{
        console.log(data);
    })
    说明 在互动模式下,当调用setClientRole接口返回true,并且收到onUpdateRole回调获取到正确新值时才表示切换成功。
  • onNotify:用户状态变化回调。
    aliWebrtc.on("onNotify",(data)=>{
        console.log(data);
    })
    说明
    • 本地或远端用户的推流状态变化时(调用muteLocalMic、muteLocalCamera)会收到onNotify回调。
    • 该回调返回的data与调用getUserList接口返回的结果相同。
  • onAudioLevel:音频能量值回调。
    说明 需要设置enableAudioVolumeIndicator后回调,每两秒返回一次(返回两秒内音频能量最大值)。
    aliWebrtc.on("onAudioLevel", (data) => {
        console.log(data)
    })
    返回结果说明:
    • 当您推了音频流,返回数组中userId为字符串0的一项,是自己的音频信息。
    • 当您订阅了其他用户的音频流,该数组中会包含订阅用户的音频信息。
    • 具体数组各项的信息如下所示:
      返回值 类型 描述
      userId String 订阅用户userId,用户自己的userId为 "0"。
      displayName String 用户名。
      level Number 音频能量值[0,100]。