相关回调事件,包括 Client 和 Stream。
Client.on('eventName') 事件监听中的事件名称。
用户被踢出房间通知
client.on('client-banned', () => { console.log('你已被踢出!'); });
用户离开房间通知
client.on('peer-leaved', event => { const userId = event.userId; });
用户进入房间通知
client.on('peer-joined', event => { const userId = event.userId; });
客户端错误事件,当出现不可恢复错误后 Client 会通过该事件上报
client.on('error', error => { console.error('client error observed: ' + error); const errorCode = error.getCode(); // 当出现客户端错误后,请调用 client.leave() 退房并尝试通过 client.join() 重新进房恢复通话。 });
远端用户禁用音频通知
client.on('mute-audio', event => { const userId = event.userId; });
远端用户禁用视频通知
client.on('mute-video', event => { const userId = event.userId; })
远端流添加事件,当远端用户发布流后会收到该通知
client.on('stream-added', event => { const remoteStream = event.stream; });
本地流推流成功事件,调用 publish() 成功后会触发该事件
client.on('stream-published', event => { const localStream = event.stream; });
远端流移除事件,当远端用户取消发布流后会收到该通知
client.on('stream-removed', event => { const remoteStream = event.stream; });
远端流订阅成功事件,调用 subscribe() 成功后会触发该事件
client.on('stream-subscribed', event => { const remoteStream = event.stream; });
远端流更新事件,当远端用户添加、移除或更换音视频轨道后会收到该通知
client.on('stream-updated', event => { const remoteStream = event.stream; });
远端用户取消禁用音频通知
client.on('unmute-audio', event => { const userId = event.userId; })
远端用户取消禁用视频通知
client.on('unmute-video', event => { const userId = event.userId; });
WebSocket 信令通道连接状态变化事件
client.on('connection-state-changed', event => { const state = event.state; // ‘DISCONNECTED’:连接断开;‘CONNECTING’:正在连接中;‘RECONNECTING’:自动重连中;‘CONNECTED’:已连接 });
Stream.on() 监听的事件。
audioTrack end 事件
stream.on('audio-track-ended', () => { console.log(`stream {stream.getUserId()} audioTrackEnded`); });
audioTrack mute 事件
stream.on('audio-track-mute', () => { console.log(`stream {stream.getUserId()} audioTrackMute`); });
audioTrack unmute 事件
stream.on('audio-track-unmute', () => { console.log(`stream {stream.getUserId()} audioTrackUnMute`); });
Audio/Video Player 状态变化事件 App 可根据状态变化来更新 UI,比如,通过监听 video player 状态变化来关闭或打开遮板
stream.on('player-state-changed', (event) => { console.log(`${event.type} player is ${event.state} because of ${event.reason}`); });
参数
PC连接错误,需要重新推拉流
stream.on('connect-error', event => { console.error('stream pc connect error'); if (stream.isLocalStream()) { client.publish(stream) } else { client.subscribe(stream) } });
videoTrack end 事件
stream.on('video-track-ended', () => { console.log(`stream {stream.getUserId()} videoTrackEnded`); });
videoTrack mute 事件
stream.on('video-track-mute', () => { console.log(`stream {stream.getUserId()} videoTrackMute`); });
videoTrack unmute 事件
stream.on('video-track-unmute', () => { console.log(`stream {stream.getUserId()} videoTrackUnMute`); });
Web
相关回调事件,包括 Client 和 Stream。
ClientEvent
Client.on('eventName') 事件监听中的事件名称。
Index
Methods
用户被踢出房间通知
用户离开房间通知
用户进入房间通知
客户端错误事件,当出现不可恢复错误后 Client 会通过该事件上报
远端用户禁用音频通知
远端用户禁用视频通知
远端流添加事件,当远端用户发布流后会收到该通知
本地流推流成功事件,调用 publish() 成功后会触发该事件
远端流移除事件,当远端用户取消发布流后会收到该通知
远端流订阅成功事件,调用 subscribe() 成功后会触发该事件
远端流更新事件,当远端用户添加、移除或更换音视频轨道后会收到该通知
远端用户取消禁用音频通知
远端用户取消禁用视频通知
WebSocket 信令通道连接状态变化事件
StreamEvent
Stream.on() 监听的事件。
Index
Methods
audioTrack end 事件
audioTrack mute 事件
audioTrack unmute 事件
Audio/Video Player 状态变化事件 App 可根据状态变化来更新 UI,比如,通过监听 video player 状态变化来关闭或打开遮板
参数
PC连接错误,需要重新推拉流
videoTrack end 事件
videoTrack mute 事件
videoTrack unmute 事件