基础事件通知

最近更新时间:2019-06-12 15:35:04

基础事件通知包括本地视频流新增/更新、远端视频流新增/更新、远端视频流断开、websocket 断开、视频流 server 超时断开和被踢下线(同一个用户重复登录)的通知。详细描述如下:

事件通知的基本语法:

    var RTC = new WebRTCAPI( { ... } );

    ......

    RTC.on( 'EVENT_NAME' , function(data){

    })

onLocalStreamAdd

本地视频流新增/更新通知。

代码示例

    var RTC = new WebRTCAPI( { ... } );

    RTC.on( 'onLocalStreamAdd' , function( data ){
        if( data && data.stream){
            var stream = data.stream
            document.querySelector("#localVideo").srcObject = stream
        }
    })

data

参数 类型 描述
stream Stream 本地视频流 Stream

onRemoteStreamUpdate

远端视频流新增/更新通知。

代码示例

    var RTC = new WebRTCAPI( { ... } );

    RTC.on( 'onRemoteStreamUpdate' , function( data ){
        if( data && data.stream){
            var stream = data.stream
            console.debug( data.userId + 'enter this room with unique videoId '+ data.videoId  )
            document.querySelector("#remoteVideo").srcObject = stream
        }else{
            console.debug( 'somebody enter this room without stream' )
        }
    })

data

参数 类型 描述
userId String 视频流所属用户的 userId
stream Stream 视频流 Stream,可能为 null(每一个用户进来 不管是否推流,都会触发这个回调)
videoId String 视频流 Stream 的唯一 ID ,由 tinyid + "_" + 随机字符串 组成
videoType: Integer 0:NONE 1:AUDIO 音频 2:主路 MAIN 7:辅路 AID

onRemoteStreamRemove

远端视频流断开通知。

代码示例

    var RTC = new WebRTCAPI( { ... } );

    RTC.on( 'onRemoteStreamRemove' , function( data ){
        console.debug( data.userId + ' leave this room with unique videoId '+ data.videoId  )
    })

data

参数 类型 描述
userId String 远端视频流所属用户的 userId
videoId String 远端视频流 Stream 的唯一 ID

onWebSocketClose

websocket 断开通知。

代码示例

    var RTC = new WebRTCAPI( { ... } );

    RTC.on( 'onWebSocketClose' , function( data ){

    })

onRelayTimeout

视频流 server 超时断开通知。

代码示例

    var RTC = new WebRTCAPI( { ... } );

    RTC.on( 'onRelayTimeout' , function( data ){
        //视频服务器超时
    })

onKickout

被踢下线(同一个用户重复登录)通知。

代码示例

    var RTC = new WebRTCAPI( { ... } );

    RTC.on( 'onKickout' , function( data ){
        //退出房间
    })

onMuteAudio

通知 App 远端用户在语音通话中将自己的麦克风关掉。

代码示例

RTC.on('onMuteAudio', (evt) => {
    console.log(`user:${evt.userId} mute audio`);
});

evt

参数 类型 描述
userId String 远端用户 userId

onUnmuteAudio

通知 App 远端用户在语音通话中将自己的麦克风打开。

代码示例

RTC.on('onUnmuteAudio', (evt) => {
    console.log(`user:${evt.userId} unmute audio`);
});

evt

参数 类型 描述
userId String 远端用户 userId

onMuteVideo

通知 App 远端用户在视频通话中将自己的摄像头关掉。

代码示例

RTC.on('onMuteVideo', (evt) => {
    console.log(`user:${evt.userId} mute video`);
});

evt

参数 类型 描述
userId String 远端用户 userId

onUnmuteVideo

通知 App 远端用户在视频通话中将自己的摄像头打开。

代码示例

RTC.on('onUnmuteVideo', (evt) => {
    console.log(`user:${evt.userId} unmute video`);
});

evt

参数 类型 描述
userId String 远端用户 userId