public delegate void bytertc.OnWarningEventHandler( int warn)
发生警告回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| warn | int | 警告代码,具体警告参看 WarningCode。 |
注意
SDK 运行时出现了(网络或媒体相关的)警告。SDK 通常会自动恢复,警告信息可以忽略。
public delegate void bytertc.OnErrorEventHandler( int err)
发生错误回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | int | 错误代码,具体错误参看 ErrorCode。 |
注意
SDK 运行时出现了(网络或媒体相关的)错误。SDK 通常无法自动恢复,你可能需要干预。
public delegate void bytertc.OnLogReportEventHandler( string logType, string logContent)
上报日志时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| logType | string | 日志类型。 |
| logContent | string | 日志内容。 |
public delegate void bytertc.OnConnectionStateChangedEventHandler( ConnectionState state)
回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | ConnectionState | 当前 SDK 与信令服务器连接状态。 参看 ConnectionState。 |
注意
在信令服务器连接状态发生改变时触发,并告知用户当前的连接状态,和引起改变的原因。
public delegate void bytertc.OnNetworkTypeChangedEventHandler( NetworkType type)
SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| type | NetworkType | 网络类型。参看 NetworkType。 |
public delegate void bytertc.OnSysStatsEventHandler( SysStats stats)
每 2 秒发生回调,通知当前 CPU 及内存使用的信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stats | SysStats | CPU 和内存信息。参看 SysStats。 |
public delegate void bytertc.OnAudioRouteChangedEventHandler( AudioRouteDevice device)
音频播放路由变化时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| device | AudioRouteDevice | 新的音频播放路由,参看 AudioRouteDevice。 |
注意
关于音频路由设置,参看 SetAudioRoute
public delegate void bytertc.OnAudioDeviceStateChangedEventHandler( string deviceID, RTCAudioDeviceType deviceType, MediaDeviceState deviceState, MediaDeviceError deviceError)
音频设备状态回调。提示音频采集、音频播放等媒体设备的状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceID | string | 设备 ID |
| deviceType | RTCAudioDeviceType | 设备类型,详见 RTCAudioDeviceType。 |
| deviceState | MediaDeviceState | 设备状态,详见 MediaDeviceState。 |
| deviceError | MediaDeviceError | 设备错误类型,详见 MediaDeviceError。 |
public delegate void bytertc.OnAudioDeviceWarningEventHandler( string deviceID, RTCAudioDeviceType deviceType, MediaDeviceWarning deviceWarning)
媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceID | string | 设备 ID |
| deviceType | RTCAudioDeviceType | 参看 RTCAudioDeviceType |
| deviceWarning | MediaDeviceWarning | 参看 MediaDeviceWarning |
public delegate void bytertc.OnLocalAudioPropertiesReportEventHandler( List<LocalAudioPropertiesInfo> audioPropertiesInfos, int audioPropertiesInfoNumber)
调用 EnableAudioPropertiesReport 后,根据设置的 Interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioPropertiesInfos | List | 本地音频信息,详见 LocalAudioPropertiesInfo。 |
| audioPropertiesInfoNumber | int | 本地音频信息编号。 |
public delegate void bytertc.OnRemoteAudioPropertiesReportEventHandler( List<RemoteAudioPropertiesInfo> audioPropertiesInfos, int audioPropertiesInfoNumber, int totalRemoteVolume)
远端用户进房后,本地调用 EnableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的瞬时音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioPropertiesInfos | List | 远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。 |
| audioPropertiesInfoNumber | int | 本地音频信息编号。 |
| totalRemoteVolume | int | 订阅的所有远端流混音后的总音量,范围是 [0,255]。
|
public delegate void bytertc.OnCreateRoomStateChangedEventHandler( string room_id, int error_code)
创建房间失败回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| room_id | string | 房间 ID。 |
| error_code | int | 创建房间错误码,具体原因参看 ErrorCode。 |
public delegate void bytertc.OnAudioRecordingStateUpdateEventHandler( AudioRecordingState state, AudioRecordingErrorCode error_code)
调用 StartAudioRecording 或 StopAudioRecording 改变音频文件录制状态时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | AudioRecordingState | 录制状态,参看 AudioRecordingState |
| error_code | AudioRecordingErrorCode | 录制错误码,参看 AudioRecordingErrorCode |
public delegate void bytertc.OnRecordAudioFrameEventHandler( AudioFrame audioFrame)
返回麦克风录制的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 音频数据, 参看 AudioFrame。 |
public delegate void bytertc.OnPlaybackAudioFrameEventHandler( AudioFrame audioFrame)
返回订阅的所有远端用户混音后的音频数据。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 音频数据, 参看 AudioFrame。 |
public delegate void bytertc.OnRemoteUserAudioFrameEventHandler( RemoteStreamKey streamInfo, AudioFrame audioFrame)
返回远端单个用户的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamInfo | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey。 |
| audioFrame | AudioFrame | 音频数据,参看 AudioFrame。 |
注意
此回调在播放线程调用。不要在此回调中做任何耗时的事情,否则可能会影响整个音频播放链路。
public delegate void bytertc.OnMixedAudioFrameEventHandler( AudioFrame audioFrame)
返回本地麦克风录制和订阅的所有远端用户混音后的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrame | AudioFrame | 音频数据, 参看 AudioFrame。 |
public delegate void bytertc.OnRecordScreenAudioFrameEventHandler( AudioFrame audioFrame)
返回本地屏幕录制的音频数据
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio_frame | AudioFrame audioFrame | 音频数据, AudioFrame |
public delegate void bytertc.OnVideoDeviceStateChangedEventHandler( string deviceID, RTCVideoDeviceType deviceType, MediaDeviceState deviceState, MediaDeviceError deviceError)
视频设备状态回调。提示摄像头视频采集、屏幕视频采集等媒体设备的状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceID | string | 设备 ID。 |
| deviceType | RTCVideoDeviceType | 设备类型,详见 RTCVideoDeviceType。 |
| deviceState | MediaDeviceState | 设备状态,详见 MediaDeviceState。 |
| deviceError | MediaDeviceError | 设备错误类型,详见 MediaDeviceError。 |
public delegate void bytertc.OnVideoDeviceWarningEventHandler( string deviceID, RTCVideoDeviceType deviceType, MediaDeviceWarning deviceWarning)
视频设备警告回调,包括视频采集等设备。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceID | string | 设备 ID |
| deviceType | RTCVideoDeviceType | 参看 RTCVideoDeviceType |
| deviceWarning | MediaDeviceWarning | 参看 MediaDeviceWarning |
public delegate bool bytertc.OnLocalVideoSinkOnFrameEventHandler( StreamIndex index, VideoFrame videoFrame)
自定义渲染器本地视频帧回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 视频流属性,参看 StreamIndex。 |
| videoFrame | VideoFrame | 视频帧结构类,参看 VideoFrame。 |
public delegate int bytertc.OnLocalVideoSinkGetRenderElapseEventHandler( StreamIndex index)
自定义渲染本地视频帧耗时。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 视频流属性,参看 StreamIndex。 |
返回值
外部渲染平均耗时,单位:毫秒。
public delegate void bytertc.OnLocalVideoSinkReleaseEventHandler( StreamIndex index)
释放本地自定义渲染器。
注意
通知开发者渲染器即将被废弃。收到该返回通知后即可释放资源。
public delegate bool bytertc.OnRemoteVideoSinkOnFrameEventHandler( RemoteStreamKey key, VideoFrame videoFrame)
自定义渲染器远端视频帧回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey。 |
| videoFrame | VideoFrame | 视频帧结构类,参看 VideoFrame。 |
public delegate int bytertc.OnRemoteVideoSinkGetRenderElapseEventHandler( RemoteStreamKey key)
自定义渲染远端视频帧耗时。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey。 |
返回值
外部渲染平均耗时,单位:毫秒。
public delegate void bytertc.OnRemoteVideoSinkReleaseEventHandler( RemoteStreamKey key)
释放远端自定义渲染器。
注意
通知开发者渲染器即将被废弃。收到该返回通知后即可释放资源。
public delegate void bytertc.OnUserStartAudioCaptureEventHandler( string roomID, string userID)
房间内的可见用户调用 StartAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | string userID | 开启音频采集的远端用户所在的房间 ID。 |
| userID | string | 开启音频采集的远端用户 ID。 |
public delegate void bytertc.OnUserStopAudioCaptureEventHandler( string roomID, string userID)
房间内的可见用户调用 StopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | string userID | 关闭音频采集的远端用户所在的房间 ID。 |
| userID | string | 关闭音频采集的远端用户 ID。 |
public delegate void bytertc.OnFirstLocalAudioFrameEventHandler( StreamIndex index)
本地采集到第一帧音频帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 音频流属性, 参看 StreamIndex |
public delegate void bytertc.OnLocalAudioStateChangedEventHandler( LocalAudioStreamState state, LocalAudioStreamError error)
本地音频流的状态发生改变时,该回调通知当前的本地音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | LocalAudioStreamState | 本地音频设备的状态,详见 LocalAudioStreamState |
| error | LocalAudioStreamError | 本地音频流状态改变时的错误码,详见 LocalAudioStreamError |
public delegate void bytertc.OnAudioFrameSendStateChangedEventHandler( string roomID, RtcUser user, FirstFrameSendState state)
本地音频首帧发送状态发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | FirstFrameSendState state | 音频发布用户所在的房间 ID。 |
| user | RtcUser | 本地用户信息,详见 RtcUser。 |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState。 |
public delegate void bytertc.OnAudioFramePlayStateChangedEventHandler( string roomID, RtcUser user, FirstFramePlayState state)
音频首帧播放状态发生改变时,收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | FirstFramePlayState state | 音频发布用户所在的房间 ID。 |
| user | RtcUser | 远端用户信息,详见 RtcUser |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState |
public delegate int bytertc.OnProcessRecordAudioFrameEventHandler( AudioFrameCallback audioFrameCallback)
回调本地采集的音频帧地址,供自定义音频处理。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrameCallback | AudioFrameCallback | 音频帧地址,参看 AudioFrameCallback |
注意
enableAudioProcessor,并在参数中选择本地采集的音频时,收到此回调。public delegate int bytertc.OnProcessPlaybackAudioFrameEventHandler( AudioFrameCallback audioFrameCallback)
回调远端音频混音的音频帧地址,供自定义音频处理。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrameCallback | AudioFrameCallback | 音频帧地址,参看 AudioFrameCallback |
注意
调用 enableAudioProcessor,并在参数中选择远端音频流的混音音频时,收到此回调。
public delegate int bytertc.OnProcessRemoteUserAudioFrameEventHandler( RemoteStreamKey streamInfo, AudioFrameCallback audioFrameCallback)
回调单个远端用户的音频帧地址,供自定义音频处理。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamInfo | RemoteStreamKey | 音频流信息,参看 RemoteStreamKey |
| audioFrameCallback | AudioFrameCallback | 音频帧地址,参看 AudioFrameCallback |
注意
调用 enableAudioProcessor,并在参数中选择各个远端音频流时,收到此回调。
public delegate int bytertc.OnProcessEarMonitorAudioFrameEventHandler( AudioFrameCallback audioFrameCallback)
回调耳返数据的音频帧地址,供自定义音频处理。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrameCallback | AudioFrameCallback | 音频帧地址,参看 AudioFrameCallback |
注意
enableAudioProcessor,并在参数中选择耳返音频时,收到此回调。public delegate int bytertc.OnProcessScreenAudioFrameEventHandler( AudioFrameCallback audioFrameCallback)
屏幕共享的音频帧地址回调。你可根据此回调自定义处理音频。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| audioFrameCallback | AudioFrameCallback | 音频帧地址,参看 AudioFrameCallback |
注意
调用 enableAudioProcessor,把返回给音频处理器的音频类型设置为屏幕共享音频后,你将收到此回调。
public delegate void bytertc.OnStreamSyncInfoReceivedEventHandler( RemoteStreamKey stream_key, SyncInfoStreamType stream_type, byte[] buffer)
音频流同步信息回调。可以通过此回调,在远端用户调用 SendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| streamKey | byte[] buffer | 远端流信息,详见 RemoteStreamKey。 |
| streamType | byte[] buffer | 媒体流类型,详见 SyncInfoStreamType。 |
| buffer | byte[] | 消息内容。 |
public delegate void bytertc.OnSEIMessageReceivedEventHandler( RemoteStreamKey stream_key, byte[] buffer)
收到通过调用 SendSEIMessage 发送带有 SEI 消息的视频帧时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream_key | RemoteStreamKey | 包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey |
| buffer | byte[] | 收到的 SEI 消息内容 |
public delegate void bytertc.OnSEIMessageUpdateEventHandler( RemoteStreamKey stream_key, SEIStreamEventType type)
黑帧视频流发布状态回调。
在语音通话场景下,本地用户调用 SendSEIMessage 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过该回调通知远端用户。
你可以通过此回调判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stream_key | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey。 |
| type | SEIStreamEventType | 黑帧视频流状态,参看 SEIStreamEventType |
public delegate void bytertc.OnUserStartVideoCaptureEventHandler( string roomID, string userID)
房间内的可见用户调用 StartVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | string userID | 开启视频采集的远端用户所在的房间 ID。 |
| userID | string | 开启视频采集的远端用户 ID。 |
public delegate void bytertc.OnUserStopVideoCaptureEventHandler( string roomID, string userID)
房间内的可见用户调用 StopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| uid | string userID | 关闭视频采集的远端用户 ID |
public delegate void bytertc.OnFirstLocalVideoFrameCapturedEventHandler( StreamIndex index, VideoFrameInfo info)
RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 流属性,参看 StreamIndex |
| info | VideoFrameInfo | 视频信息,参看 VideoFrameInfo |
注意
对于采集到的本地视频帧,你可以调用 SetLocalVideoSink 在本地渲染。
public delegate void bytertc.OnLocalVideoSizeChangedEventHandler( StreamIndex index, VideoFrameInfo info)
本地视频大小或旋转信息发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 流属性,参看 StreamIndex。 |
| info | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo。 |
public delegate void bytertc.OnLocalVideoStateChangedEventHandler( StreamIndex index, LocalVideoStreamState state, LocalVideoStreamError error)
本地视频流的状态发生改变时,收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | StreamIndex | 流属性,参看 StreamIndex。 |
| state | LocalVideoStreamState | 本地视频流状态,参看 LocalVideoStreamState。 |
| error | LocalVideoStreamError | 本地视频状态改变时的错误码,参看 LocalVideoStreamError。 |
public delegate void bytertc.OnVideoFrameSendStateChangedEventHandler( string roomID, RtcUser user, FirstFrameSendState state)
本地视频首帧发送状态发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | FirstFrameSendState state | 视频发布用户所在的房间 ID。 |
| user | RtcUser | 本地用户信息,详见 RtcUser。 |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState。 |
public delegate void bytertc.OnScreenVideoFrameSendStateChangedEventHandler( string roomID, RtcUser user, FirstFrameSendState state)
屏幕共享流的视频首帧发送状态发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | FirstFrameSendState state | 屏幕视频发布用户所在的房间 ID。 |
| user | RtcUser | 本地用户信息,详见 RtcUser。 |
| state | FirstFrameSendState | 首帧发送状态,详见 FirstFrameSendState。 |
public delegate void bytertc.OnVideoFramePlayStateChangedEventHandler( string roomID, RtcUser user, FirstFramePlayState state)
视频首帧播放状态发生改变时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | FirstFramePlayState state | 视频发布用户所在的房间 ID。 |
| user | RtcUser | 远端用户信息,详见 RtcUser。 |
| state | FirstFramePlayState | 首帧播放状态,详见 FirstFramePlayState。 |
public delegate void bytertc.OnRemoteVideoSizeChangedEventHandler( RemoteStreamKey key, VideoFrameInfo info)
远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | VideoFrameInfo info | 房间 ID。 |
| key | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| info | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public delegate void bytertc.OnRemoteVideoStateChangedEventHandler( RemoteStreamKey key, RemoteVideoState state, RemoteVideoStateChangeReason reason)
远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | RemoteVideoStateChangeReason reason | 房间 ID。 |
| key | RemoteStreamKey | 远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey |
| state | RemoteVideoState | 远端视频流状态,参看 RemoteVideoState |
| reason | RemoteVideoStateChangeReason | 远端视频流状态改变原因,参看 RemoteVideoStateChangeReason |
注意
本回调仅适用于主流,不适用于屏幕流。
public delegate void bytertc.OnRemoteAudioStateChangedEventHandler( RemoteStreamKey key, RemoteAudioState state, RemoteAudioStateChangeReason error)
用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息, 详见 RemoteStreamKey |
| state | RemoteAudioState | 远端音频流状态,详见 RemoteAudioState |
| reason | RemoteAudioStateChangeReason error | 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason |
public delegate void bytertc.OnNetworkQualityEventHandler( string roomID, NetworkQualityStats localQuality, List<NetworkQualityStats> remoteQualities, int remoteQualityNum)
加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| localQuality | NetworkQualityStats | 本端网络质量,详见 NetworkQualityStats。 |
| remoteQualities | List | 已订阅用户的网络质量,详见 NetworkQualityStats。 |
| remoteQualityNum | int | remoteQualities 数组长度 |
注意
更多通话中的监测接口,详见通话中质量监测
public delegate void bytertc.OnLocalStreamStatsEventHandler( LocalStreamStats stat)
本地流数据统计以及网络质量回调。
本地用户发布流成功后,SDK 会周期性(2s)地通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。
统计信息通过 LocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stat | LocalStreamStats | 音视频流以及网络状况统计信息。参见 LocalStreamStats。 |
public delegate void bytertc.OnRemoteStreamStatsEventHandler( RemoteStreamStats stat)
本地订阅的远端音/视频流数据统计以及网络质量回调。
本地用户订阅流成功后,SDK 会周期性(2s)地通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| stat | RemoteStreamStats | 音视频流以及网络状况统计信息。参见 RemoteStreamStats。 |
public delegate void bytertc.OnFirstRemoteVideoFrameDecodedEventHandler( RemoteStreamKey key, VideoFrameInfo info)
SDK 接收并解码远端视频流首帧后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息,参看 RemoteStreamKey |
| info | VideoFrameInfo | 视频帧信息,参看 VideoFrameInfo |
public delegate void bytertc.OnFirstRemoteVideoFrameRenderedEventHandler( RemoteStreamKey key, VideoFrameInfo info)
SDK 内部渲染成功远端视频流首帧后,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端流信息。参看 RemoteStreamKey。 |
| info | VideoFrameInfo | 视频帧信息。参看 VideoFrameInfo。 |
public delegate void bytertc.OnFaceDetectResultEventHandler( FaceDetectResult result)
特效 SDK 进行人脸检测结果的回调。
调用 VideoSDKEnableFaceDetection 开启本回调,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| result | FaceDetectResult | 人脸检测结果, 参看 FaceDetectResult。 |
public delegate void bytertc.OnFirstRemoteAudioFrameEventHandler( RemoteStreamKey key)
接收到来自远端某音频流的第一帧时,收到该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| key | RemoteStreamKey | 远端音频流信息, 详见 RemoteStreamKey |
注意
用户刚收到房间内订阅的每一路音频流时,都会收到该回调。
public delegate void bytertc.OnRoomStateChangedEventHandler( string roomID, string userID, int state, string ExtraInfo)
房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomId | string ExtraInfo | 房间 ID。 |
| userID | string | 用户 ID。 |
| state | int | 房间状态码。 • 0: 成功。 • !0: 失败或异常退房。具体原因参看 ErrorCode 及 WarningCode。异常退出房间的具体原因包括 –1004:相同 ID 用户在其他端进房; –1006:用户被踢出当前房间。 |
| ExtraInfo | string | 额外信息。join_type表示加入房间的类型,0为首次进房,1为重连进房。elapsed表示加入房间耗时,即本地用户从调用 JoinRoom 到加入房间成功所经历的时间间隔,单位为 ms。 |
public delegate void bytertc.OnStreamStateChangedEventHandler( string roomID, string userID, int state, string ExtraInfo)
流状态改变回调,发生流相关的警告或错误时会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 用户 ID。 |
| state | int | 流状态码,参看 ErrorCode 及 WarningCode。 |
| ExtraInfo | string | 附加信息,目前为空。 |
public delegate void bytertc.OnLeaveRoomEventHandler( string roomID, RtcRoomStats stats)
离开房间成功回调。
用户调用 LeaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| stats | RtcRoomStats | 本次通话的统计数据。详见 RtcRoomStats。 |
注意
public delegate void bytertc.OnUserJoinedEventHandler( string roomID, UserInfo userInfo, int elapsed)
远端可见用户加入房间,或房内不可见用户切换为可见的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userInfo | UserInfo | 用户信息,参看 UserInfo。 |
| elapsed | int | 保留字段,无意义。 |
public delegate void bytertc.OnUserLeaveEventHandler( string roomID, string userID, UserOfflineReason reason)
远端用户离开房间,或切至不可见时,本地用户会收到此事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 离开房间,或切至不可见的远端用户 ID。 |
| reason | UserOfflineReason | 用户离开房间的原因,参看 UserOfflineReason。 |
public delegate void bytertc.OnRoomMessageReceivedEventHandler( string roomID, string userID, string message)
接收到房间内广播消息的回调。
房间内其他用户调用 SendRoomMessage 发送广播消息时,收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 消息发送者 ID |
| message | string | 收到的消息内容 |
public delegate void bytertc.OnUserMessageReceivedEventHandler( string roomID, string userID, string message)
收到来自房间中其他用户通过 SendUserMessage 发来的点对点文本消息时,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 消息发送者的用户 ID。 |
| message | string | 收到的文本消息内容。 |
public delegate void bytertc.OnUserMessageSendResultEventHandler( string roomID, long msgID, int error)
向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| msgID | long | 本条消息的 ID。 |
| error | int | 文本或二进制消息发送结果。 |
注意
调用 SendUserMessage 接口,才能收到此回调。
public delegate void bytertc.OnRoomMessageSendResultEventHandler( string roomID, long msgID, int error)
调用 SendRoomMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| msgid | int error | 本条消息的 ID。 |
| error | int | 消息发送结果。 |
public delegate void bytertc.OnUserPublishStreamEventHandler( string roomID, string userID, MediaStreamType type)
房间内新增远端摄像头/麦克风采集的媒体流的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 远端流发布用户的用户 ID。 |
| type | MediaStreamType | 远端媒体流的类型,参看 MediaStreamType。 |
注意
当房间内的远端用户调用 PublishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 SubscribeStream 订阅此流。
public delegate void bytertc.OnUserUnPublishStreamEventHandler( string roomID, string userID, MediaStreamType type, StreamRemoveReason reason)
房间内远端摄像头/麦克风采集的媒体流移除的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 移除的远端流发布用户的用户 ID。 |
| type | MediaStreamType | 移除的远端流类型,参看 MediaStreamType。 |
| reason | StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
注意
收到该回调通知后,你可以自行选择是否调用 UnsubscribeStream 取消订阅此流。
public delegate void bytertc.OnUserPublishScreenEventHandler( string roomID, string userID, MediaStreamType type)
房间内新增远端屏幕共享音视频流的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 远端流发布用户的用户 ID。 |
| type | MediaStreamType | 远端媒体流的类型,参看 MediaStreamType。 |
注意
当房间内的远端用户调用 PublishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 SubscribeScreen 订阅此流。
public delegate void bytertc.OnUserUnPublishScreenEventHandler( string roomID, string userID, MediaStreamType type, StreamRemoveReason reason)
房间内远端屏幕共享音视频流移除的回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| userID | string | 移除的远端流发布用户的用户 ID。 |
| type | MediaStreamType | 移除的远端流类型,参看 MediaStreamType。 |
| reason | StreamRemoveReason | 远端流移除的原因,参看 StreamRemoveReason。 |
注意
收到该回调通知后,你可以自行选择是否调用 UnsubscribeScreen 取消订阅此流。
public delegate void bytertc.OnStreamSubscribedEventHandler( string roomID, SubscribeState stateCode, string userID, SubscribeConfig info)
关于订阅媒体流状态改变的回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
| stateCode | SubscribeState | 订阅媒体流状态,参看 SubscribeState |
| userId | SubscribeConfig info | 流发布用户的用户 ID |
| info | SubscribeConfig | 流的属性,参看 SubscribeConfig |
注意
本地用户收到该回调的时机包括:
public delegate void bytertc.OnTokenWillExpireEventHandler( string roomID)
当 SDK 检测到 Token 的进房权限将在 30 秒内过期时,触发该回调。
调用 UpdateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID。 |
public delegate void bytertc.OnAudioStreamBannedEventHandler( string roomID, string userID, bool banned)
通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视音频流的发送时,触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 房间 ID |
| uid | bool banned | 被禁用/解禁的音频流用户 ID |
| banned | bool | 音频流发送状态 • true: 音频流发送被禁用 • false: 音频流发送被解禁 |
注意
public delegate void bytertc.OnVideoStreamBannedEventHandler( string roomID, string userID, bool banned)
通过调用服务端 MuteUser/UnmuteUser 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | string | 被禁用/解禁的视频流房间 ID |
| userID | string | 被禁用/解禁的视频流用户 ID |
| banned | bool | 视频流发送状态 • true: 视频流发送被禁用 • false: 视频流发送被解禁 |
注意
public delegate void bytertc.OnForwardStreamStateChangedEventHandler( List<ForwardStreamStateInfo> infos, int info_count)
跨房间媒体流转发状态和错误回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| infos | List | 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo |
| info_count | int | 数组长度,代表目标房间数 |
public delegate void bytertc.OnForwardStreamEventEventHandler( List<ForwardStreamEventInfo> infos, int info_count)
跨房间媒体流转发事件回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| infos | List | 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo |
| info_count | int | 数组长度,代表目标房间数 |
public delegate void bytertc.OnAVSyncStateChangeCallback( AVSyncState state)
发布端调用 SetMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | AVSyncState | 音视频同步状态,参看 AVSyncState。 |