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

注意 请您尽快将SDK升级到1.9.1及以上版本,2020年2月起将不再支持旧版本SDK,最新版SDK请参见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

接口详情

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回调获取到正确新值时才表示切换成功。