Skip to content

用户媒体事件

用户媒体事件用于监听远端用户的音视频状态变化。

remoteTrackAvailableNotify

远端用户的音视频流发生变化回调。

事件签名

typescript
remoteTrackAvailableNotify: (uid: string, audioTrack: AliRtcAudioTrack, videoTrack: AliRtcVideoTrack) => void

参数说明

参数类型描述
uidstring用户ID
audioTrackAliRtcAudioTrack音频流类型
videoTrackAliRtcVideoTrack视频流类型

使用示例

javascript
engine.on('remoteTrackAvailableNotify', (uid, audioTrack, videoTrack) => {
  console.log(`用户 ${uid} 音视频流状态变化:`, audioTrack, videoTrack);
  
  // 根据音视频流状态更新UI
  updateUserMediaStatus(uid, audioTrack, videoTrack);
});

userAudioMuted

远端用户静音/取消静音回调。

事件签名

typescript
userAudioMuted: (uid: string, isMute: boolean) => void

参数说明

参数类型描述
uidstring远端用户ID
isMuteboolean是否静音,true表示静音,false表示取消静音

使用示例

javascript
engine.on('userAudioMuted', (uid, isMute) => {
  console.log(`用户 ${uid} 音频${isMute ? '静音' : '取消静音'}`);
  
  // 更新UI显示音频状态
  updateUserAudioMuteStatus(uid, isMute);
});

userVideoMuted

对端用户发送视频黑帧数据发送通知。

事件签名

typescript
userVideoMuted: (uid: string, isMute: boolean) => void

参数说明

参数类型描述
uidstring执行muteVideo的用户ID
isMuteboolean是否推流黑帧,true表示推流黑帧,false表示正常推流

使用示例

javascript
engine.on('userVideoMuted', (uid, isMute) => {
  console.log(`用户 ${uid} 视频${isMute ? '推流黑帧' : '正常推流'}`);
  
  // 更新UI显示视频状态
  updateUserVideoMuteStatus(uid, isMute);
});

userScreenMuted

对端用户发送屏幕黑帧数据发送通知。

事件签名

typescript
userScreenMuted: (uid: string, isMute: boolean) => void

参数说明

参数类型描述
uidstring执行muteVideo的用户ID
isMuteboolean是否推流黑帧,true表示推流黑帧,false表示正常推流

使用示例

javascript
engine.on('userScreenMuted', (uid, isMute) => {
  console.log(`用户 ${uid} 屏幕共享${isMute ? '推流黑帧' : '正常推流'}`);
  
  // 更新UI显示屏幕共享状态
  updateUserScreenMuteStatus(uid, isMute);
});

remoteAudioAutoPlayFail

远程用户的音频自动播放失败。

事件签名

typescript
remoteAudioAutoPlayFail: (uid: string) => void

参数说明

参数类型描述
uidstring用户ID

使用示例

javascript
engine.on('remoteAudioAutoPlayFail', (uid) => {
  console.log(`用户 ${uid} 音频自动播放失败`);
  
  // 弹出弹窗引导用户点击页面进行播放
  showAudioPlayPrompt(uid);
});

remoteVideoAutoPlayFail

远程用户的视频自动播放失败。

事件签名

typescript
remoteVideoAutoPlayFail: (uid: string, videoTrack: AliRtcVideoTrack) => void

参数说明

参数类型描述
uidstring用户ID
videoTrackAliRtcVideoTrack视频轨道类型

使用示例

javascript
engine.on('remoteVideoAutoPlayFail', (uid, videoTrack) => {
  console.log(`用户 ${uid} 视频自动播放失败:`, videoTrack);
  
  // 弹出弹窗引导用户点击页面进行播放
  showVideoPlayPrompt(uid, videoTrack);
});

remoteAudioPlayError

远程用户的音频播放出错。

事件签名

typescript
remoteAudioPlayError: (uid: string, reason: string | undefined) => void

参数说明

参数类型描述
uidstring用户ID
reasonstring | undefined出错原因

使用示例

javascript
engine.on('remoteAudioPlayError', (uid, reason) => {
  console.log(`用户 ${uid} 音频播放出错:`, reason);
  
  // 处理音频播放错误
  handleAudioPlayError(uid, reason);
});

remoteVideoPlayError

远程用户的视频播放出错。

事件签名

typescript
remoteVideoPlayError: (uid: string, reason: string | undefined) => void

参数说明

参数类型描述
uidstring用户ID
reasonstring | undefined出错原因

使用示例

javascript
engine.on('remoteVideoPlayError', (uid, reason) => {
  console.log(`用户 ${uid} 视频播放出错:`, reason);
  
  // 处理视频播放错误
  handleVideoPlayError(uid, reason);
});