函数 | |
delegate void | OnJoinChannelSuccessHandler (string channelName, uint uid, int elapsed) |
delegate void | OnLeaveChannelHandler (RtcStats stats) |
delegate void | OnReJoinChannelSuccessHandler (string channelName, uint uid, int elapsed) |
delegate void | OnConnectionLostHandler () |
delegate void | OnConnectionInterruptedHandler () |
delegate void | OnRequestTokenHandler () |
delegate void | OnUserJoinedHandler (uint uid, int elapsed) |
delegate void | OnUserOfflineHandler (uint uid, USER_OFFLINE_REASON reason) |
delegate void | OnVolumeIndicationHandler (AudioVolumeInfo[] speakers, int speakerNumber, int totalVolume) |
delegate void | OnUserMutedAudioHandler (uint uid, bool muted) |
delegate void | OnSDKWarningHandler (int warn, string msg) |
delegate void | OnSDKErrorHandler (int error, string msg) |
delegate void | OnRtcStatsHandler (RtcStats stats) |
delegate void | OnAudioMixingFinishedHandler () |
delegate void | OnAudioRouteChangedHandler (AUDIO_ROUTE route) |
delegate void | OnFirstRemoteVideoDecodedHandler (uint uid, int width, int height, int elapsed) |
delegate void | OnVideoSizeChangedHandler (uint uid, int width, int height, int rotation) |
delegate void | OnClientRoleChangedHandler (CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) |
delegate void | OnUserMuteVideoHandler (uint uid, bool muted) |
delegate void | OnMicrophoneEnabledHandler (bool isEnabled) |
delegate void | OnApiExecutedHandler (int err, string api, string result) |
delegate void | OnLastmileQualityHandler (int quality) |
delegate void | OnFirstLocalAudioFrameHandler (int elapsed) |
delegate void | OnFirstRemoteAudioFrameHandler (uint userId, int elapsed) |
delegate void | OnAudioQualityHandler (uint userId, int quality, ushort delay, ushort lost) |
delegate void | OnStreamInjectedStatusHandler (string url, uint userId, int status) |
delegate void | OnStreamUnpublishedHandler (string url) |
delegate void | OnStreamPublishedHandler (string url, int error) |
delegate void | OnStreamMessageErrorHandler (uint userId, int streamId, int code, int missed, int cached) |
delegate void | OnStreamMessageHandler (uint userId, int streamId, string data, int length) |
delegate void | OnConnectionBannedHandler () |
delegate void | OnConnectionStateChangedHandler (CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) |
delegate void | OnTokenPrivilegeWillExpireHandler (string token) |
delegate void | OnActiveSpeakerHandler (uint uid) |
delegate void | OnVideoStoppedHandler () |
delegate void | OnFirstLocalVideoFrameHandler (int width, int height, int elapsed) |
delegate void | OnFirstRemoteVideoFrameHandler (uint uid, int width, int height, int elapsed) |
delegate void | OnUserEnableVideoHandler (uint uid, bool enabled) |
delegate void | OnUserEnableLocalVideoHandler (uint uid, bool enabled) |
delegate void | OnRemoteVideoStateChangedHandler (uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) |
delegate void | OnLocalPublishFallbackToAudioOnlyHandler (bool isFallbackOrRecover) |
delegate void | OnRemoteSubscribeFallbackToAudioOnlyHandler (uint uid, bool isFallbackOrRecover) |
delegate void | OnNetworkQualityHandler (uint uid, int txQuality, int rxQuality) |
delegate void | OnLocalVideoStatsHandler (LocalVideoStats localVideoStats) |
delegate void | OnRemoteVideoStatsHandler (RemoteVideoStats remoteVideoStats) |
delegate void | OnRemoteAudioStatsHandler (RemoteAudioStats remoteAudioStats) |
delegate void | OnAudioDeviceStateChangedHandler (string deviceId, int deviceType, int deviceState) |
delegate void | OnCameraReadyHandler () |
delegate void | OnRemoteAudioMixingBeginHandler () |
delegate void | OnRemoteAudioMixingEndHandler () |
delegate void | OnAudioEffectFinishedHandler (int soundId) |
delegate void | OnVideoDeviceStateChangedHandler (string deviceId, int deviceType, int deviceState) |
delegate void | OnRemoteVideoTransportStatsHandler (uint uid, ushort delay, ushort lost, ushort rxKBitRate) |
delegate void | OnRemoteAudioTransportStatsHandler (uint uid, ushort delay, ushort lost, ushort rxKBitRate) |
delegate void | OnTranscodingUpdatedHandler () |
delegate void | OnAudioDeviceVolumeChangedHandler (MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) |
delegate void | OnMediaEngineStartCallSuccessHandler () |
delegate void | OnMediaEngineLoadSuccessHandler () |
delegate void | OnAudioMixingStateChangedHandler (AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_ERROR_TYPE errorCode) |
delegate void | OnFirstRemoteAudioDecodedHandler (uint uid, int elapsed) |
delegate void | OnLocalVideoStateChangedHandler (LOCAL_VIDEO_STREAM_STATE localVideoState, LOCAL_VIDEO_STREAM_ERROR error) |
delegate void | OnRtmpStreamingStateChangedHandler (string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) |
delegate void | OnNetworkTypeChangedHandler (NETWORK_TYPE type) |
delegate void | OnLastmileProbeResultHandler (LastmileProbeResult result) |
delegate void | OnLocalUserRegisteredHandler (uint uid, string userAccount) |
delegate void | OnUserInfoUpdatedHandler (uint uid, UserInfo userInfo) |
delegate void | OnLocalAudioStateChangedHandler (LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) |
delegate void | OnRemoteAudioStateChangedHandler (uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) |
delegate void | OnLocalAudioStatsHandler (LocalAudioStats localAudioStats) |
delegate void | OnChannelMediaRelayStateChangedHandler (CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) |
delegate void | OnChannelMediaRelayEventHandler (CHANNEL_MEDIA_RELAY_EVENT events) |
delegate void | OnFacePositionChangedHandler (int imageWidth, int imageHeight, Rectangle vecRectangle, int vecDistance, int numFaces) |
delegate void | OnRtmpStreamingEventHandler (string url, RTMP_STREAMING_EVENT eventCode) |
delegate void | OnAudioPublishStateChangedHandler (string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) |
delegate void | OnVideoPublishStateChangedHandler (string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) |
delegate void | OnAudioSubscribeStateChangedHandler (string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) |
delegate void | OnVideoSubscribeStateChangedHandler (string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) |
delegate void | OnFirstLocalAudioFramePublishedHandler (int elapsed) |
delegate void | OnFirstLocalVideoFramePublishedHandler (int elapsed) |
delegate void | ChannelOnWarningHandler (string channelId, int warn, string message) |
delegate void | ChannelOnErrorHandler (string channelId, int err, string message) |
delegate void | ChannelOnJoinChannelSuccessHandler (string channelId, uint uid, int elapsed) |
delegate void | ChannelOnReJoinChannelSuccessHandler (string channelId, uint uid, int elapsed) |
delegate void | ChannelOnLeaveChannelHandler (string channelId, RtcStats rtcStats) |
delegate void | ChannelOnClientRoleChangedHandler (string channelId, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) |
delegate void | ChannelOnUserJoinedHandler (string channelId, uint uid, int elapsed) |
delegate void | ChannelOnUserOffLineHandler (string channelId, uint uid, USER_OFFLINE_REASON reason) |
delegate void | ChannelOnConnectionLostHandler (string channelId) |
delegate void | ChannelOnRequestTokenHandler (string channelId) |
delegate void | ChannelOnTokenPrivilegeWillExpireHandler (string channelId, string token) |
delegate void | ChannelOnRtcStatsHandler (string channelId, RtcStats rtcStats) |
delegate void | ChannelOnNetworkQualityHandler (string channelId, uint uid, int txQuality, int rxQuality) |
delegate void | ChannelOnRemoteVideoStatsHandler (string channelId, RemoteVideoStats remoteVideoStats) |
delegate void | ChannelOnRemoteAudioStatsHandler (string channelId, RemoteAudioStats remoteAudioStats) |
delegate void | ChannelOnRemoteAudioStateChangedHandler (string channelId, uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) |
delegate void | ChannelOnActiveSpeakerHandler (string channelId, uint uid) |
delegate void | ChannelOnVideoSizeChangedHandler (string channelId, uint uid, int width, int height, int rotation) |
delegate void | ChannelOnRemoteVideoStateChangedHandler (string channelId, uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) |
delegate void | ChannelOnStreamMessageHandler (string channelId, uint uid, int streamId, string data, int length) |
delegate void | ChannelOnStreamMessageErrorHandler (string channelId, uint uid, int streamId, int code, int missed, int cached) |
delegate void | ChannelOnMediaRelayStateChangedHandler (string channelId, CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) |
delegate void | ChannelOnMediaRelayEventHandler (string channelId, CHANNEL_MEDIA_RELAY_EVENT events) |
delegate void | ChannelOnRtmpStreamingStateChangedHandler (string channelId, string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) |
delegate void | ChannelOnTranscodingUpdatedHandler (string channelId) |
delegate void | ChannelOnStreamInjectedStatusHandler (string channelId, string url, uint uid, int status) |
delegate void | ChannelOnRemoteSubscribeFallbackToAudioOnlyHandler (string channelId, uint uid, bool isFallbackOrRecover) |
delegate void | ChannelOnConnectionStateChangedHandler (string channelId, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) |
delegate void | ChannelOnLocalPublishFallbackToAudioOnlyHandler (string channelId, bool isFallbackOrRecover) |
delegate void | ChannelOnRtmpStreamingEventHandler (string channelId, string url, RTMP_STREAMING_EVENT eventCode) |
delegate void | ChannelOnAudioPublishStateChangedHandler (string channelId, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) |
delegate void | ChannelOnVideoPublishStateChangedHandler (string channelId, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) |
delegate void | ChannelOnAudioSubscribeStateChangedHandler (string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) |
delegate void | ChannelOnVideoSubscribeStateChangedHandler (string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) |
|
strong |
|
strong |
错误码。更多错误码描述见 Error Code。
枚举值 | |
---|---|
ERROR_NOT_INIT_ENGINE | -7: SDK 尚未初始化,就调用其 API。请确认在调用 API 之前已创建 IRtcEngine 对象并完成初始化。 |
ERROR_OK | 0: 没有错误。 |
ERROR_INVALID_ARGUMENT | -2: API 调用了无效的参数。例如指定的频道名含有非法字符。 |
ERROR_NO_DEVICE_PLUGIN | -100: 未插入设备。 |
|
strong |
|
strong |
远端视频流状态。
|
strong |
|
strong |
|
strong |
频道场景。
枚举值 | |
---|---|
CHANNEL_PROFILE_COMMUNICATION | 0: 通信场景 (默认)。该场景下,频道内所有用户都可以发布和接收音、视频流。适用于语音通话、视频群聊等应用场景。 |
CHANNEL_PROFILE_LIVE_BROADCASTING | 1: 直播场景。该场景有主播和观众两种用户角色,可以通过 SetClientRole 设置。主播可以发布和接收音视频流,观众直接接收流。适用于语聊房、视频直播、互动大班课等应用场景。 |
CHANNEL_PROFILE_GAME | 2: 游戏语音场景。频道内任何用户可自由发言。该模式下默认使用低功耗低码率的编解码器。 @note Agora 不推荐使用该场景。 |
|
strong |
|
strong |
语音路由。
|
strong |
网络连接状态。
枚举值 | |
---|---|
CONNECTION_STATE_DISCONNECTED | 1: 网络连接断开。
|
CONNECTION_STATE_CONNECTING | 2: 建立网络连接中。
|
CONNECTION_STATE_CONNECTED | 3: 网络已连接。 该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时应用程序会收到:
|
CONNECTION_STATE_RECONNECTING | 4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。
|
CONNECTION_STATE_FAILED | 5: 网络连接失败。 该状态表示 SDK 已不再尝试重新加入频道,用户必须要调用 LeaveChannel 离开频道。如果用户还想重新加入频道,则需要再次调用 JoinChannelByKey。 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则应用程序会收到 OnConnectionBannedHandler 回调(已废弃)和 OnConnectionStateChangedHandler 回调。 |
|
strong |
引起网络连接状态发生改变的原因。
枚举值 | |
---|---|
CONNECTION_CHANGED_CONNECTING | 0: 建立网络连接中。 |
CONNECTION_CHANGED_JOIN_SUCCESS | 1: 成功加入频道。 |
CONNECTION_CHANGED_INTERRUPTED | 2: 网络连接中断。 |
CONNECTION_CHANGED_BANNED_BY_SERVER | 3: 网络连接被服务器禁止。可能服务端踢人场景时会报这个错。 |
CONNECTION_CHANGED_JOIN_FAILED | 4: 加入频道失败。SDK 在尝试加入频道 20 分钟后还是没能加入频道,会返回该状态,并停止尝试重连。 |
CONNECTION_CHANGED_LEAVE_CHANNEL | 5: 离开频道。 |
CONNECTION_CHANGED_INVALID_APP_ID | 6: 不是有效的 APP ID。请更换有效的 APP ID 重新加入频道。 |
CONNECTION_CHANGED_INVALID_CHANNEL_NAME | 7: 不是有效的频道名。请更换有效的频道名重新加入频道。 |
CONNECTION_CHANGED_INVALID_TOKEN | 8: 生成的 Token 无效。一般有以下原因:
|
CONNECTION_CHANGED_TOKEN_EXPIRED | 9: 当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token。 |
CONNECTION_CHANGED_REJECTED_BY_SERVER | 10: 此用户被服务器禁止。一般有以下原因:
|
CONNECTION_CHANGED_SETTING_PROXY_SERVER | 11: 由于设置了代理服务器,SDK 尝试重连。 |
CONNECTION_CHANGED_RENEW_TOKEN | 12: 更新 Token 引起网络连接状态改变。 |
CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED | 13: 客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起。 |
CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT | 14: SDK 和服务器连接保活超时,进入自动重连状态 |
|
strong |
音视频流回退处理选项。
枚举值 | |
---|---|
STREAM_FALLBACK_OPTION_DISABLED | 0: 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 |
STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW | 1: 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 SetRemoteSubscribeFallbackOption 有效,对 SetLocalPublishFallbackOption 方法无效。 |
STREAM_FALLBACK_OPTION_AUDIO_ONLY | 2: 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。 |
|
strong |
|
strong |
远端视频流状态切换原因。
|
strong |
本地视频状态。
枚举值 | |
---|---|
LOCAL_VIDEO_STREAM_STATE_STOPPED | 0: 本地视频默认初始状态。 |
LOCAL_VIDEO_STREAM_STATE_CAPTURING | 1: 本地视频采集设备启动成功。调用 StartScreenCaptureByWindowId 方法共享窗口且共享窗口为最大化时,也会报告该状态。 |
LOCAL_VIDEO_STREAM_STATE_ENCODING | 2: 本地视频首帧编码成功。 |
LOCAL_VIDEO_STREAM_STATE_FAILED | 3: 本地视频启动失败。 |
|
strong |
本地视频出错原因。
|
strong |
|
strong |
|
strong |
指定 OnRecordAudioFrameHandler 和 OnPlaybackAudioFrameHandler 回调的使用模式。
枚举值 | |
---|---|
RAW_AUDIO_FRAME_OP_MODE_READ_ONLY | 0: 只读模式,用户仅从 AudioFrame 获取原始数据,不作任何修改。例如: 若用户通过 Unity SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。 |
RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY | 1: 只写模式,用户替换 AudioFrame 中的数据以供 SDK 编码传输。例如: 若用户自行采集数据,可选择该模式。 |
RAW_AUDIO_FRAME_OP_MODE_READ_WRITE | 2: 读写模式, 用户从 AudioFrame 获取并修改数据、修改,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 |
|
strong |
音频属性。
设置采样率,码率,编码模式和声道数。
|
strong |
设置音频应用场景。
|
strong |
|
strong |
|
strong |
音乐文件播放状态。
|
strong |
|
strong |
推流状态。
枚举值 | |
---|---|
RTMP_STREAM_PUBLISH_STATE_IDLE | 0: 推流未开始或已结束。成功调用 RemovePublishStreamUrl 方法删除推流地址后,也会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_CONNECTING | 1: 正在连接 Agora 推流服务器和 RTMP 服务器。调用 AddPublishStreamUrl 方法后,会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_RUNNING | 2: 推流正在进行。成功推流后,会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_RECOVERING | 3: 正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。
|
RTMP_STREAM_PUBLISH_STATE_FAILURE | 4: 推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以再次调用 AddPublishStreamUrl 重新尝试推流。 |
|
strong |
推流错误信息。
枚举值 | |
---|---|
RTMP_STREAM_PUBLISH_ERROR_OK | 0: 推流成功 |
RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT | 1: 参数无效。请检查输入参数是否正确。例如如果你在调用 AddPublishStreamUrl 前没有调用 SetLiveTranscoding 设置转码参数,SDK 会返回该错误。 |
RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED | 2: 推流已加密,不能推流 |
RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT | 3: 推流超时未成功。可调用 AddPublishStreamUrl 重新推流。 |
RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR | 4: 推流服务器出现错误。请调用 AddPublishStreamUrl 重新推流。 |
RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR | 5: RTMP 服务器出现错误。 |
RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN | 6: 推流请求过于频繁。 |
RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT | 7: 单个主播的推流地址数目达到上线 10。请删掉一些不用的推流地址再增加推流地址。 |
RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED | 8: 主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 app 逻辑。 |
RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND | 9: 服务器未找到这个流。 |
RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED | 10: 推流地址格式有错误。请检查推流地址格式是否正确。 |
|
strong |
|
strong |
预设的美声效果。
|
strong |
预设的音效。
语音音效均衡波段的中心频率。
|
strong |
|
strong |
各混响音效 Key 所对应的值。
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
视频编码的方向模式。
|
strong |
|
strong |
|
strong |
|
strong |
枚举值 | |
---|---|
AUDIO_PLAYOUT_SOURCE | 0: 音频播放设备。 |
AUDIO_RECORDING_SOURCE | 1: 音频采集设备。 |
|
strong |
|
strong |
|
strong |
摄像头采集偏好。
枚举值 | |
---|---|
CAPTURER_OUTPUT_PREFERENCE_AUTO | 0: (默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 |
CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE | 1: 优先保证设备性能。SDK 根据用户在 SetVideoEncoderConfiguration 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 |
CAPTURER_OUTPUT_PREFERENCE_PREVIEW | 2: 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 |
|
strong |
网络质量。
|
strong |
|
strong |
输入的外部视频源状态。
|
strong |
|
strong |
|
strong |
本地音频出错原因。
|
strong |
远端音频流状态。
|
strong |
远端音频流状态改变的具体原因。
音频会话控制权限。
|
strong |
跨频道媒体流转发事件码。
|
strong |
跨频道媒体流转发状态码。
枚举值 | |
---|---|
RELAY_STATE_IDLE | 0: 初始状态。在成功调用 StopChannelMediaRelay 停止 跨频道媒体流转发后,OnChannelMediaRelayStateChangedHandler 会回调该状态。 |
RELAY_STATE_CONNECTING | 1: SDK 尝试跨频道。 |
RELAY_STATE_RUNNING | 2: 源频道主播成功加入目标频道。 |
RELAY_STATE_FAILURE | 3: 发生异常,详见 |
|
strong |
|
strong |
跨频道媒体流转发出错的错误码。
枚举值 | |
---|---|
RELAY_OK | 0: 一切正常。 |
RELAY_ERROR_SERVER_ERROR_RESPONSE | 1: 服务器回应出错。 |
RELAY_ERROR_SERVER_NO_RESPONSE | 2: 服务器无回应。你可以调用 LeaveChannel 方法离开频道。 |
RELAY_ERROR_NO_RESOURCE_AVAILABLE | 3: SDK 无法获取服务,可能是因为服务器资源有限导致。 |
RELAY_ERROR_FAILED_JOIN_SRC | 4: 发起跨频道转发媒体流请求失败。 |
RELAY_ERROR_FAILED_JOIN_DEST | 5: 接受跨频道转发媒体流请求失败。 |
RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC | 6: 服务器接收跨频道转发媒体流失败。 |
RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST | 7: 服务器发送跨频道转发媒体流失败。 |
RELAY_ERROR_SERVER_CONNECTION_LOST | 8: SDK 因网络质量不佳与服务器断开。你可以调用 LeaveChannel 方法离开当前频道。 |
RELAY_ERROR_INTERNAL_ERROR | 9: 服务器内部出错。 |
RELAY_ERROR_SRC_TOKEN_EXPIRED | 10: 源频道的 Token 已过期。 |
RELAY_ERROR_DEST_TOKEN_EXPIRED | 11: 目标频道的 Token 已过期。 |
|
strong |
|
strong |
设置视频显示模式。
枚举值 | |
---|---|
RENDER_MODE_HIDDEN | 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 |
RENDER_MODE_FIT | 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 |
RENDER_MODE_ADAPTIVE |
|
|
strong |
|
strong |
|
strong |
发布状态。
枚举值 | |
---|---|
PUB_STATE_IDLE | 0: 加入频道后的初始发布状态。 |
PUB_STATE_NO_PUBLISHED | 1: 发布失败。可能是因为:
|
PUB_STATE_PUBLISHING | 2: 正在发布。 |
PUB_STATE_PUBLISHED | 3: 发布成功。 |
|
strong |
订阅状态。
枚举值 | |
---|---|
SUB_STATE_IDLE | 0: 加入频道后的初始订阅状态。 |
SUB_STATE_NO_SUBSCRIBED | 1: 订阅失败。可能是因为:
|
SUB_STATE_SUBSCRIBING | 2: 正在订阅。 |
SUB_STATE_SUBSCRIBED | 3: 收到了远端流,订阅成功。 |
|
strong |
|
strong |
预设的美声效果选项。
|
strong |
预设的音效选项。
枚举值 | |
---|---|
AUDIO_EFFECT_OFF | 原声,即关闭人声音效。 |
ROOM_ACOUSTICS_KTV | KTV。
|
ROOM_ACOUSTICS_VOCAL_CONCERT | 演唱会。
|
ROOM_ACOUSTICS_STUDIO | 录音棚。
|
ROOM_ACOUSTICS_PHONOGRAPH | 留声机。
|
ROOM_ACOUSTICS_VIRTUAL_STEREO | 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。
|
ROOM_ACOUSTICS_SPACIAL | 空旷。
|
ROOM_ACOUSTICS_ETHEREAL | 空灵。
|
ROOM_ACOUSTICS_3D_VOICE | 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果,环绕周期为 10 秒。设置该音效后,你还可以 调用 SetAudioEffectParameters 修改环绕周期。
|
VOICE_CHANGER_EFFECT_UNCLE | 大叔。
|
VOICE_CHANGER_EFFECT_OLDMAN | 老年男性。
|
VOICE_CHANGER_EFFECT_BOY | 男孩。
|
VOICE_CHANGER_EFFECT_SISTER | 少女。
|
VOICE_CHANGER_EFFECT_GIRL | 女孩。
|
VOICE_CHANGER_EFFECT_PIGKING | 猪八戒。
|
VOICE_CHANGER_EFFECT_HULK | 绿巨人。
|
STYLE_TRANSFORMATION_RNB | R&B。
|
STYLE_TRANSFORMATION_POPULAR | 流行。
|
PITCH_CORRECTION | 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以 调用 SetAudioEffectParameters 调整修音的基础调式和主音音高。
|
|
strong |
delegate void agora_gaming_rtc.OnJoinChannelSuccessHandler | ( | string | channelName, |
uint | uid, | ||
int | elapsed | ||
) |
加入频道回调。
该回调方法表示该客户端成功加入了指定的频道。
频道名基于 JoinChannelByKey 中指定的 channelName
分配。
如果调用 JoinChannelByKey
时并没有指定 uid
。服务器会自动分配一个。
channelName | 频道名。 |
uid | 用户 ID。如果 JoinChannelByKey 中指定了 uid,则此处返回该 ID;否则使用 Agora 服务器自动分配的 ID。 |
elapsed | 从 JoinChannelByKey 开始到发生此事件过去的时间(毫秒)。 |
delegate void agora_gaming_rtc.OnLeaveChannelHandler | ( | RtcStats | stats | ) |
离开频道回调。
app 调用 LeaveChannel 方法时,SDK 提示 app 离开频道成功。在该回调方法中,app 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。App 通过该回调获取通话时长以及 SDK 接收到或发送的数据统计信息。
stats | 通话的统计数据: RtcStats 。 |
delegate void agora_gaming_rtc.OnReJoinChannelSuccessHandler | ( | string | channelName, |
uint | uid, | ||
int | elapsed | ||
) |
重新加入频道回调。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连成功后触发此回调方法。
channelName | 频道名。 |
uid | 用户 ID。 |
elapsed | 从开始重连到重连成功的时间(毫秒)。 |
delegate void agora_gaming_rtc.OnConnectionLostHandler | ( | ) |
网络连接丢失回调。
SDK 在调用 JoinChannelByKey 后无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。
与 OnConnectionInterruptedHandler 的区别是:
OnConnectionInterruptedHandler
回调一定是发生在加入频道成功后,且 SDK 刚失去和服务器连接超过 4 秒时触发。OnConnectionLostHandler
回调是无论之前加入频道是否成功,只要 10 秒内和服务器无法建立连接都会触发。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。
delegate void agora_gaming_rtc.OnConnectionInterruptedHandler | ( | ) |
网络连接中断回调。
SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。
与 OnConnectionLostHandler 回调的区别是:
OnConnectionInterruptedHandler
回调一定是发生在加入频道成功后,且 SDK 刚失去和服务器连接超过 4 秒时触发。OnConnectionLostHandler
回调是无论之前加入频道是否成功,只要 10 秒内和服务器无法建立连接都会触发。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。
delegate void agora_gaming_rtc.OnRequestTokenHandler | ( | ) |
Token 已过期回调。
在调用 JoinChannelByKey , 时如果指定了 Token,由于 Token 具有一定的时效,在通话过程中 SDK 可能由于网络原因和服务器失去连接,重连时可能需要新的 Token。
该回调通知 app 需要生成新的 Token,并调用 RenewToken 更新 Token。
delegate void agora_gaming_rtc.OnUserJoinedHandler | ( | uint | uid, |
int | elapsed | ||
) |
远端用户(通信场景)/主播(直播场景)加入当前频道回调。
该回调在如下情况下会被触发:
uid
。uid
。uid | 新加入频道的远端用户/主播 ID。 |
elapsed | 从本地用户调用 JoinChannelByKey 到该回调触发的延迟(毫秒)。 |
delegate void agora_gaming_rtc.OnUserOfflineHandler | ( | uint | uid, |
USER_OFFLINE_REASON | reason | ||
) |
远端用户(通信场景)/主播(直播场景)离开当前频道回调。
提示有远端用户/主播离开了频道(或掉线)。用户离开频道有两个原因,即正常离开和超时掉线:
uid | 离线用户或主播的用户 ID。 |
reason | 离线原因: USER_OFFLINE_REASON 。 |
delegate void agora_gaming_rtc.OnVolumeIndicationHandler | ( | AudioVolumeInfo [] | speakers, |
int | speakerNumber, | ||
int | totalVolume | ||
) |
用户音量提示回调。
该回调默认禁用,你可以通过 EnableAudioVolumeIndication 开启;开启后,只要频道内有发流用户,SDK 会在加入频道后按 EnableAudioVolumeIndication
中设置的时间间隔触发 OnVolumeIndicationHandler
回调。每次会触发两个 OnVolumeIndicationHandler
回调,一个报告本地发流用户的音量相关信息,另一个报告瞬时音量最高的远端用户(最多 3 位)的音量相关信息。
speakers | 用户音量信息,详见 AudioVolumeInfo 数组。如果 speakers 为空,则表示远端用户不发流或没有远端用户。 |
speakerNumber | 用户数量。
|
totalVolume | 混音后的总音量,取值范围为 [0,255]。
|
如果用户调用了 StartAudioMixing,则 totalVolume
为音乐文件和用户声音的总音量。
delegate void agora_gaming_rtc.OnUserMutedAudioHandler | ( | uint | uid, |
bool | muted | ||
) |
远端用户静音回调。
提示有远端用户已将其音频流静音(或取消静音)。该回调是由远端用户调用 MuteLocalAudioStream 方法关闭或开启音频发送触发的。
uid | 用户 ID。 |
muted | 该用户是否静音:
|
delegate void agora_gaming_rtc.OnSDKWarningHandler | ( | int | warn, |
string | msg | ||
) |
发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 app 可以忽略,SDK 会自动恢复。比如和服务器失去连接时,SDK 可能会上报 WARN_OPEN_CHANNEL_TIMEOUT(106)
警告,同时自动尝试重连。
warn | 警告代码:Warning Code。 |
msg | 警告描述。 |
delegate void agora_gaming_rtc.OnSDKErrorHandler | ( | int | error, |
string | msg | ||
) |
发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 app 干预或提示用户。 比如启动通话失败时,SDK 会上报 ERR_START_CALL(1002)
错误。App 可以提示用户启动通话失败,并调用 LeaveChannel 退出频道。
error | 错误代码:Error Code。 |
msg | 错误描述。 |
delegate void agora_gaming_rtc.OnRtcStatsHandler | ( | RtcStats | stats | ) |
当前通话统计回调。SDK 定期向 app 报告当前通话的统计信息,每两秒触发一次。
stats | RTC 引擎统计数据: RtcStats 。 |
delegate void agora_gaming_rtc.OnAudioMixingFinishedHandler | ( | ) |
本地音乐文件播放已结束回调。
当调用 StartAudioMixing 播放本地音乐文件结束后,会触发该回调。如果调用 StartAudioMixing
失败,会在 OnSDKErrorHandler 回调里,返回错误码 WARN_AUDIO_MIXING_OPEN_ERROR(701)
。
delegate void agora_gaming_rtc.OnAudioRouteChangedHandler | ( | AUDIO_ROUTE | route | ) |
delegate void agora_gaming_rtc.OnFirstRemoteVideoDecodedHandler | ( | uint | uid, |
int | width, | ||
int | height, | ||
int | elapsed | ||
) |
已接收到远端视频并完成解码回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。 app 可在此回调中设置该用户的 view。有两种情况:
uid | 用户 ID,指定是哪个用户的视频流。 |
width | 视频流宽(px)。 |
height | 视频流高(px)。 |
elapsed | 从本地调用 JoinChannelByKey 开始到该回调触发的延迟(毫秒)。 |
delegate void agora_gaming_rtc.OnVideoSizeChangedHandler | ( | uint | uid, |
int | width, | ||
int | height, | ||
int | rotation | ||
) |
本地或远端视频大小和旋转信息发生改变回调。
uid | 图像尺寸和旋转信息发生变化的用户的用户 ID(本地用户的 uid 为 0)。 |
width | 视频流的宽度(像素)。 |
height | 视频流的高度(像素)。 |
rotation | 旋转信息 [0,360) 。 |
delegate void agora_gaming_rtc.OnClientRoleChangedHandler | ( | CLIENT_ROLE_TYPE | oldRole, |
CLIENT_ROLE_TYPE | newRole | ||
) |
直播场景下用户角色已切换回调。
直播场景下,当用户切换角色时会触发此回调,即主播切换为观众时,或观众切换为主播时。该回调由本地用户在加入频道后调用 SetClientRole 改变用户角色触发的。
oldRole | 切换前的角色: CLIENT_ROLE_TYPE 。 |
newRole | 切换后的角色: CLIENT_ROLE_TYPE 。 |
delegate void agora_gaming_rtc.OnUserMuteVideoHandler | ( | uint | uid, |
bool | muted | ||
) |
远端用户暂停/恢复发送视频流回调。
你也可以使用 OnRemoteVideoStateChangedHandler 回调的:
该回调是由远端用户调用 MuteLocalVideoStream 方法关闭或开启视频发送触发的。
uid | 远端用户 ID。 |
muted | 该用户是否暂停发送其视频流:
|
delegate void agora_gaming_rtc.OnMicrophoneEnabledHandler | ( | bool | isEnabled | ) |
麦克风状态已改变回调。
该回调由本地用户调用 EnableLocalAudio 方法开启或关闭本地音频采集触发的。
isEnabled |
|
delegate void agora_gaming_rtc.OnApiExecutedHandler | ( | int | err, |
string | api, | ||
string | result | ||
) |
API 方法已执行回调。
err | 当该方法调用失败时 SDK 返回的错误码。如果方法调用失败,会返回错误码 Error Code。如果该方法调用成功,SDK 将返回 0。 |
api | SDK 执行的 API。 |
result | SDK 调用 API 的调用结果。 |
delegate void agora_gaming_rtc.OnLastmileQualityHandler | ( | int | quality | ) |
通话前网络上下行 last mile 质量报告回调。
该回调描述本地用户在加入频道前的 last mile 网络探测的结果,其中 last mile 是指设备到 Agora 边缘服务器的网络状态。在调用 EnableLastmileTest 之后,该回调函数每 2 秒触发一次。如果远端有多个用户/主播,该回调每 2 秒会被触发多次。
quality | 网络上下行质量,基于上下行网络的丢包率和抖动计算,探测结果主要反映上行网络的状态。详见: QUALITY_TYPE 。 |
delegate void agora_gaming_rtc.OnFirstLocalAudioFrameHandler | ( | int | elapsed | ) |
已发送本地音频首帧回调。
elapsed | 从调用 JoinChannelByKey 方法直至该回调被触发的时间。 |
delegate void agora_gaming_rtc.OnFirstRemoteAudioFrameHandler | ( | uint | userId, |
int | elapsed | ||
) |
已接收远端音频首帧回调。
userId | 发送音频帧的远端用户的用户 ID。 |
elapsed | 从调用 JoinChannelByKey 方法直至该回调被触发的时间。 |
delegate void agora_gaming_rtc.OnAudioQualityHandler | ( | uint | userId, |
int | quality, | ||
ushort | delay, | ||
ushort | lost | ||
) |
远端声音质量回调。
该回调描述远端用户在通话中的音频质量,针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播,该回调每 2 秒会被触发多次。
userId | 用户 ID,指定是谁发的音频流。 |
quality | 语音质量,详见: QUALITY_TYPE 。 |
delay | 音频包从发送端到接收端的延迟(毫秒)。包括声音采样前处理、网络传输、网络抖动缓冲引起的延迟。 |
lost | 音频包从发送端到接收端的丢包率 (%)。 |
delegate void agora_gaming_rtc.OnStreamInjectedStatusHandler | ( | string | url, |
uint | userId, | ||
int | status | ||
) |
输入在线媒体流状态回调。
url | 输入进直播的在线媒体流的地址。 |
userId | 用户 ID。 |
status | 输入的在线媒体流状态: INJECT_STREAM_STATUS 。 |
delegate void agora_gaming_rtc.OnStreamUnpublishedHandler | ( | string | url | ) |
旁路推流已停止回调。
回调用于通知主播停止推流成功。
url | 被删除的 RTMP/RTMPS 推流地址。 |
delegate void agora_gaming_rtc.OnStreamPublishedHandler | ( | string | url, |
int | error | ||
) |
旁路推流已开启回调。该回调用于通知主播推流状态。
url | 主播推流的 URL 地址 。 |
error | Error code: Error Code。
|
delegate void agora_gaming_rtc.OnStreamMessageErrorHandler | ( | uint | userId, |
int | streamId, | ||
int | code, | ||
int | missed, | ||
int | cached | ||
) |
接收对方数据流消息发生错误的回调。
该回调表示本地用户未收到远端用户调用 SendStreamMessage 方法发送的流消息。
userId | 发送消息的用户 ID。 |
streamId | Stream ID。 |
code | 错误码: Error Code。 |
missed | 丢失的消息数量。 |
cached | 数据流中断时,后面缓存的消息数量。 |
delegate void agora_gaming_rtc.OnStreamMessageHandler | ( | uint | userId, |
int | streamId, | ||
string | data, | ||
int | length | ||
) |
接收到对方数据流消息的回调。
该回调表示本地用户收到了远端用户调用 SendStreamMessage 方法发送的流消息。
userId | 发送消息的用户 ID。 |
streamId | 数据流 ID。 |
data | 接收到的数据流。 |
length | 数据流长度。 |
delegate void agora_gaming_rtc.OnConnectionBannedHandler | ( | ) |
delegate void agora_gaming_rtc.OnConnectionStateChangedHandler | ( | CONNECTION_STATE_TYPE | state, |
CONNECTION_CHANGED_REASON_TYPE | reason | ||
) |
网络连接状态已改变回调。该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。
state | 详见: CONNECTION_STATE_TYPE 。 |
reason | 详见: CONNECTION_CHANGED_REASON_TYPE 。 |
delegate void agora_gaming_rtc.OnTokenPrivilegeWillExpireHandler | ( | string | token | ) |
Token 服务即将过期回调。
在调用 JoinChannelByKey 时如果指定了 Token,由于 Token 具有一定的时效,在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。 当收到该回调时,用户需要重新在服务端生成新的 Token,然后调用 RenewToken 将新生成的 Token 传给 SDK。
token | 即将服务失效的 Token。 |
delegate void agora_gaming_rtc.OnActiveSpeakerHandler | ( | uint | uid | ) |
监测到最活跃用户回调。
成功调用 EnableAudioVolumeIndication 后,SDK 会持续监测音量 最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。
当频道内用户数量大于或等于 2 且有活跃用户时,SDK 会触发该回调并报告最活跃用户的 uid
。
OnActiveSpeakerHandler
回调。uid
。uid | 远端最活跃用户的 ID。 |
delegate void agora_gaming_rtc.OnVideoStoppedHandler | ( | ) |
视频功能已停止回调。
提示视频功能已停止。 app 如需在停止视频后对 view 做其他处理(比如显示其他画面),可以在这个回调中进行。
delegate void agora_gaming_rtc.OnFirstLocalVideoFrameHandler | ( | int | width, |
int | height, | ||
int | elapsed | ||
) |
已显示本地视频首帧回调。本地视频首帧显示在本地视图上时,SDK 会触发此回调。
width | 本地渲染视频的宽 (px) 。 |
height | 本地渲染视频的高 (px)。 |
elapsed | 从调用 JoinChannelByKey 到发生此事件过去的时间(毫秒)。如果在 JoinChannelByKey 前调用了 StartPreview ,则是从 StartPreview 到发生此事件过去的时间。 |
delegate void agora_gaming_rtc.OnFirstRemoteVideoFrameHandler | ( | uint | uid, |
int | width, | ||
int | height, | ||
int | elapsed | ||
) |
已显示首帧远端视频回调。
第一帧远端视频显示在视图上时,触发此调用。 app 可在此调用中获知出图时间(elapsed)。
uid | 用户 ID,指定是哪个用户的视频流。 |
width | 视频流宽(px)。 |
height | 视频流高(px)。 |
elapsed | 从本地调用 JoinChannelByKey 到发生此事件过去的时间(毫秒)。 |
delegate void agora_gaming_rtc.OnUserEnableVideoHandler | ( | uint | uid, |
bool | enabled | ||
) |
远端用户开关本地视频采集回调。
提示有远端用户开关了本地视频采集。关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频,也不能接收、显示别人的视频。
该回调是由远端用户调用 EnableVideo 或 DisableVideo 方法开启或关闭视频模块触发的。
uid | 用户 ID,提示是哪个用户的视频流。 |
enabled |
|
delegate void agora_gaming_rtc.OnUserEnableLocalVideoHandler | ( | uint | uid, |
bool | enabled | ||
) |
其他用户启用/关闭本地视频。
提示有其他用户启用/关闭了本地视频功能。关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频,也不能接收、显示别人的视频。
该回调是由远端用户调用 EnableLocalVideo 方法开启或关闭视频采集触发的。
uid | 用户 ID,提示是哪个用户的视频流。 |
enabled |
|
delegate void agora_gaming_rtc.OnRemoteVideoStateChangedHandler | ( | uint | uid, |
REMOTE_VIDEO_STATE | state, | ||
REMOTE_VIDEO_STATE_REASON | reason, | ||
int | elapsed | ||
) |
远端视频状态发生改变回调。
uid | 发生视频状态改变的远端用户 ID。 |
state | 远端视频流状态。详见 REMOTE_VIDEO_STATE 。 |
reason | 远端视频流状态改变的具体原因。详见 REMOTE_VIDEO_STATE_REASON 。 |
elapsed | 从本地用户调用 JoinChannelByKey 方法到发生本事件经历的时间,单位为 ms。 |
delegate void agora_gaming_rtc.OnLocalPublishFallbackToAudioOnlyHandler | ( | bool | isFallbackOrRecover | ) |