枚举类
CHANNEL_PROFILE_TYPE
频道场景。
枚举值
枚举值 | 描述 |
---|---|
CHANNEL_PROFILE_COMMUNICATION | (0):通信场景。优先保证通话流畅性,适用于一对一通话。 |
CHANNEL_PROFILE_LIVE_BROADCASTING | (1):(默认)极速直播场景。优先支持观众数量较多的直播频道。 |
CHANNEL_PROFILE_GAME | (2):游戏场景。该场景已废弃。 |
CHANNEL_PROFILE_CLOUD_GAMING | (3):云游戏场景。该场景已废弃。 |
CHANNEL_PROFILE_COMMUNICATION_1v1 | (4):通信 1v1 场景。该场景已废弃。 |
ERROR_CODE_TYPE
错误码类型。
枚举值
枚举值 | 描述 |
---|---|
ERR_OK | (0):没有错误发生。 |
ERR_FAILED | (1):发生通用错误(无明确原因)。 |
ERR_INVALID_ARGUMENT | (2):参数无效。例如,指定的频道名包含非法字符。 |
ERR_NOT_READY | (3):SDK 模块尚未就绪。可尝试以下方案:检查音频设备、检查应用完整性、重新初始化 RTC 引擎。 |
ERR_NOT_SUPPORTED | (4):SDK 不支持该功能。 |
ERR_REFUSED | (5):请求被拒绝。 |
ERR_BUFFER_TOO_SMALL | (6):缓冲区大小不足,无法存储返回数据。 |
ERR_NOT_INITIALIZED | (7):调用该方法前未初始化 SDK。 |
ERR_INVALID_STATE | (8):状态无效。 |
ERR_TIMEDOUT | (10):API 调用超时。部分 API 方法需要 SDK 返回执行结果,若请求处理超过 10 秒则返回该错误。 |
ERR_JOIN_CHANNEL_REJECTED | (17):加入频道的请求被拒绝。该错误通常发生在 Recorder 已在频道中仍调用 joinChannel 方法。 |
ERR_LEAVE_CHANNEL_REJECTED | (18):离开频道的请求被拒绝。该错误通常发生在 Recorder 已离开频道仍调用 leaveChannel 方法。 |
ERR_ALREADY_IN_USE | (19):资源已被占用,无法重复使用。 |
ERR_RESOURCE_LIMITED | (22):App 占用过多系统资源,导致 SDK 无法分配资源。 |
ERR_INVALID_APP_ID | (101): 无效,通常是因为 的数据格式不正确。解决方案:请检查 的数据格式,确保使用正确的 初始化声网服务。 |
ERR_INVALID_CHANNEL_NAME | (102):频道名无效。请尝试使用有效的频道名重新加入频道。 |
ERR_NO_SERVER_RESOURCES | (103):在指定区域无法获取服务器资源。请在调用 initialize 方法时尝试指定其他区域。 |
ERR_TOKEN_EXPIRED | (109): 已过期,通常有以下原因:
解决方案:无论是 授权超时还是权限过期,都需要在服务器上重新生成 ,并尝试重新加入频道。 |
ERR_INVALID_TOKEN | (110): 无效,通常有以下原因:
解决方案:加入频道前请检查项目是否启用了 ,若启用则必须提供 ,未启用则无需提供;使用 加入频道时,请确保用于生成 的 与初始化声网服务时使用的 一致,用户 ID 和频道名也需一致。 |
ERR_DECRYPTION_FAILED | (120):媒体流解密失败。用户可能尝试使用错误的密码加入频道。请检查设置或尝试重新加入频道。 |
ERR_INVALID_USER_ID | (121):用户 ID 无效。 |
ERR_DATASTREAM_DECRYPTION_FAILED | (122):数据流解密失败。对端可能尝试使用错误的密码加入频道,或未启用数据流加密。 |
ERR_CLIENT_IS_BANNED_BY_SERVER | (123):该客户端实例被服务器封禁。 |
ERR_LICENSE_CREDENTIAL_INVALID | (131):License 凭证无效。 |
ERR_INVALID_USER_ACCOUNT | (134):用户账号无效,通常是因为用户账号的数据格式不正确。 |
ERR_LOAD_MEDIA_ENGINE | (1001):加载媒体引擎失败。 |
ERR_ADM_GENERAL_ERROR | (1005):音频设备模块:发生通用错误(无具体原因)。请检查音频设备是否被其他 App 占用,或尝试重新加入频道。 |
ERR_ADM_INIT_PLAYOUT | (1008):音频设备模块:初始化播放设备失败。 |
ERR_ADM_START_PLAYOUT | (1009):音频设备模块:启动播放设备失败。 |
ERR_ADM_STOP_PLAYOUT | (1010):音频设备模块:停止播放设备失败。 |
ERR_ADM_INIT_RECORDING | (1011):音频设备模块:初始化录音设备失败。 |
ERR_ADM_START_RECORDING | (1012):音频设备模块:启动录音设备失败。 |
ERR_ADM_STOP_RECORDING | (1013):音频设备模块:停止录音设备失败。 |
ERR_VDM_CAMERA_NOT_AUTHORIZED | (1501):视频设备模块:摄像头未授权。 |
USER_OFFLINE_REASON_TYPE
用户离线的原因。
枚举值
枚举值 | 描述 |
---|---|
USER_OFFLINE_QUIT | (0):用户离开当前频道。 |
USER_OFFLINE_DROPPED | (1):在一定时间内未收到数据包,SDK 超时导致用户掉线。如果用户退出通话但未将消息传递给 SDK(由于信道不可靠),SDK 会认为用户掉线。 |
USER_OFFLINE_BECOME_AUDIENCE | (2):用户将客户端角色从主播切换为观众。 |
QUALITY_TYPE
网络质量类型。
枚举值
枚举值 | 描述 |
---|---|
QUALITY_UNKNOWN | (0):网络质量未知。 |
QUALITY_EXCELLENT | (1):网络质量极佳。 |
QUALITY_GOOD | (2):网络质量较好,码率可能略低于极佳。 |
QUALITY_POOR | (3):通信质量轻微受损,用户可感知。 |
QUALITY_BAD | (4):通信不流畅,影响用户体验。 |
QUALITY_VBAD | (5):通信质量极差,几乎无法正常使用。 |
QUALITY_DOWN | (6):完全无法通信。 |
QUALITY_UNSUPPORTED | (7):(预留)无法检测网络质量。 |
QUALITY_DETECTING | (8):正在检测网络质量。 |
WATERMARK_FIT_MODE
水印的适配模式。
枚举值
枚举值 | 描述 |
---|---|
FIT_MODE_COVER_POSITION | 使用在 WatermarkOptions 中设置的 positionInLandscapeMode 和 positionInPortraitMode 值。WatermarkRatio 中的设置无效。 |
FIT_MODE_USE_IMAGE_RATIO | 使用在 WatermarkRatio 中设置的值。WatermarkOptions 中的 positionInLandscapeMode 和 positionInPortraitMode 设置无效。 |
VIDEO_STREAM_TYPE
视频流类型。
枚举值
枚举值 | 描述 |
---|---|
VIDEO_STREAM_HIGH | (0):高质量视频流,分辨率和码率最高。 |
VIDEO_STREAM_LOW | (1):低质量视频流,分辨率和码率最低。 |
WatermarkSourceType
水印来源类型。
枚举值
枚举值 | 描述 |
---|---|
LITERA | (0):水印来源为文本。 |
TIMESTAMPS | (1):水印来源为时间戳。 |
PICTURE | (2):水印来源为图片。 |
AUDIO_SCENARIO_TYPE
音频场景。
枚举值
枚举值 | 描述 |
---|---|
AUDIO_SCENARIO_DEFAULT | (0):(默认)自动场景,SDK 会根据用户角色和音频路由选择合适的音频质量。 |
AUDIO_SCENARIO_GAME_STREAMING | (3):直播游戏场景,需在扬声器中启用游戏音效,适用于高保真音乐播放。 |
AUDIO_SCENARIO_CHATROOM | (5):聊天室场景,即使将客户端角色设置为观众也会持续录音。该“非正交”行为用于保持 API 向后兼容,开发者也可通过静音 API 实现相同效果。 |
AUDIO_SCENARIO_CHORUS | (7):实时合唱场景,适用于网络良好且对超低延迟有要求的场景。 |
AUDIO_SCENARIO_MEETING | (8):会议场景。 |
AUDIO_SCENARIO_NUM | (11):枚举值数量。 |
REMOTE_AUDIO_STATE
远端音频状态。
枚举值
枚举值 | 描述 |
---|---|
REMOTE_AUDIO_STATE_STOPPED | (0):远端音频处于默认状态。当出现 REMOTE_AUDIO_REASON_LOCAL_MUTED(3) 、REMOTE_AUDIO_REASON_REMOTE_MUTED(5) 或 REMOTE_AUDIO_REASON_REMOTE_OFFLINE(7) 时,SDK 会报告该状态。 |
REMOTE_AUDIO_STATE_STARTING | (1):已接收到首个远端音频数据包。 |
REMOTE_AUDIO_STATE_DECODING | (2):远端音频流已解码并正常播放。当出现 REMOTE_AUDIO_REASON_NETWORK_RECOVERY(2) 、REMOTE_AUDIO_REASON_LOCAL_UNMUTED(4) 或 REMOTE_AUDIO_REASON_REMOTE_UNMUTED(6) 时,SDK 会报告该状态。 |
REMOTE_AUDIO_STATE_FROZEN | (3):远端音频卡顿。当出现 REMOTE_AUDIO_REASON_NETWORK_CONGESTION(1) 时,SDK 会报告该状态。 |
REMOTE_AUDIO_STATE_FAILED | (4):远端音频启动失败。当出现 REMOTE_AUDIO_REASON_INTERNAL(0) 时,SDK 会报告该状态。 |
REMOTE_AUDIO_STATE_REASON
远端音频状态变化的原因。
枚举值
枚举值 | 描述 |
---|---|
REMOTE_AUDIO_REASON_INTERNAL | (0):远端音频状态发生变化时,SDK 报告的默认原因。 |
REMOTE_AUDIO_REASON_NETWORK_CONGESTION | (1):由于网络拥塞导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_NETWORK_RECOVERY | (2):由于网络恢复导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_LOCAL_MUTED | (3):本地用户停止接收远端音频流或关闭音频模块,导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_LOCAL_UNMUTED | (4):本地用户恢复接收远端音频流或开启音频模块,导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_REMOTE_MUTED | (5):远端用户停止发送音频流或关闭音频模块,导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_REMOTE_UNMUTED | (6):远端用户恢复发送音频流或开启音频模块,导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_REMOTE_OFFLINE | (7):远端用户离开频道,导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_NO_PACKET_RECEIVE | (8):本地用户未收到远端用户的任何音频数据包,导致远端音频状态发生变化。 |
REMOTE_AUDIO_REASON_LOCAL_PLAY_FAILED | (9):本地用户收到远端音频数据包但播放失败,导致远端音频状态发生变化。 |
REMOTE_VIDEO_STATE
远端视频的状态。
枚举值
枚举值 | 描述 |
---|---|
REMOTE_VIDEO_STATE_STOPPED | (0):远端视频处于默认状态。当出现 REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED (3) 、REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED (5) 、REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE (7) 或 REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK (8) 时,SDK 会报告该状态。 |
REMOTE_VIDEO_STATE_STARTING | (1):已接收到首个远端视频包。 |
REMOTE_VIDEO_STATE_DECODING | (2):远端视频流已解码并正常播放。当出现 REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY (2) 、REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED (4) 、REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED (6) 或 REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY (9) 时,SDK 会报告该状态。 |
REMOTE_VIDEO_STATE_FROZEN | (3):远端视频卡顿,可能由于 REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION (1) 。 |
REMOTE_VIDEO_STATE_FAILED | (4):远端视频启动失败。当出现 REMOTE_VIDEO_STATE_REASON_INTERNAL (0) 时,SDK 会报告该状态。 |
REMOTE_VIDEO_STATE_REASON
远端视频状态变化的原因。
枚举值
枚举值 | 描述 |
---|---|
REMOTE_VIDEO_STATE_REASON_INTERNAL | (0):远端视频状态发生变化时,SDK 上报该原因。 |
REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION | (1):网络拥塞导致远端视频状态变化。 |
REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY | (2):网络恢复导致远端视频状态变化。 |
REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED | (3):本地用户停止接收远端视频流或关闭视频模块。 |
REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED | (4):本地用户恢复接收远端视频流或开启视频模块。 |
REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED | (5):远端用户停止发送视频流或关闭视频模块。 |
REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED | (6):远端用户恢复发送视频流或开启视频模块。 |
REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE | (7):远端用户离开频道。 |
REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK | (8):由于网络条件差,远端音视频流降级为纯音频流。 |
REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY | (9):网络条件改善后,远端纯音频流恢复为音视频流。 |
REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT | (13):远端视频流的编码格式不被解码器支持。 |
CONNECTION_CHANGED_REASON_TYPE
连接状态变化的原因。
枚举值
枚举值 | 描述 |
---|---|
CONNECTION_CHANGED_CONNECTING | (0):SDK 正在连接服务器。 |
CONNECTION_CHANGED_JOIN_SUCCESS | (1):SDK 成功加入频道。 |
CONNECTION_CHANGED_INTERRUPTED | (2):SDK 与服务器的连接中断。 |
CONNECTION_CHANGED_BANNED_BY_SERVER | (3):SDK 与服务器的连接被服务器禁止,通常发生在用户被踢出频道时。 |
CONNECTION_CHANGED_JOIN_FAILED | (4):SDK 加入频道失败。若超过 20 分钟未成功加入频道,将触发该错误并停止重连。 |
CONNECTION_CHANGED_LEAVE_CHANNEL | (5):SDK 已离开频道。 |
CONNECTION_CHANGED_INVALID_APP_ID | (6):连接失败, 无效。 |
CONNECTION_CHANGED_INVALID_CHANNEL_NAME | (7):连接失败,频道名无效。请使用有效的频道名重新加入。 |
CONNECTION_CHANGED_INVALID_TOKEN | (8):连接失败, 无效。常见原因包括:项目在声网控制台启用了 ,但加入频道时未使用 ;调用 joinChannel 时指定的 uid 与生成 时传入的 uid 不一致。 |
CONNECTION_CHANGED_TOKEN_EXPIRED | (9):连接失败, 已过期。 |
CONNECTION_CHANGED_REJECTED_BY_SERVER | (10):连接被服务器拒绝。常见原因包括:Recoder 对象已在频道中仍调用 joinChannel 再次加入;或在通话前测试期间尝试加入频道,需在测试结束后再加入。 |
CONNECTION_CHANGED_SETTING_PROXY_SERVER | (11):由于设置了代理服务器,连接状态变为重连中。 |
CONNECTION_CHANGED_RENEW_TOKEN | (12):由于 被更新,连接状态发生变化。 |
CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED | (13):客户端 IP 地址发生变化,可能由于网络类型、IP 或端口变化导致。 |
CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT | (14):与声网边缘服务器的连接保活超时,连接状态变为 CONNECTION_STATE_RECONNECTING 。 |
CONNECTION_CHANGED_REJOIN_SUCCESS | (15):SDK 成功重新加入频道。 |
CONNECTION_CHANGED_LOST | (16):SDK 与服务器的连接已丢失。 |
CONNECTION_CHANGED_ECHO_TEST | (17):连接状态变化由回声测试引起。 |
CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER | (18):本地 IP 地址被更改。 |
CONNECTION_CHANGED_SAME_UID_LOGIN | (19):在另一设备上使用相同 uid 加入同一频道,导致连接失败。 |
CONNECTION_CHANGED_TOO_MANY_BROADCASTERS | (20):频道中主播数量过多,连接失败。 |
CONNECTION_CHANGED_LICENSE_VALIDATION_FAILURE | (21):许可证验证失败,连接失败。 |
CONNECTION_CHANGED_CERTIFICATION_VERYFY_FAILURE | (22):证书验证失败,连接失败。 |
CONNECTION_CHANGED_STREAM_CHANNEL_NOT_AVAILABLE | (23):未授予流通道权限,连接失败。 |
CONNECTION_CHANGED_INCONSISTENT_APPID | (24):加入频道时使用了不一致的 ,连接失败。 |
AREA_CODE
连接区域。
枚举值
枚举值 | 描述 |
---|---|
AREA_CODE_CN | (0x00000001):中国大陆。 |
AREA_CODE_NA | (0x00000002):北美地区。 |
AREA_CODE_EU | (0x00000004):欧洲地区。 |
AREA_CODE_AS | (0x00000008):亚洲(不含中国大陆)。 |
AREA_CODE_JP | (0x00000010):日本。 |
AREA_CODE_IN | (0x00000020):印度。 |
AREA_CODE_GLOB | (0xFFFFFFFF):(默认)全球。 |
ENCRYPTION_MODE
内置加密模式。
声网推荐使用 AES_128_GCM2
或 AES_256_GCM2
加密模式。这两种模式支持使用 salt,以提供更高的安全性。
枚举值
枚举值 | 描述 |
---|---|
AES_128_XTS | (1):128 位 AES 加密,XTS 模式。 |
AES_128_ECB | (2):128 位 AES 加密,ECB 模式。 |
AES_256_XTS | (3):256 位 AES 加密,XTS 模式。 |
SM4_128_ECB | (4):128 位 SM4 加密,ECB 模式。 |
AES_128_GCM | (5):128 位 AES 加密,GCM 模式。 |
AES_256_GCM | (6):256 位 AES 加密,GCM 模式。 |
AES_128_GCM2 | (7):(默认)128 位 AES 加密,GCM 模式。该模式需设置 salt(encryptionKdfSalt )。 |
AES_256_GCM2 | (8):256 位 AES 加密,GCM 模式。该模式需设置 salt(encryptionKdfSalt )。 |
MODE_END | (9):枚举结束标志。 |
ENCRYPTION_ERROR_TYPE
加密错误类型。
枚举值
枚举值 | 描述 |
---|---|
ENCRYPTION_ERROR_INTERNAL_FAILURE | (0):因内部原因导致的加密错误。 |
ENCRYPTION_ERROR_DECRYPTION_FAILURE | (1):媒体流解密失败。请确保接收端和发送端使用相同的加密模式和密钥。 |
ENCRYPTION_ERROR_ENCRYPTION_FAILURE | (2):媒体流加密失败。 |
ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE | (3):数据流解密失败。请确保接收端和发送端使用相同的加密模式和密钥。 |
ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE | (4):数据流加密失败。 |
LOCAL_PROXY_MODE
本地代理模式类型。
枚举值
枚举值 | 描述 |
---|---|
ConnectivityFirst | (0):优先连接本地代理,若连接失败,则回退至 SD-RTN™。 |
LocalOnly | (1):仅连接本地代理。 |
VIDEO_SOURCE_TYPE
视频源类型。
枚举值
枚举值 | 描述 |
---|---|
VIDEO_SOURCE_CAMERA_PRIMARY | (0):主摄像头采集的视频。 |
VIDEO_SOURCE_CAMERA_SECONDARY | (1):第二路摄像头采集的视频。 |
VIDEO_SOURCE_SCREEN_PRIMARY | (2):主屏幕共享的视频。 |
VIDEO_SOURCE_SCREEN_SECONDARY | (3):第二路屏幕共享的视频。 |
VIDEO_SOURCE_CUSTOM | (4):自定义视频源。 |
VIDEO_SOURCE_MEDIA_PLAYER | (5):媒体播放器共享的视频。 |
VIDEO_SOURCE_RTC_IMAGE_PNG | (6):PNG 图像生成的视频。 |
VIDEO_SOURCE_RTC_IMAGE_JPEG | (7):JPEG 图像生成的视频。 |
VIDEO_SOURCE_RTC_IMAGE_GIF | (8):GIF 图像生成的视频。 |
VIDEO_SOURCE_REMOTE | (9):接收的远端视频。 |
VIDEO_SOURCE_TRANSCODED | (10):用于本地合图的视频。 |
VIDEO_SOURCE_CAMERA_THIRD | (11):第三路摄像头采集的视频。 |
VIDEO_SOURCE_CAMERA_FOURTH | (12):第四路摄像头采集的视频。 |
VIDEO_SOURCE_SCREEN_THIRD | (13):第三路屏幕共享的视频。 |
VIDEO_SOURCE_SCREEN_FOURTH | (14):第四路屏幕共享的视频。 |
VIDEO_SOURCE_SPEECH_DRIVEN | (15):语音驱动生成的视频。 |
VIDEO_SOURCE_UNKNOWN | (100):未知类型的视频源。 |
MediaRecorderContainerFormat
录制文件的格式。
枚举值
枚举值 | 描述 |
---|---|
FORMAT_MP4 | (1):(默认)MP4 格式。 |
MediaRecorderStreamType
录制内容。
枚举值
枚举值 | 描述 |
---|---|
STREAM_TYPE_AUDIO | (0x01):仅录制音频。 |
STREAM_TYPE_VIDEO | (0x02):仅录制视频。 |
STREAM_TYPE_BOTH | (0x03):录制音频和视频(默认)。 |
RecorderState
当前录制状态。
枚举值
枚举值 | 描述 |
---|---|
RECORDER_STATE_ERROR | (-1):录制过程中发生错误。详见 RecorderReasonCode 。 |
RECORDER_STATE_START | (2):音视频录制已开始。 |
RECORDER_STATE_STOP | (3):音视频录制已停止。 |
RecorderReasonCode
状态变更的原因。
枚举值
枚举值 | 描述 |
---|---|
RECORDER_REASON_NONE | (0):无错误发生。 |
RECORDER_REASON_WRITE_FAILED | (1):无法将录制的数据写入文件。 |
RECORDER_REASON_NO_STREAM | (2):未检测到可录制的音视频流,或录制过程中音视频流中断超过 5 秒。 |
RECORDER_REASON_OVER_MAX_DURATION | (3):录制时长超过上限。 |
RECORDER_REASON_CONFIG_CHANGED | (4):录制配置发生变更。 |
LOG_LEVEL
日志级别。
枚举值
枚举值 | 描述 |
---|---|
LOG_LEVEL_NONE | (0x0000):不输出任何日志。 |
LOG_LEVEL_INFO | (0x0001):输出 INFO 级别日志。 |
LOG_LEVEL_WARN | (0x0002):输出 WARNING 级别日志。 |
LOG_LEVEL_ERROR | (0x0004):输出 ERROR 级别日志。 |
LOG_LEVEL_FATAL | (0x0008):输出 FATAL 级别日志。 |
LOG_LEVEL_API_CALL | (0x0010):输出 API 调用级别日志。 |
LOG_LEVEL_DEBUG | (0x0020):输出 INFO、WARNING、ERROR 和 FATAL 级别日志。 |