AliRTCSdk v2.5
阿里云实时音视频 SDK,覆盖在全球范围内的实时音视频开发平台,为您提供高可用、高品质、超低延时的音视频通信服务。
回调及监听

class  com.alivc.rtc.AliRtcEngineEventListener
 
class  com.alivc.rtc.AliRtcEngineNotify
 
interface  com.alivc.rtc.AliRtcUsbDeviceEvent
 

详细描述


类说明

◆ com::alivc::rtc::AliRtcEngineEventListener

class com::alivc::rtc::AliRtcEngineEventListener

Public 成员函数

void onJoinChannelResult (int result, String channel, int elapsed)
 
void onJoinChannelResult (int result, String channel, String userId, int elapsed)
 
void onLiveStreamingSignalingResult (int result)
 
void onLeaveChannelResult (int result, AliRtcEngine.AliRtcStats stats)
 
void onAudioPublishStateChanged (AliRtcEngine.AliRtcPublishState oldState, AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)
 
void onVideoPublishStateChanged (AliRtcEngine.AliRtcPublishState oldState, AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)
 
void onDualStreamPublishStateChanged (AliRtcEngine.AliRtcPublishState oldState, AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)
 
void onScreenSharePublishStateChanged (AliRtcEngine.AliRtcPublishState oldState, AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)
 
void onAudioSubscribeStateChanged (String uid, AliRtcEngine.AliRtcSubscribeState oldState, AliRtcEngine.AliRtcSubscribeState newState, int elapseSinceLastState, String channel)
 
void onVideoSubscribeStateChanged (String uid, AliRtcEngine.AliRtcSubscribeState oldState, AliRtcEngine.AliRtcSubscribeState newState, int elapseSinceLastState, String channel)
 
void onSubscribeStreamTypeChanged (String uid, AliRtcEngine.AliRtcVideoStreamType oldStreamType, AliRtcEngine.AliRtcVideoStreamType newStreamType, int elapseSinceLastState, String channel)
 
void onScreenShareSubscribeStateChanged (String uid, AliRtcEngine.AliRtcSubscribeState oldState, AliRtcEngine.AliRtcSubscribeState newState, int elapseSinceLastState, String channel)
 
void onNetworkQualityChanged (String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality)
 
void onNetworkQualityProbeTest (AliRtcNetworkQuality quality)
 
void onOccurWarning (int warn, String message)
 
void onOccurError (int error, String message)
 
void onPerformanceLow ()
 
void onPermormanceRecovery ()
 
void onConnectionLost ()
 
void onTryToReconnect ()
 
void onConnectionRecovery ()
 
void onConnectionStatusChange (AliRtcEngine.AliRtcConnectionStatus status, AliRtcEngine.AliRtcConnectionStatusChangeReason reason)
 
void onUpdateRoleNotify (AliRtcEngine.AliRTCSdkClientRole oldRole, AliRtcEngine.AliRTCSdkClientRole newRole)
 
void onSnapshotComplete (String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)
 
void onPublishLiveStreamStateChanged (String streamUrl, AliRtcEngine.AliRtcLiveTranscodingState state, AliRtcEngine.AliEngineLiveTranscodingErrorCode errCode)
 
void onPublishTaskStateChanged (String streamUrl, AliRtcEngine.AliRtcTrascodingPublishTaskStatus state)
 
void onRequestVideoExternalEncoderParameter (AliRtcVideoTrack trackType, AliRtcEngine.AliRtcVideoExternalEncoderParameter parameter)
 
void onRequestVideoExternalEncoderFrame (AliRtcVideoTrack trackType, AliRtcEngine.AliRtcVideoEncodedFrameType frameType)
 
void onPublishStaticVideoFrame (AliRtcVideoTrack trackType, boolean isStaticFrame)
 

成员函数说明

◆ onJoinChannelResult() [1/2]

void com.alivc.rtc.AliRtcEngineEventListener.onJoinChannelResult ( int  result,
String  channel,
int  elapsed 
)

加入频道回调

当应用调用 AliRtcEngine#joinChannel 方法时,该回调表示成功/失败加入频道,并且返回频道加入的相关信息以及加入频道耗时

参数
result加入频道结果 -0: 成功
  • 非0: 失败
channel加入频道名
elapsed加入频道耗时
注解
已废弃

◆ onJoinChannelResult() [2/2]

void com.alivc.rtc.AliRtcEngineEventListener.onJoinChannelResult ( int  result,
String  channel,
String  userId,
int  elapsed 
)

加入频道回调

当应用调用 AliRtcEngine#joinChannel 方法时,该回调表示成功/失败加入频道,并且返回频道加入的相关信息以及加入频道耗时

参数
result加入频道结果
channel加入频道名
userId用户ID
elapsed加入频道耗时

◆ onLiveStreamingSignalingResult()

void com.alivc.rtc.AliRtcEngineEventListener.onLiveStreamingSignalingResult ( int  result)

低延时互动直播模式start回调

参数
result是否start成功
注解
该回调仅在低延时互动模式且角色为观众时,调用 AliRtcEngine#startLiveStreaming 才会回调

◆ onLeaveChannelResult()

void com.alivc.rtc.AliRtcEngineEventListener.onLeaveChannelResult ( int  result,
AliRtcEngine.AliRtcStats  stats 
)

离开频道回调

应用调用 AliRtcEngine#leaveChannel 方法时,该回调表示成功/失败离开频道,回调将会返回离会的result和该频道的基本信息

参数
result离开频道结果,成功返回0,失败返回错误码
stats本次频道内会话的数据统计信息。
注解
调用 AliRtcEngine#leaveChannel 接口后返回,如果 AliRtcEngine#leaveChannel 后直接调用 AliRtcEngine#destroy 将不会收到此回调

◆ onAudioPublishStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onAudioPublishStateChanged ( AliRtcEngine.AliRtcPublishState  oldState,
AliRtcEngine.AliRtcPublishState  newState,
int  elapseSinceLastState,
String  channel 
)

音频推流变更回调

参数
oldState之前的推流状态
newState当前的推流状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onVideoPublishStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onVideoPublishStateChanged ( AliRtcEngine.AliRtcPublishState  oldState,
AliRtcEngine.AliRtcPublishState  newState,
int  elapseSinceLastState,
String  channel 
)

视频推流变更回调

参数
oldState之前的推流状态
newState当前的推流状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onDualStreamPublishStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onDualStreamPublishStateChanged ( AliRtcEngine.AliRtcPublishState  oldState,
AliRtcEngine.AliRtcPublishState  newState,
int  elapseSinceLastState,
String  channel 
)

次要流推流变更回调

参数
oldState之前的推流状态
newState当前的推流状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onScreenSharePublishStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onScreenSharePublishStateChanged ( AliRtcEngine.AliRtcPublishState  oldState,
AliRtcEngine.AliRtcPublishState  newState,
int  elapseSinceLastState,
String  channel 
)

屏幕分享推流变更回调

参数
oldState之前的推流状态
newState当前的推流状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onAudioSubscribeStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onAudioSubscribeStateChanged ( String  uid,
AliRtcEngine.AliRtcSubscribeState  oldState,
AliRtcEngine.AliRtcSubscribeState  newState,
int  elapseSinceLastState,
String  channel 
)

音频订阅情况变更回调

参数
uid用户ID
oldState之前的订阅状态
newState当前的订阅状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onVideoSubscribeStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onVideoSubscribeStateChanged ( String  uid,
AliRtcEngine.AliRtcSubscribeState  oldState,
AliRtcEngine.AliRtcSubscribeState  newState,
int  elapseSinceLastState,
String  channel 
)

相机流订阅情况变更回调

参数
uid用户ID
oldState之前的订阅状态
newState当前的订阅状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onSubscribeStreamTypeChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onSubscribeStreamTypeChanged ( String  uid,
AliRtcEngine.AliRtcVideoStreamType  oldStreamType,
AliRtcEngine.AliRtcVideoStreamType  newStreamType,
int  elapseSinceLastState,
String  channel 
)

大小流订阅情况变更回调

参数
uid用户ID
oldStreamType之前的订阅状态
newStreamType当前的订阅状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onScreenShareSubscribeStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onScreenShareSubscribeStateChanged ( String  uid,
AliRtcEngine.AliRtcSubscribeState  oldState,
AliRtcEngine.AliRtcSubscribeState  newState,
int  elapseSinceLastState,
String  channel 
)

屏幕分享流订阅情况变更回调

参数
uid用户ID
oldState之前的订阅状态
newState当前的订阅状态
elapseSinceLastState状态变更时间间隔(毫秒)
channel当前频道

◆ onNetworkQualityChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onNetworkQualityChanged ( String  uid,
AliRtcNetworkQuality  upQuality,
AliRtcNetworkQuality  downQuality 
)

网络质量变化时发出的消息

参数
uid用户ID,为空时表示本地用户上下行网络状态
upQuality上行网络状态
downQuality下行网络状态
注解
当网络质量发生变化时触发

◆ onNetworkQualityProbeTest()

void com.alivc.rtc.AliRtcEngineEventListener.onNetworkQualityProbeTest ( AliRtcNetworkQuality  quality)

网络质量探测的回调

参数
quality网络质量,详见 com::alivc::rtc::AliRtcEngine::AliRtcNetworkQuality
注解
当调用 AliRtcEngine#startNetworkQualityProbeTest 后会触发该回调

◆ onOccurWarning()

void com.alivc.rtc.AliRtcEngineEventListener.onOccurWarning ( int  warn,
String  message 
)

警告通知

如果engine出现warning,通过这个回调通知app

参数
warn警告类型
message警告消息

◆ onOccurError()

void com.alivc.rtc.AliRtcEngineEventListener.onOccurError ( int  error,
String  message 
)

错误通知

如果engine出现error,通过这个回调通知app

参数
error错误类型,参考 org::webrtc::alirtcInterface::ErrorCodeEnum
message错误消息

◆ onPerformanceLow()

void com.alivc.rtc.AliRtcEngineEventListener.onPerformanceLow ( )

性能差通知

注解
一般在Cpu过热或者过冷导致的降频情况下触发

◆ onPermormanceRecovery()

void com.alivc.rtc.AliRtcEngineEventListener.onPermormanceRecovery ( )

性能恢复通知

注解
一般在Cpu过热或者过冷导致的降频后,重新恢复正常频率时触发

◆ onConnectionStatusChange()

void com.alivc.rtc.AliRtcEngineEventListener.onConnectionStatusChange ( AliRtcEngine.AliRtcConnectionStatus  status,
AliRtcEngine.AliRtcConnectionStatusChangeReason  reason 
)

网络连接状态改变

参数
status连接状态
reason连接状态变化原因

◆ onUpdateRoleNotify()

void com.alivc.rtc.AliRtcEngineEventListener.onUpdateRoleNotify ( AliRtcEngine.AliRTCSdkClientRole  oldRole,
AliRtcEngine.AliRTCSdkClientRole  newRole 
)

当用户角色发生变化时通知

参数
oldRole变化前角色类型
newRole变化后角色类型
注解
当本地用户在加入频道后,调用AliRtcEngine#setClientRole方法切换角色成功时会触发此回调

◆ onSnapshotComplete()

void com.alivc.rtc.AliRtcEngineEventListener.onSnapshotComplete ( String  userId,
AliRtcVideoTrack  trackType,
Bitmap  bitmap,
boolean  success 
)

截图回调

参数
userId用户ID
trackType截图视频流类型,参考 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
bitmap截图内容
success截图是否成功
注解
该接口用于截图回调

◆ onPublishLiveStreamStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onPublishLiveStreamStateChanged ( String  streamUrl,
AliRtcEngine.AliRtcLiveTranscodingState  state,
AliRtcEngine.AliEngineLiveTranscodingErrorCode  errCode 
)

旁路推流状态改变回调

参数
streamUrl流地址
state推流状态, 参考 com::alivc::rtc::AliRtcEngine::AliRtcLiveTranscodingState
errCode错误码, 参考 com::alivc::rtc::AliRtcEngine::AliEngineLiveTranscodingErrorCode
注解
该接口用于旁路推流状态改变的回调

◆ onPublishTaskStateChanged()

void com.alivc.rtc.AliRtcEngineEventListener.onPublishTaskStateChanged ( String  streamUrl,
AliRtcEngine.AliRtcTrascodingPublishTaskStatus  state 
)

旁路任务状态改变回调

参数
streamUrl流地址
state任务状态, 参考 com::alivc::rtc::AliRtcEngine::AliRtcTrascodingPublishTaskStatus
注解
该接口用于旁路任务状态改变的回调

◆ onRequestVideoExternalEncoderParameter()

void com.alivc.rtc.AliRtcEngineEventListener.onRequestVideoExternalEncoderParameter ( AliRtcVideoTrack  trackType,
AliRtcEngine.AliRtcVideoExternalEncoderParameter  parameter 
)

网络发生变化反馈参数回调

参数
trackType推流类型
parameter回调参数结构体

◆ onRequestVideoExternalEncoderFrame()

void com.alivc.rtc.AliRtcEngineEventListener.onRequestVideoExternalEncoderFrame ( AliRtcVideoTrack  trackType,
AliRtcEngine.AliRtcVideoEncodedFrameType  frameType 
)

网络发生变化反馈请求编码帧回调

参数
trackType推流类型
frameType编码帧类型

◆ onPublishStaticVideoFrame()

void com.alivc.rtc.AliRtcEngineEventListener.onPublishStaticVideoFrame ( AliRtcVideoTrack  trackType,
boolean  isStaticFrame 
)

是否推静态图片

通过 AliRtcEngine#setPublishImage 设置替代图片,上行网络状态差的情况下触发该回调。

参数
trackType推流类型
isStaticFrame
  • true: 上行网络差,开始推静态图片
  • false: 上行网络恢复,推正常采集数据

◆ com::alivc::rtc::AliRtcEngineNotify

class com::alivc::rtc::AliRtcEngineNotify

Public 成员函数

void onRemoteUserOnLineNotify (String uid, int elapsed)
 
void onRemoteUserOffLineNotify (String uid, AliRtcUserOfflineReason reason)
 
void onRemoteTrackAvailableNotify (String uid, AliRtcAudioTrack audioTrack, AliRtcVideoTrack videoTrack)
 
void onFirstRemoteVideoFrameDrawn (String uid, AliRtcVideoTrack videoTrack, int width, int height, int elapsed)
 
void onFirstLocalVideoFrameDrawn (int width, int height, int elapsed)
 
void onFirstVideoFrameReceived (String uid, AliRtcVideoTrack videoTrack, int timeCost)
 
void onFirstVideoPacketSent (String uid, AliRtcVideoTrack videoTrack, int timeCost)
 
void onFirstAudioPacketSent (String uid, int timeCost)
 
void onFirstVideoPacketReceived (String uid, AliRtcVideoTrack videoTrack, int timeCost)
 
void onFirstAudioPacketReceived (String uid, int timeCost)
 
void onFirstRemoteAudioDecoded (String uid, int elapsed)
 
void onBye (int code)
 
void onAliRtcStats (AliRtcEngine.AliRtcStats aliRtcStats)
 
void onUserAudioMuted (String uid, boolean isMute)
 
void onUserVideoMuted (String uid, boolean isMute)
 
void onUserVideoEnabled (String uid, boolean isEnable)
 
void onUserAudioInterruptedBegin (String uid)
 
void onUserAudioInterruptedEnded (String uid)
 
void onUserWillResignActive (String uid)
 
void onUserWillBecomeActive (String uid)
 
void onAudioPlayingStateChanged (AliRtcEngine.AliRtcAudioPlayingStateCode playState, AliRtcEngine.AliRtcAudioPlayingErrorCode errorCode)
 
void onRemoteAudioAccompanyStarted (String uid)
 
void onRemoteAudioAccompanyFinished (String uid)
 
void onAudioEffectFinished (int soundId)
 
void onVideoResolutionChanged (String uid, AliRtcVideoTrack videoTrack, int width, int height)
 
void onMediaRecordEvent (int event, String filePath)
 
void onRtcLocalVideoStats (AliRtcEngine.AliRtcLocalVideoStats aliRtcStats)
 
void onRtcRemoteVideoStats (AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats)
 
void onRtcRemoteAudioStats (AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats)
 
void onRtcLocalAudioStats (AliRtcEngine.AliRtcLocalAudioStats aliRtcStats)
 
void onMediaExtensionMsgReceived (String uid, byte[]message)
 
void onUplinkChannelMessage (int result, String contentType, String content)
 
void onAudioFocusChange (int focusChange)
 
void onAudioRouteChanged (AliRtcEngine.AliRtcAudioRouteType routing)
 
void onMessage (String tid, String contentType, String content)
 
void onChannelRelayStateChanged (int state, int code, String message)
 
void onChannelRelayEvent (int state)
 
void onRemoteVideoChanged (String uId, AliRtcVideoTrack videoTrack, AliRtcEngine.AliRtcVideoState videoState, AliRtcEngine.AliRtcVideoReason videoReason)
 
void onAuthInfoWillExpire ()
 
void onAuthInfoExpired ()
 

成员函数说明

◆ onRemoteUserOnLineNotify()

void com.alivc.rtc.AliRtcEngineNotify.onRemoteUserOnLineNotify ( String  uid,
int  elapsed 
)

远端用户(通信模式)/(互动模式,主播角色)加入频道回调

该回调在以下场景会被触发

  • 通信模式:远端用户加入频道会触发该回调,如果当前用户在加入频道前已有其他用户在频道中,当前用户加入频道后也会收到已加入频道用户的回调
  • 互动模式:
参数
uid用户ID,从App server分配的唯一标示符
elapsed用户加入频道时的耗时
注解
互动模式下回调行为
  • 主播间可以互相收到加入频道回调
  • 观众可以收到主播加入频道回调
  • 主播无法收到观众加入频道回调

◆ onRemoteUserOffLineNotify()

void com.alivc.rtc.AliRtcEngineNotify.onRemoteUserOffLineNotify ( String  uid,
AliRtcUserOfflineReason  reason 
)

远端用户(通信模式)/(互动模式,主播角色)离开频道回调

该回调在以下场景会被触发

参数
uid用户ID,从App server分配的唯一标示符
reason用户离线的原因,详见 com::alivc::rtc::AliRtcEngine::AliRtcUserOfflineReason

◆ onRemoteTrackAvailableNotify()

void com.alivc.rtc.AliRtcEngineNotify.onRemoteTrackAvailableNotify ( String  uid,
AliRtcAudioTrack  audioTrack,
AliRtcVideoTrack  videoTrack 
)

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

该回调在以下场景会被触发

参数
uid用户ID,从App server分配的唯一标示符
audioTrack音频流类型,详见 com::alivc::rtc::AliRtcEngine::AliRtcAudioTrack
videoTrack视频流类型,详见 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
注解
该回调仅在通信模式用户和互动模式下的主播角色才会触发

◆ onFirstRemoteVideoFrameDrawn()

void com.alivc.rtc.AliRtcEngineNotify.onFirstRemoteVideoFrameDrawn ( String  uid,
AliRtcVideoTrack  videoTrack,
int  width,
int  height,
int  elapsed 
)

远端用户的第一帧视频帧显示时触发这个消息

参数
uid用户ID,从App server分配的唯一标示符
videoTrack屏幕流或者相机流,参考 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
width视频宽度
height视频高度
elapsed本地用户加入频道直至该回调触发的延迟总耗时(毫秒)
注解
该接口用于远端用户的第一帧视频帧显示时的回调

◆ onFirstLocalVideoFrameDrawn()

void com.alivc.rtc.AliRtcEngineNotify.onFirstLocalVideoFrameDrawn ( int  width,
int  height,
int  elapsed 
)

预览开始显示第一帧视频帧时触发这个消息

参数
width本地预览视频宽度
height本地预览视频高度
elapsed从本地用户加入频道直至该回调触发的延迟总耗时(毫秒)
注解
该接口用于预览开始显示第一帧视频帧时的回调

◆ onFirstVideoFrameReceived()

void com.alivc.rtc.AliRtcEngineNotify.onFirstVideoFrameReceived ( String  uid,
AliRtcVideoTrack  videoTrack,
int  timeCost 
)

收到远端用户视频首帧的回调

参数
uid用户ID,从App server分配的唯一标示符
videoTrack接收视频track,参考 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
timeCost耗时(毫秒)
注解
该接口用于收到远端用户视频首帧的回调

◆ onFirstVideoPacketSent()

void com.alivc.rtc.AliRtcEngineNotify.onFirstVideoPacketSent ( String  uid,
AliRtcVideoTrack  videoTrack,
int  timeCost 
)

视频首包发送回调

参数
uid用户ID,从App server分配的唯一标示符
videoTrack发送视频track,参考 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
timeCost耗时(毫秒)
注解
该接口用于视频首包发送的回调

◆ onFirstAudioPacketSent()

void com.alivc.rtc.AliRtcEngineNotify.onFirstAudioPacketSent ( String  uid,
int  timeCost 
)

音频首包发送回调

在首个音频数据包发送出去时触发此回调

参数
uid用户ID,从App server分配的唯一标识符
timeCost发送耗时,从入会开始到音频首包发送出去的耗时

◆ onFirstVideoPacketReceived()

void com.alivc.rtc.AliRtcEngineNotify.onFirstVideoPacketReceived ( String  uid,
AliRtcVideoTrack  videoTrack,
int  timeCost 
)

视频首包接收回调

参数
uid远端用户ID,从App server分配的唯一标示符
videoTrack接收视频track,参考 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
timeCost耗时(毫秒)
注解
该接口用于视频首包接收的回调

◆ onFirstAudioPacketReceived()

void com.alivc.rtc.AliRtcEngineNotify.onFirstAudioPacketReceived ( String  uid,
int  timeCost 
)

音频首包接收回调

在接收到远端首个音频数据包时触发此回调

参数
uid远端用户ID,从App server分配的唯一标识符
timeCost接收耗时,从入会开始到音频首包接收到的耗时

◆ onFirstRemoteAudioDecoded()

void com.alivc.rtc.AliRtcEngineNotify.onFirstRemoteAudioDecoded ( String  uid,
int  elapsed 
)

已解码远端音频首帧回调

参数
uid远端用户ID,从App server分配的唯一标识符
elapsed从本地用户加入频道直至该回调触发的延迟, 单位为毫秒

◆ onBye()

void com.alivc.rtc.AliRtcEngineNotify.onBye ( int  code)

被服务器踢出/会议结束频道的消息

参数
code原因参考com::alivc::rtc::AliRtcEngine::AliRtcOnByeType

◆ onAliRtcStats()

void com.alivc.rtc.AliRtcEngineNotify.onAliRtcStats ( AliRtcEngine.AliRtcStats  aliRtcStats)

实时数据回调(2s触发一次)

参数
aliRtcStats统计信息

◆ onUserAudioMuted()

void com.alivc.rtc.AliRtcEngineNotify.onUserAudioMuted ( String  uid,
boolean  isMute 
)

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

参数
uid远端用户ID
isMute该用户是否静音
  • true: 静音
  • false: 取消静音

◆ onUserVideoMuted()

void com.alivc.rtc.AliRtcEngineNotify.onUserVideoMuted ( String  uid,
boolean  isMute 
)

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

参数
uid执行muteVideo的用户ID
isMute
  • true: 推流黑帧
  • false: 正常推流
注解
该接口用于对端用户发送视频黑帧数据时的回调

◆ onUserVideoEnabled()

void com.alivc.rtc.AliRtcEngineNotify.onUserVideoEnabled ( String  uid,
boolean  isEnable 
)

对端用户关闭相机流采集发送通知

参数
uid执行EnableLocalVideo的用户ID
isEnable
  • true: 打开相机流采集
  • false: 关闭相机流采集
注解
该接口用于对端用户关闭相机流采集时的回调

◆ onUserAudioInterruptedBegin()

void com.alivc.rtc.AliRtcEngineNotify.onUserAudioInterruptedBegin ( String  uid)

用户音频被中断通知(一般用户打电话等音频被抢占场景)

参数
uid音频被中断的用户ID

◆ onUserAudioInterruptedEnded()

void com.alivc.rtc.AliRtcEngineNotify.onUserAudioInterruptedEnded ( String  uid)

用户音频中断结束通知(对应 onUserAudioInterruptedBegin

参数
uid音频中断结束的用户ID

◆ onUserWillResignActive()

void com.alivc.rtc.AliRtcEngineNotify.onUserWillResignActive ( String  uid)

远端用户应用退到后台

参数
uid用户ID

◆ onUserWillBecomeActive()

void com.alivc.rtc.AliRtcEngineNotify.onUserWillBecomeActive ( String  uid)

远端用户应用返回前台

参数
uid用户ID

◆ onAudioPlayingStateChanged()

void com.alivc.rtc.AliRtcEngineNotify.onAudioPlayingStateChanged ( AliRtcEngine.AliRtcAudioPlayingStateCode  playState,
AliRtcEngine.AliRtcAudioPlayingErrorCode  errorCode 
)

本地伴奏播放状态回调

该回调在伴奏播放状态发生改变时触发,并通知当前的播放状态和错误码

参数
playState当前播放状态,详情参考com::alivc::rtc::AliRtcEngine::AliRtcAudioPlayingStateCode
errorCode播放错误码,详情参考com::alivc::rtc::AliRtcEngine::AliRtcAudioPlayingErrorCode

◆ onRemoteAudioAccompanyStarted()

void com.alivc.rtc.AliRtcEngineNotify.onRemoteAudioAccompanyStarted ( String  uid)

远端用户伴奏播放开始回调

参数
uid远端用户ID,从App server分配的唯一标识符

◆ onRemoteAudioAccompanyFinished()

void com.alivc.rtc.AliRtcEngineNotify.onRemoteAudioAccompanyFinished ( String  uid)

远端用户伴奏播放结束回调

参数
uid远端用户ID,从App server分配的唯一标识符

◆ onAudioEffectFinished()

void com.alivc.rtc.AliRtcEngineNotify.onAudioEffectFinished ( int  soundId)

本地音效播放结束回调

参数
soundId用户给该音效文件分配的唯一ID

◆ onVideoResolutionChanged()

void com.alivc.rtc.AliRtcEngineNotify.onVideoResolutionChanged ( String  uid,
AliRtcVideoTrack  videoTrack,
int  width,
int  height 
)

远端视频分辨率变化

参数
uid用户ID
videoTrack视频流类型
width视频分辨率宽度
height视频分辨率高度

◆ onMediaRecordEvent()

void com.alivc.rtc.AliRtcEngineNotify.onMediaRecordEvent ( int  event,
String  filePath 
)

文件录制回调事件

参数
event录制事件,0:录制开始,1:录制结束,2:打开文件失败,3:写文件失败
filePath录制文件路径
注解
该接口用于文件录制时的事件回调

◆ onRtcLocalVideoStats()

void com.alivc.rtc.AliRtcEngineNotify.onRtcLocalVideoStats ( AliRtcEngine.AliRtcLocalVideoStats  aliRtcStats)

发布视频流的数据统计

参数
aliRtcStats统计信息

◆ onRtcRemoteVideoStats()

void com.alivc.rtc.AliRtcEngineNotify.onRtcRemoteVideoStats ( AliRtcEngine.AliRtcRemoteVideoStats  aliRtcStats)

订阅视频流的数据统计

参数
aliRtcStats统计信息

◆ onRtcRemoteAudioStats()

void com.alivc.rtc.AliRtcEngineNotify.onRtcRemoteAudioStats ( AliRtcEngine.AliRtcRemoteAudioStats  aliRtcStats)

订阅远端音频流的数据统计

参数
aliRtcStats统计信息

◆ onRtcLocalAudioStats()

void com.alivc.rtc.AliRtcEngineNotify.onRtcLocalAudioStats ( AliRtcEngine.AliRtcLocalAudioStats  aliRtcStats)

订阅本地音频流

参数
aliRtcStats统计信息

◆ onMediaExtensionMsgReceived()

void com.alivc.rtc.AliRtcEngineNotify.onMediaExtensionMsgReceived ( String  uid,
byte[]  message 
)

收到媒体扩展信息回调

参数
uid用户ID,媒体信息发送用户的ID
message媒体扩展信息
注解
当一端通过 AliRtcEngine#sendMediaExtensionMsg 发送信息后,其他端通过该回调接收数据

◆ onUplinkChannelMessage()

void com.alivc.rtc.AliRtcEngineNotify.onUplinkChannelMessage ( int  result,
String  contentType,
String  content 
)

上行消息返回结果(接收消息)

参数
result是否发送成功
  • 0: 成功
  • <0: 失败
contentType信息类型(自定义类型)
content信息内容
注解
使用 AliRtcEngine#uplinkChannelMessage 发送消息后,会触发该接口接收上行消息反馈
已废弃使用

◆ onAudioFocusChange()

void com.alivc.rtc.AliRtcEngineNotify.onAudioFocusChange ( int  focusChange)

音频焦点变化回调(仅适用于Android平台)

音频焦点变化的结果通知,SDK内部会请求音频焦点,如外部再次使用音频焦点需要在收到SDK改变的回调中再次请求

参数
focusChange焦点状态类型,取值同 android.media.AudioManager 焦点类型定义

◆ onAudioRouteChanged()

void com.alivc.rtc.AliRtcEngineNotify.onAudioRouteChanged ( AliRtcEngine.AliRtcAudioRouteType  routing)

音频路由发生变化回调(仅适用于Android、iOS平台)

所谓“音频路由”,是指声音是从手机的扬声器还是从听筒中播放出来,音频路由变化也就是声音的播放位置发生了变化

  • 当音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
  • 当音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
参数
routing当前使用的音频路由,详情参考com::alivc::rtc::AliRtcEngine::AliRtcAudioRouteType

◆ onMessage()

void com.alivc.rtc.AliRtcEngineNotify.onMessage ( String  tid,
String  contentType,
String  content 
)

下行消息通道(接收消息)

参数
tid信息id(自定义id)
contentType信息类型(自定义类型)
content信息内容
注解
该接口接收到下行消息后,使用 AliRtcEngine#respondMessageNotification 发送反馈消息
已废弃使用

◆ onChannelRelayStateChanged()

void com.alivc.rtc.AliRtcEngineNotify.onChannelRelayStateChanged ( int  state,
int  code,
String  message 
)

跨频道转推状态变化通知

参数
state状态码,参考 com::alivc::rtc::AliRtcEngine::AliRtcChannelRelayState
code错误码,参考 org::webrtc::alirtcInterface::ErrorCodeEnum
message状态描述信息

◆ onChannelRelayEvent()

void com.alivc.rtc.AliRtcEngineNotify.onChannelRelayEvent ( int  state)

跨频道转推事件通知

参数
state状态码,参考 com::alivc::rtc::AliRtcEngine::AliRtcChannelRelayEvent

◆ onRemoteVideoChanged()

void com.alivc.rtc.AliRtcEngineNotify.onRemoteVideoChanged ( String  uId,
AliRtcVideoTrack  videoTrack,
AliRtcEngine.AliRtcVideoState  videoState,
AliRtcEngine.AliRtcVideoReason  videoReason 
)

远端用户视频状态变化通知

参数
videoTrack视频流的类型
videoState视频流的状态
videoReason视频流变化的原因

◆ onAuthInfoWillExpire()

void com.alivc.rtc.AliRtcEngineNotify.onAuthInfoWillExpire ( )

用户鉴权信息即将过期通知,收到后30秒鉴权过期

注解
该回调在鉴权信息30秒前触发,收到该回调后应该及时更新鉴权信息,参考 AliRtcEngine#refreshAuthInfo

◆ onAuthInfoExpired()

void com.alivc.rtc.AliRtcEngineNotify.onAuthInfoExpired ( )

用户调用需要鉴权的接口,服务端返回信息过期

注解
该回调触发代表鉴权信息已过期,想要继续在会中,需要重新入会,参考 AliRtcEngine#joinChannel

◆ com::alivc::rtc::AliRtcUsbDeviceEvent

interface com::alivc::rtc::AliRtcUsbDeviceEvent

Public 成员函数

void onUSBDeviceConnect (int ret)
 
void onUSBDeviceDisconnect ()
 
void onUSBDeviceCancel ()
 

成员函数说明

◆ onUSBDeviceConnect()

void com.alivc.rtc.AliRtcUsbDeviceEvent.onUSBDeviceConnect ( int  ret)

USB设备连接成功通知

参数
ret是否成功
  • 0: 成功
  • 非0: 失败
注解
在主线程中回调

◆ onUSBDeviceDisconnect()

void com.alivc.rtc.AliRtcUsbDeviceEvent.onUSBDeviceDisconnect ( )

USB设备断开连接通知

注解
在主线程中回调

◆ onUSBDeviceCancel()

void com.alivc.rtc.AliRtcUsbDeviceEvent.onUSBDeviceCancel ( )

USB设备取消连接通知

注解
在主线程中回调