You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
Unity 3.58
回调
复制全文
下载 pdf
回调
EventHandler

函数

返回名称
voidOnWarningEventHandler
voidOnErrorEventHandler
voidOnLogReportEventHandler
voidOnConnectionStateChangedEventHandler
voidOnNetworkTypeChangedEventHandler
voidOnSysStatsEventHandler
voidOnAudioRouteChangedEventHandler
voidOnAudioDeviceStateChangedEventHandler
voidOnAudioDeviceWarningEventHandler
voidOnLocalAudioPropertiesReportEventHandler
voidOnRemoteAudioPropertiesReportEventHandler
voidOnCreateRoomStateChangedEventHandler
voidOnAudioRecordingStateUpdateEventHandler
voidOnRecordAudioFrameEventHandler
voidOnPlaybackAudioFrameEventHandler
voidOnRemoteUserAudioFrameEventHandler
voidOnMixedAudioFrameEventHandler
voidOnRecordScreenAudioFrameEventHandler
voidOnVideoDeviceStateChangedEventHandler
voidOnVideoDeviceWarningEventHandler
boolOnLocalVideoSinkOnFrameEventHandler
intOnLocalVideoSinkGetRenderElapseEventHandler
voidOnLocalVideoSinkReleaseEventHandler
boolOnRemoteVideoSinkOnFrameEventHandler
intOnRemoteVideoSinkGetRenderElapseEventHandler
voidOnRemoteVideoSinkReleaseEventHandler
voidOnUserStartAudioCaptureEventHandler
voidOnUserStopAudioCaptureEventHandler
voidOnFirstLocalAudioFrameEventHandler
voidOnLocalAudioStateChangedEventHandler
voidOnAudioFrameSendStateChangedEventHandler
voidOnAudioFramePlayStateChangedEventHandler
intOnProcessRecordAudioFrameEventHandler
intOnProcessPlaybackAudioFrameEventHandler
intOnProcessRemoteUserAudioFrameEventHandler
intOnProcessEarMonitorAudioFrameEventHandler
intOnProcessScreenAudioFrameEventHandler
voidOnStreamSyncInfoReceivedEventHandler
voidOnSEIMessageReceivedEventHandler
voidOnSEIMessageUpdateEventHandler
voidOnUserStartVideoCaptureEventHandler
voidOnUserStopVideoCaptureEventHandler
voidOnFirstLocalVideoFrameCapturedEventHandler
voidOnLocalVideoSizeChangedEventHandler
voidOnLocalVideoStateChangedEventHandler
voidOnVideoFrameSendStateChangedEventHandler
voidOnScreenVideoFrameSendStateChangedEventHandler
voidOnVideoFramePlayStateChangedEventHandler
voidOnRemoteVideoSizeChangedEventHandler
voidOnRemoteVideoStateChangedEventHandler
voidOnRemoteAudioStateChangedEventHandler
voidOnNetworkQualityEventHandler
voidOnLocalStreamStatsEventHandler
voidOnRemoteStreamStatsEventHandler
voidOnFirstRemoteVideoFrameDecodedEventHandler
voidOnFirstRemoteVideoFrameRenderedEventHandler
voidOnFaceDetectResultEventHandler
voidOnFirstRemoteAudioFrameEventHandler
voidOnRoomStateChangedEventHandler
voidOnStreamStateChangedEventHandler
voidOnLeaveRoomEventHandler
voidOnUserJoinedEventHandler
voidOnUserLeaveEventHandler
voidOnRoomMessageReceivedEventHandler
voidOnUserMessageReceivedEventHandler
voidOnUserMessageSendResultEventHandler
voidOnRoomMessageSendResultEventHandler
voidOnUserPublishStreamEventHandler
voidOnUserUnPublishStreamEventHandler
voidOnUserPublishScreenEventHandler
voidOnUserUnPublishScreenEventHandler
voidOnStreamSubscribedEventHandler
voidOnTokenWillExpireEventHandler
voidOnAudioStreamBannedEventHandler
voidOnVideoStreamBannedEventHandler
voidOnForwardStreamStateChangedEventHandler
voidOnForwardStreamEventEventHandler
voidOnAVSyncStateChangeCallback

函数说明

OnWarningEventHandler

public delegate void bytertc.OnWarningEventHandler(
    int warn)

发生警告回调。

传入参数

参数名类型说明
warnint警告代码,具体警告参看 WarningCode。

注意
SDK 运行时出现了(网络或媒体相关的)警告。SDK 通常会自动恢复,警告信息可以忽略。

OnErrorEventHandler

public delegate void bytertc.OnErrorEventHandler(
    int err)

发生错误回调。

传入参数

参数名类型说明
errint错误代码,具体错误参看 ErrorCode。

注意
SDK 运行时出现了(网络或媒体相关的)错误。SDK 通常无法自动恢复,你可能需要干预。

OnLogReportEventHandler

public delegate void bytertc.OnLogReportEventHandler(
    string logType,
    string logContent)

上报日志时回调该事件。

传入参数

参数名类型说明
logTypestring日志类型。
logContentstring日志内容。

OnConnectionStateChangedEventHandler

public delegate void bytertc.OnConnectionStateChangedEventHandler(
    ConnectionState state)

回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。

传入参数

参数名类型说明
stateConnectionState当前 SDK 与信令服务器连接状态。 参看 ConnectionState。

注意
在信令服务器连接状态发生改变时触发,并告知用户当前的连接状态,和引起改变的原因。

OnNetworkTypeChangedEventHandler

public delegate void bytertc.OnNetworkTypeChangedEventHandler(
    NetworkType type)

SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。

传入参数

参数名类型说明
typeNetworkType网络类型。参看 NetworkType。

OnSysStatsEventHandler

public delegate void bytertc.OnSysStatsEventHandler(
    SysStats stats)

每 2 秒发生回调,通知当前 CPU 及内存使用的信息。

传入参数

参数名类型说明
statsSysStatsCPU 和内存信息。参看 SysStats。

OnAudioRouteChangedEventHandler

public delegate void bytertc.OnAudioRouteChangedEventHandler(
    AudioRouteDevice device)

音频播放路由变化时,收到该回调。

传入参数

参数名类型说明
deviceAudioRouteDevice新的音频播放路由,参看 AudioRouteDevice。

注意
关于音频路由设置,参看 SetAudioRoute

OnAudioDeviceStateChangedEventHandler

public delegate void bytertc.OnAudioDeviceStateChangedEventHandler(
    string deviceID,
    RTCAudioDeviceType deviceType,
    MediaDeviceState deviceState,
    MediaDeviceError deviceError)

音频设备状态回调。提示音频采集、音频播放等媒体设备的状态。

传入参数

参数名类型说明
deviceIDstring设备 ID
deviceTypeRTCAudioDeviceType设备类型,详见 RTCAudioDeviceType。
deviceStateMediaDeviceState设备状态,详见 MediaDeviceState。
deviceErrorMediaDeviceError设备错误类型,详见 MediaDeviceError。

OnAudioDeviceWarningEventHandler

public delegate void bytertc.OnAudioDeviceWarningEventHandler(
    string deviceID,
    RTCAudioDeviceType deviceType,
    MediaDeviceWarning deviceWarning)

媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。

传入参数

参数名类型说明
deviceIDstring设备 ID
deviceTypeRTCAudioDeviceType参看 RTCAudioDeviceType
deviceWarningMediaDeviceWarning参看 MediaDeviceWarning

OnLocalAudioPropertiesReportEventHandler

public delegate void bytertc.OnLocalAudioPropertiesReportEventHandler(
    List<LocalAudioPropertiesInfo> audioPropertiesInfos,
    int audioPropertiesInfoNumber)

调用 EnableAudioPropertiesReport 后,根据设置的 Interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。

传入参数

参数名类型说明
audioPropertiesInfosList本地音频信息,详见 LocalAudioPropertiesInfo。
audioPropertiesInfoNumberint本地音频信息编号。

OnRemoteAudioPropertiesReportEventHandler

public delegate void bytertc.OnRemoteAudioPropertiesReportEventHandler(
    List<RemoteAudioPropertiesInfo> audioPropertiesInfos,
    int audioPropertiesInfoNumber,
    int totalRemoteVolume)

远端用户进房后,本地调用 EnableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的瞬时音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。

传入参数

参数名类型说明
audioPropertiesInfosList远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。
audioPropertiesInfoNumberint本地音频信息编号。
totalRemoteVolumeint订阅的所有远端流混音后的总音量,范围是 [0,255]。
  • [0,25] 接近无声;
  • [26,75] 为低音量;
  • [76,204] 为中音量;
  • [205,255] 为高音量。

OnCreateRoomStateChangedEventHandler

public delegate void bytertc.OnCreateRoomStateChangedEventHandler(
    string room_id,
    int error_code)

创建房间失败回调。

传入参数

参数名类型说明
room_idstring房间 ID。
error_codeint创建房间错误码,具体原因参看 ErrorCode。

OnAudioRecordingStateUpdateEventHandler

public delegate void bytertc.OnAudioRecordingStateUpdateEventHandler(
    AudioRecordingState state,
    AudioRecordingErrorCode error_code)

调用 StartAudioRecording 或 StopAudioRecording 改变音频文件录制状态时,收到此回调。

传入参数

参数名类型说明
stateAudioRecordingState录制状态,参看 AudioRecordingState
error_codeAudioRecordingErrorCode录制错误码,参看 AudioRecordingErrorCode

OnRecordAudioFrameEventHandler

public delegate void bytertc.OnRecordAudioFrameEventHandler(
    AudioFrame audioFrame)

返回麦克风录制的音频数据

传入参数

参数名类型说明
audioFrameAudioFrame音频数据, 参看 AudioFrame。

OnPlaybackAudioFrameEventHandler

public delegate void bytertc.OnPlaybackAudioFrameEventHandler(
    AudioFrame audioFrame)

返回订阅的所有远端用户混音后的音频数据。

传入参数

参数名类型说明
audioFrameAudioFrame音频数据, 参看 AudioFrame。

OnRemoteUserAudioFrameEventHandler

public delegate void bytertc.OnRemoteUserAudioFrameEventHandler(
    RemoteStreamKey streamInfo,
    AudioFrame audioFrame)

返回远端单个用户的音频数据

传入参数

参数名类型说明
streamInfoRemoteStreamKey远端流信息,参看 RemoteStreamKey。
audioFrameAudioFrame音频数据,参看 AudioFrame。

注意
此回调在播放线程调用。不要在此回调中做任何耗时的事情,否则可能会影响整个音频播放链路。

OnMixedAudioFrameEventHandler

public delegate void bytertc.OnMixedAudioFrameEventHandler(
    AudioFrame audioFrame)

返回本地麦克风录制和订阅的所有远端用户混音后的音频数据

传入参数

参数名类型说明
audioFrameAudioFrame音频数据, 参看 AudioFrame。

OnRecordScreenAudioFrameEventHandler

public delegate void bytertc.OnRecordScreenAudioFrameEventHandler(
    AudioFrame audioFrame)

返回本地屏幕录制的音频数据

传入参数

参数名类型说明
audio_frameAudioFrame audioFrame音频数据, AudioFrame

OnVideoDeviceStateChangedEventHandler

public delegate void bytertc.OnVideoDeviceStateChangedEventHandler(
    string deviceID,
    RTCVideoDeviceType deviceType,
    MediaDeviceState deviceState,
    MediaDeviceError deviceError)

视频设备状态回调。提示摄像头视频采集、屏幕视频采集等媒体设备的状态。

传入参数

参数名类型说明
deviceIDstring设备 ID。
deviceTypeRTCVideoDeviceType设备类型,详见 RTCVideoDeviceType。
deviceStateMediaDeviceState设备状态,详见 MediaDeviceState。
deviceErrorMediaDeviceError设备错误类型,详见 MediaDeviceError。

OnVideoDeviceWarningEventHandler

public delegate void bytertc.OnVideoDeviceWarningEventHandler(
    string deviceID,
    RTCVideoDeviceType deviceType,
    MediaDeviceWarning deviceWarning)

视频设备警告回调,包括视频采集等设备。

传入参数

参数名类型说明
deviceIDstring设备 ID
deviceTypeRTCVideoDeviceType参看 RTCVideoDeviceType
deviceWarningMediaDeviceWarning参看 MediaDeviceWarning

OnLocalVideoSinkOnFrameEventHandler

public delegate bool bytertc.OnLocalVideoSinkOnFrameEventHandler(
    StreamIndex index,
    VideoFrame videoFrame)

自定义渲染器本地视频帧回调。

传入参数

参数名类型说明
indexStreamIndex视频流属性,参看 StreamIndex。
videoFrameVideoFrame视频帧结构类,参看 VideoFrame。

OnLocalVideoSinkGetRenderElapseEventHandler

public delegate int bytertc.OnLocalVideoSinkGetRenderElapseEventHandler(
    StreamIndex index)

自定义渲染本地视频帧耗时。

传入参数

参数名类型说明
indexStreamIndex视频流属性,参看 StreamIndex。

返回值
外部渲染平均耗时,单位:毫秒。

OnLocalVideoSinkReleaseEventHandler

public delegate void bytertc.OnLocalVideoSinkReleaseEventHandler(
    StreamIndex index)

释放本地自定义渲染器。

注意
通知开发者渲染器即将被废弃。收到该返回通知后即可释放资源。

OnRemoteVideoSinkOnFrameEventHandler

public delegate bool bytertc.OnRemoteVideoSinkOnFrameEventHandler(
    RemoteStreamKey key,
    VideoFrame videoFrame)

自定义渲染器远端视频帧回调。

传入参数

参数名类型说明
keyRemoteStreamKey远端流信息,参看 RemoteStreamKey。
videoFrameVideoFrame视频帧结构类,参看 VideoFrame。

OnRemoteVideoSinkGetRenderElapseEventHandler

public delegate int bytertc.OnRemoteVideoSinkGetRenderElapseEventHandler(
    RemoteStreamKey key)

自定义渲染远端视频帧耗时。

传入参数

参数名类型说明
keyRemoteStreamKey远端流信息,参看 RemoteStreamKey。

返回值
外部渲染平均耗时,单位:毫秒。

OnRemoteVideoSinkReleaseEventHandler

public delegate void bytertc.OnRemoteVideoSinkReleaseEventHandler(
    RemoteStreamKey key)

释放远端自定义渲染器。

注意
通知开发者渲染器即将被废弃。收到该返回通知后即可释放资源。

OnUserStartAudioCaptureEventHandler

public delegate void bytertc.OnUserStartAudioCaptureEventHandler(
    string roomID,
    string userID)

房间内的可见用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。

传入参数

参数名类型说明
roomIdstring userID开启音频采集的远端用户所在的房间 ID。
userIDstring开启音频采集的远端用户 ID。

OnUserStopAudioCaptureEventHandler

public delegate void bytertc.OnUserStopAudioCaptureEventHandler(
    string roomID,
    string userID)

房间内的可见用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。

传入参数

参数名类型说明
roomIdstring userID关闭音频采集的远端用户所在的房间 ID。
userIDstring关闭音频采集的远端用户 ID。

OnFirstLocalAudioFrameEventHandler

public delegate void bytertc.OnFirstLocalAudioFrameEventHandler(
    StreamIndex index)

本地采集到第一帧音频帧时,收到该回调。

传入参数

参数名类型说明
indexStreamIndex音频流属性, 参看 StreamIndex

OnLocalAudioStateChangedEventHandler

public delegate void bytertc.OnLocalAudioStateChangedEventHandler(
    LocalAudioStreamState state,
    LocalAudioStreamError error)

本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。

传入参数

参数名类型说明
stateLocalAudioStreamState本地音频设备的状态,详见 LocalAudioStreamState
errorLocalAudioStreamError本地音频流状态改变时的错误码,详见 LocalAudioStreamError

OnAudioFrameSendStateChangedEventHandler

public delegate void bytertc.OnAudioFrameSendStateChangedEventHandler(
    string roomID,
    RtcUser user,
    FirstFrameSendState state)

本地音频首帧发送状态发生改变时,收到此回调。

传入参数

参数名类型说明
roomIdFirstFrameSendState state音频发布用户所在的房间 ID。
userRtcUser本地用户信息,详见 RtcUser。
stateFirstFrameSendState首帧发送状态,详见 FirstFrameSendState。

OnAudioFramePlayStateChangedEventHandler

public delegate void bytertc.OnAudioFramePlayStateChangedEventHandler(
    string roomID,
    RtcUser user,
    FirstFramePlayState state)

音频首帧播放状态发生改变时,收到此回调

传入参数

参数名类型说明
roomIdFirstFramePlayState state音频发布用户所在的房间 ID。
userRtcUser远端用户信息,详见 RtcUser
stateFirstFramePlayState首帧播放状态,详见 FirstFramePlayState

OnProcessRecordAudioFrameEventHandler

public delegate int bytertc.OnProcessRecordAudioFrameEventHandler(
    AudioFrameCallback audioFrameCallback)

回调本地采集的音频帧地址,供自定义音频处理。

传入参数

参数名类型说明
audioFrameCallbackAudioFrameCallback音频帧地址,参看 AudioFrameCallback

注意

  • 完成自定义音频处理后,SDK 会对处理后的音频帧进行编码,并传输到远端。如果开启了耳返功能,那么对耳返音频也会生效。
  • 调用 enableAudioProcessor,并在参数中选择本地采集的音频时,收到此回调。

OnProcessPlaybackAudioFrameEventHandler

public delegate int bytertc.OnProcessPlaybackAudioFrameEventHandler(
    AudioFrameCallback audioFrameCallback)

回调远端音频混音的音频帧地址,供自定义音频处理。

传入参数

参数名类型说明
audioFrameCallbackAudioFrameCallback音频帧地址,参看 AudioFrameCallback

注意
调用 enableAudioProcessor,并在参数中选择远端音频流的混音音频时,收到此回调。

OnProcessRemoteUserAudioFrameEventHandler

public delegate int bytertc.OnProcessRemoteUserAudioFrameEventHandler(
    RemoteStreamKey streamInfo,
    AudioFrameCallback audioFrameCallback)

回调单个远端用户的音频帧地址,供自定义音频处理。

传入参数

参数名类型说明
streamInfoRemoteStreamKey音频流信息,参看 RemoteStreamKey
audioFrameCallbackAudioFrameCallback音频帧地址,参看 AudioFrameCallback

注意
调用 enableAudioProcessor,并在参数中选择各个远端音频流时,收到此回调。

OnProcessEarMonitorAudioFrameEventHandler

public delegate int bytertc.OnProcessEarMonitorAudioFrameEventHandler(
    AudioFrameCallback audioFrameCallback)

回调耳返数据的音频帧地址,供自定义音频处理。

传入参数

参数名类型说明
audioFrameCallbackAudioFrameCallback音频帧地址,参看 AudioFrameCallback

注意

  • 此数据处理只影响耳返音频数据。
  • 调用 enableAudioProcessor,并在参数中选择耳返音频时,收到此回调。

OnProcessScreenAudioFrameEventHandler

public delegate int bytertc.OnProcessScreenAudioFrameEventHandler(
    AudioFrameCallback audioFrameCallback)

屏幕共享的音频帧地址回调。你可根据此回调自定义处理音频。

传入参数

参数名类型说明
audioFrameCallbackAudioFrameCallback音频帧地址,参看 AudioFrameCallback

注意
调用 enableAudioProcessor,把返回给音频处理器的音频类型设置为屏幕共享音频后,你将收到此回调。

OnStreamSyncInfoReceivedEventHandler

public delegate void bytertc.OnStreamSyncInfoReceivedEventHandler(
    RemoteStreamKey stream_key,
    SyncInfoStreamType stream_type,
    byte[] buffer)

音频流同步信息回调。可以通过此回调,在远端用户调用 SendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。

传入参数

参数名类型说明
streamKeybyte[] buffer远端流信息,详见 RemoteStreamKey。
streamTypebyte[] buffer媒体流类型,详见 SyncInfoStreamType。
bufferbyte[]消息内容。

OnSEIMessageReceivedEventHandler

public delegate void bytertc.OnSEIMessageReceivedEventHandler(
    RemoteStreamKey stream_key,
    byte[] buffer)

收到通过调用 SendSEIMessage 发送带有 SEI 消息的视频帧时,收到此回调。

传入参数

参数名类型说明
stream_keyRemoteStreamKey包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey
bufferbyte[]收到的 SEI 消息内容

OnSEIMessageUpdateEventHandler

public delegate void bytertc.OnSEIMessageUpdateEventHandler(
    RemoteStreamKey stream_key,
    SEIStreamEventType type)

黑帧视频流发布状态回调。
在语音通话场景下,本地用户调用 SendSEIMessage 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过该回调通知远端用户。
你可以通过此回调判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。

传入参数

参数名类型说明
stream_keyRemoteStreamKey远端流信息,参看 RemoteStreamKey。
typeSEIStreamEventType黑帧视频流状态,参看 SEIStreamEventType

OnUserStartVideoCaptureEventHandler

public delegate void bytertc.OnUserStartVideoCaptureEventHandler(
    string roomID,
    string userID)

房间内的可见用户调用 StartVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。

传入参数

参数名类型说明
roomIdstring userID开启视频采集的远端用户所在的房间 ID。
userIDstring开启视频采集的远端用户 ID。

OnUserStopVideoCaptureEventHandler

public delegate void bytertc.OnUserStopVideoCaptureEventHandler(
    string roomID,
    string userID)

房间内的可见用户调用 StopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。

传入参数

参数名类型说明
uidstring userID关闭视频采集的远端用户 ID

OnFirstLocalVideoFrameCapturedEventHandler

public delegate void bytertc.OnFirstLocalVideoFrameCapturedEventHandler(
    StreamIndex index,
    VideoFrameInfo info)

RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。

传入参数

参数名类型说明
indexStreamIndex流属性,参看 StreamIndex
infoVideoFrameInfo视频信息,参看 VideoFrameInfo

注意
对于采集到的本地视频帧,你可以调用 SetLocalVideoSink 在本地渲染。

OnLocalVideoSizeChangedEventHandler

public delegate void bytertc.OnLocalVideoSizeChangedEventHandler(
    StreamIndex index,
    VideoFrameInfo info)

本地视频大小或旋转信息发生改变时,收到此回调。

传入参数

参数名类型说明
indexStreamIndex流属性,参看 StreamIndex。
infoVideoFrameInfo视频帧信息,参看 VideoFrameInfo。

OnLocalVideoStateChangedEventHandler

public delegate void bytertc.OnLocalVideoStateChangedEventHandler(
    StreamIndex index,
    LocalVideoStreamState state,
    LocalVideoStreamError error)

本地视频流的状态发生改变时,收到该事件。

传入参数

参数名类型说明
indexStreamIndex流属性,参看 StreamIndex。
stateLocalVideoStreamState本地视频流状态,参看 LocalVideoStreamState。
errorLocalVideoStreamError本地视频状态改变时的错误码,参看 LocalVideoStreamError。

OnVideoFrameSendStateChangedEventHandler

public delegate void bytertc.OnVideoFrameSendStateChangedEventHandler(
    string roomID,
    RtcUser user,
    FirstFrameSendState state)

本地视频首帧发送状态发生改变时,收到此回调。

传入参数

参数名类型说明
roomIdFirstFrameSendState state视频发布用户所在的房间 ID。
userRtcUser本地用户信息,详见 RtcUser。
stateFirstFrameSendState首帧发送状态,详见 FirstFrameSendState。

OnScreenVideoFrameSendStateChangedEventHandler

public delegate void bytertc.OnScreenVideoFrameSendStateChangedEventHandler(
    string roomID,
    RtcUser user,
    FirstFrameSendState state)

屏幕共享流的视频首帧发送状态发生改变时,收到此回调。

传入参数

参数名类型说明
roomIdFirstFrameSendState state屏幕视频发布用户所在的房间 ID。
userRtcUser本地用户信息,详见 RtcUser。
stateFirstFrameSendState首帧发送状态,详见 FirstFrameSendState。

OnVideoFramePlayStateChangedEventHandler

public delegate void bytertc.OnVideoFramePlayStateChangedEventHandler(
    string roomID,
    RtcUser user,
    FirstFramePlayState state)

视频首帧播放状态发生改变时,收到此回调。

传入参数

参数名类型说明
roomIdFirstFramePlayState state视频发布用户所在的房间 ID。
userRtcUser远端用户信息,详见 RtcUser。
stateFirstFramePlayState首帧播放状态,详见 FirstFramePlayState。

OnRemoteVideoSizeChangedEventHandler

public delegate void bytertc.OnRemoteVideoSizeChangedEventHandler(
    RemoteStreamKey key,
    VideoFrameInfo info)

远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。

传入参数

参数名类型说明
roomIDVideoFrameInfo info房间 ID。
keyRemoteStreamKey远端流信息,参看 RemoteStreamKey
infoVideoFrameInfo视频帧信息,参看 VideoFrameInfo

OnRemoteVideoStateChangedEventHandler

public delegate void bytertc.OnRemoteVideoStateChangedEventHandler(
    RemoteStreamKey key,
    RemoteVideoState state,
    RemoteVideoStateChangeReason reason)

远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。

传入参数

参数名类型说明
roomIDRemoteVideoStateChangeReason reason房间 ID。
keyRemoteStreamKey远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey
stateRemoteVideoState远端视频流状态,参看 RemoteVideoState
reasonRemoteVideoStateChangeReason远端视频流状态改变原因,参看 RemoteVideoStateChangeReason

注意
本回调仅适用于主流,不适用于屏幕流。

OnRemoteAudioStateChangedEventHandler

public delegate void bytertc.OnRemoteAudioStateChangedEventHandler(
    RemoteStreamKey key,
    RemoteAudioState state,
    RemoteAudioStateChangeReason error)

用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。

传入参数

参数名类型说明
keyRemoteStreamKey远端流信息, 详见 RemoteStreamKey
stateRemoteAudioState远端音频流状态,详见 RemoteAudioState
reasonRemoteAudioStateChangeReason error远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason

OnNetworkQualityEventHandler

public delegate void bytertc.OnNetworkQualityEventHandler(
    string roomID,
    NetworkQualityStats localQuality,
    List<NetworkQualityStats> remoteQualities,
    int remoteQualityNum)

加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息

传入参数

参数名类型说明
localQualityNetworkQualityStats本端网络质量,详见 NetworkQualityStats。
remoteQualitiesList已订阅用户的网络质量,详见 NetworkQualityStats。
remoteQualityNumintremoteQualities 数组长度

注意
更多通话中的监测接口,详见通话中质量监测

OnLocalStreamStatsEventHandler

public delegate void bytertc.OnLocalStreamStatsEventHandler(
    LocalStreamStats stat)

本地流数据统计以及网络质量回调。
本地用户发布流成功后,SDK 会周期性(2s)地通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。
统计信息通过 LocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。

传入参数

参数名类型说明
statLocalStreamStats音视频流以及网络状况统计信息。参见 LocalStreamStats。

OnRemoteStreamStatsEventHandler

public delegate void bytertc.OnRemoteStreamStatsEventHandler(
    RemoteStreamStats stat)

本地订阅的远端音/视频流数据统计以及网络质量回调。
本地用户订阅流成功后,SDK 会周期性(2s)地通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。

传入参数

参数名类型说明
statRemoteStreamStats音视频流以及网络状况统计信息。参见 RemoteStreamStats。

OnFirstRemoteVideoFrameDecodedEventHandler

public delegate void bytertc.OnFirstRemoteVideoFrameDecodedEventHandler(
    RemoteStreamKey key,
    VideoFrameInfo info)

SDK 接收并解码远端视频流首帧后,收到此回调。

传入参数

参数名类型说明
keyRemoteStreamKey远端流信息,参看 RemoteStreamKey
infoVideoFrameInfo视频帧信息,参看 VideoFrameInfo

OnFirstRemoteVideoFrameRenderedEventHandler

public delegate void bytertc.OnFirstRemoteVideoFrameRenderedEventHandler(
    RemoteStreamKey key,
    VideoFrameInfo info)

SDK 内部渲染成功远端视频流首帧后,收到此回调。

传入参数

参数名类型说明
keyRemoteStreamKey远端流信息。参看 RemoteStreamKey。
infoVideoFrameInfo视频帧信息。参看 VideoFrameInfo。

OnFaceDetectResultEventHandler

public delegate void bytertc.OnFaceDetectResultEventHandler(
    FaceDetectResult result)

特效 SDK 进行人脸检测结果的回调。
调用 VideoSDKEnableFaceDetection 开启本回调,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。

传入参数

参数名类型说明
resultFaceDetectResult人脸检测结果, 参看 FaceDetectResult。

OnFirstRemoteAudioFrameEventHandler

public delegate void bytertc.OnFirstRemoteAudioFrameEventHandler(
    RemoteStreamKey key)

接收到来自远端某音频流的第一帧时,收到该回调。

传入参数

参数名类型说明
keyRemoteStreamKey远端音频流信息, 详见 RemoteStreamKey

注意
用户刚收到房间内订阅的每一路音频流时,都会收到该回调。

OnRoomStateChangedEventHandler

public delegate void bytertc.OnRoomStateChangedEventHandler(
    string roomID,
    string userID,
    int state,
    string ExtraInfo)

房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。

传入参数

参数名类型说明
roomIdstring ExtraInfo房间 ID。
userIDstring用户 ID。
stateint房间状态码。
• 0: 成功。
• !0: 失败或异常退房。具体原因参看 ErrorCode 及 WarningCode。异常退出房间的具体原因包括
–1004:相同 ID 用户在其他端进房;
–1006:用户被踢出当前房间。
ExtraInfostring额外信息。
join_type表示加入房间的类型,0为首次进房,1为重连进房。
elapsed表示加入房间耗时,即本地用户从调用 JoinRoom 到加入房间成功所经历的时间间隔,单位为 ms。

OnStreamStateChangedEventHandler

public delegate void bytertc.OnStreamStateChangedEventHandler(
    string roomID,
    string userID,
    int state,
    string ExtraInfo)

流状态改变回调,发生流相关的警告或错误时会收到此回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring用户 ID。
stateint流状态码,参看 ErrorCode 及 WarningCode。
ExtraInfostring附加信息,目前为空。

OnLeaveRoomEventHandler

public delegate void bytertc.OnLeaveRoomEventHandler(
    string roomID,
    RtcRoomStats stats)

离开房间成功回调。
用户调用 LeaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。

传入参数

参数名类型说明
roomIDstring房间 ID。
statsRtcRoomStats本次通话的统计数据。详见 RtcRoomStats。

注意

  • 用户调用 LeaveRoom 方法离开房间后,如果立即调用 Destroy 销毁房间实例或 Release 方法销毁 RTC 引擎,则将无法收到此回调事件。
  • 离开房间后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备导致初始化失败。

OnUserJoinedEventHandler

public delegate void bytertc.OnUserJoinedEventHandler(
    string roomID,
    UserInfo userInfo,
    int elapsed)

远端可见用户加入房间,或房内不可见用户切换为可见的回调。

  • 远端可见用户调用 SetUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
  • 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
  • 房间内不可见远端用户调用 SetUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
  • 新进房用户也会收到进房前已在房内的可见用户的进房回调通知。

传入参数

参数名类型说明
roomIDstring房间 ID。
userInfoUserInfo用户信息,参看 UserInfo。
elapsedint保留字段,无意义。

OnUserLeaveEventHandler

public delegate void bytertc.OnUserLeaveEventHandler(
    string roomID,
    string userID,
    UserOfflineReason reason)

远端用户离开房间,或切至不可见时,本地用户会收到此事件

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring离开房间,或切至不可见的远端用户 ID。
reasonUserOfflineReason用户离开房间的原因,参看 UserOfflineReason。

OnRoomMessageReceivedEventHandler

public delegate void bytertc.OnRoomMessageReceivedEventHandler(
    string roomID,
    string userID,
    string message)

接收到房间内广播消息的回调。
房间内其他用户调用 SendRoomMessage 发送广播消息时,收到此回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring消息发送者 ID
messagestring收到的消息内容

OnUserMessageReceivedEventHandler

public delegate void bytertc.OnUserMessageReceivedEventHandler(
    string roomID,
    string userID,
    string message)

收到来自房间中其他用户通过 SendUserMessage 发来的点对点文本消息时,会收到此回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring消息发送者的用户 ID。
messagestring收到的文本消息内容。

OnUserMessageSendResultEventHandler

public delegate void bytertc.OnUserMessageSendResultEventHandler(
    string roomID,
    long msgID,
    int error)

向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
msgIDlong本条消息的 ID。
errorint文本或二进制消息发送结果。

注意
调用 SendUserMessage 接口,才能收到此回调。

OnRoomMessageSendResultEventHandler

public delegate void bytertc.OnRoomMessageSendResultEventHandler(
    string roomID,
    long msgID,
    int error)

调用 SendRoomMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
msgidint error本条消息的 ID。
errorint消息发送结果。

OnUserPublishStreamEventHandler

public delegate void bytertc.OnUserPublishStreamEventHandler(
    string roomID,
    string userID,
    MediaStreamType type)

房间内新增远端摄像头/麦克风采集的媒体流的回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring远端流发布用户的用户 ID。
typeMediaStreamType远端媒体流的类型,参看 MediaStreamType。

注意
当房间内的远端用户调用 PublishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 SubscribeStream 订阅此流。

OnUserUnPublishStreamEventHandler

public delegate void bytertc.OnUserUnPublishStreamEventHandler(
    string roomID,
    string userID,
    MediaStreamType type,
    StreamRemoveReason reason)

房间内远端摄像头/麦克风采集的媒体流移除的回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring移除的远端流发布用户的用户 ID。
typeMediaStreamType移除的远端流类型,参看 MediaStreamType。
reasonStreamRemoveReason远端流移除的原因,参看 StreamRemoveReason。

注意
收到该回调通知后,你可以自行选择是否调用 UnsubscribeStream 取消订阅此流。

OnUserPublishScreenEventHandler

public delegate void bytertc.OnUserPublishScreenEventHandler(
    string roomID,
    string userID,
    MediaStreamType type)

房间内新增远端屏幕共享音视频流的回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring远端流发布用户的用户 ID。
typeMediaStreamType远端媒体流的类型,参看 MediaStreamType。

注意
当房间内的远端用户调用 PublishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 SubscribeScreen 订阅此流。

OnUserUnPublishScreenEventHandler

public delegate void bytertc.OnUserUnPublishScreenEventHandler(
    string roomID,
    string userID,
    MediaStreamType type,
    StreamRemoveReason reason)

房间内远端屏幕共享音视频流移除的回调。

传入参数

参数名类型说明
roomIDstring房间 ID。
userIDstring移除的远端流发布用户的用户 ID。
typeMediaStreamType移除的远端流类型,参看 MediaStreamType。
reasonStreamRemoveReason远端流移除的原因,参看 StreamRemoveReason。

注意
收到该回调通知后,你可以自行选择是否调用 UnsubscribeScreen 取消订阅此流。

OnStreamSubscribedEventHandler

public delegate void bytertc.OnStreamSubscribedEventHandler(
    string roomID,
    SubscribeState stateCode,
    string userID,
    SubscribeConfig info)

关于订阅媒体流状态改变的回调

传入参数

参数名类型说明
roomIDstring房间 ID。
stateCodeSubscribeState订阅媒体流状态,参看 SubscribeState
userIdSubscribeConfig info流发布用户的用户 ID
infoSubscribeConfig流的属性,参看 SubscribeConfig

注意
本地用户收到该回调的时机包括:

  • 调用 SubscribeStream 或 SubscribeScreen 订阅指定远端音视频流后。
  • 不开启音频选路模式时,调用 UnsubscribeStream、 UnsubscribeScreen、UnsubscribeAllStreams 取消订阅指定远端音视频流后,且此时本端用户仍订阅了该远端用户的其他媒体流,将会触发本回调,其余情况不会收到此回调。比如,本端同时订阅了用户 A 的音频和视频流,取消订阅 A 的视频流时,收到本回调。此后取消订阅 A 的音频流时不会收到该回调。

OnTokenWillExpireEventHandler

public delegate void bytertc.OnTokenWillExpireEventHandler(
    string roomID)

当 SDK 检测到 Token 的进房权限将在 30 秒内过期时,触发该回调。
调用 UpdateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。

传入参数

参数名类型说明
roomIDstring房间 ID。

OnAudioStreamBannedEventHandler

public delegate void bytertc.OnAudioStreamBannedEventHandler(
    string roomID,
    string userID,
    bool banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。

传入参数

参数名类型说明
roomIDstring房间 ID
uidbool banned被禁用/解禁的音频流用户 ID
bannedbool音频流发送状态
• true: 音频流发送被禁用
• false: 音频流发送被解禁

注意

  • 房间内指定用户被禁止/解禁音频流发送时,房间内所有用户都会收到该回调。
  • 若被封禁用户退房后再进房,则依然是封禁状态,且房间内所有人会再次收到该回调。
  • 若被封禁用户断网后重连进房,则依然是封禁状态,且只有本人会再次收到该回调。
  • 指定用户被封禁后,房间内其他用户退房后再进房,会再次收到该回调。
  • 通话人数超过 5 人时,只有被封禁/解禁用户会收到该回调。
  • 同一房间解散后再次创建,房间内状态清空。

OnVideoStreamBannedEventHandler

public delegate void bytertc.OnVideoStreamBannedEventHandler(
    string roomID,
    string userID,
    bool banned)

通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。

传入参数

参数名类型说明
roomIDstring被禁用/解禁的视频流房间 ID
userIDstring被禁用/解禁的视频流用户 ID
bannedbool视频流发送状态
• true: 视频流发送被禁用
• false: 视频流发送被解禁

注意

  • 房间内指定用户被禁止/解禁视频流发送时,房间内所有用户都会收到该回调。
  • 若被封禁用户退房后再进房,则依然是封禁状态,且房间内所有人会再次收到该回调。
  • 若被封禁用户断网后重连进房,则依然是封禁状态,且只有本人会再次收到该回调。
  • 指定用户被封禁后,房间内其他用户退房后再进房,会再次收到该回调。
  • 通话人数超过 5 人时,只有被封禁/解禁用户会收到该回调。
  • 同一房间解散后再次创建,房间内状态清空。

OnForwardStreamStateChangedEventHandler

public delegate void bytertc.OnForwardStreamStateChangedEventHandler(
    List<ForwardStreamStateInfo> infos,
    int info_count)

跨房间媒体流转发状态和错误回调

传入参数

参数名类型说明
infosList跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo
info_countint数组长度,代表目标房间数

OnForwardStreamEventEventHandler

public delegate void bytertc.OnForwardStreamEventEventHandler(
    List<ForwardStreamEventInfo> infos,
    int info_count)

跨房间媒体流转发事件回调

传入参数

参数名类型说明
infosList跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo
info_countint数组长度,代表目标房间数

OnAVSyncStateChangeCallback

public delegate void bytertc.OnAVSyncStateChangeCallback(
    AVSyncState state)

发布端调用 SetMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。

传入参数

参数名类型说明
stateAVSyncState音视频同步状态,参看 AVSyncState。
最近更新时间:2026.07.18 23:50:57
这个页面对您有帮助吗?
有用
有用
无用
无用