Talk SDK for UnrealEngine4 状态码
本页以 UE4_25/UE4_26 插件的 YouMeTalkDefine.h 为准。EYouMeErrorCode 和 EYouMeRTCServerRegion 是 uint8 独立枚举;原生 SDK 经转换后才返回插件,不能拿原生负错误码或 10000/10001 区域值直接比较插件结果。
EYouMeEvent类型定义
原生音量事件将数值放在 error 字段,但当前插件将该字段映射为 EYouMeErrorCode,不能据此读取原始音量。
| 枚举常量 | 值 | 含义 |
|---|---|---|
EYouMeEvent::YOUME_EVENT_INIT_OK | 0 | SDK初始化成功 |
EYouMeEvent::YOUME_EVENT_INIT_FAILED | 1 | SDK初始化失败 |
EYouMeEvent::YOUME_EVENT_JOIN_OK | 2 | 进入语音频道成功 |
EYouMeEvent::YOUME_EVENT_JOIN_FAILED | 3 | 进入语音频道失败 |
EYouMeEvent::YOUME_EVENT_LEAVED_ONE | 4 | 退出单个语音频道完成 |
EYouMeEvent::YOUME_EVENT_LEAVED_ALL | 5 | 退出所有语音频道完成 |
EYouMeEvent::YOUME_EVENT_PAUSED | 6 | 暂停语音频道完成 |
EYouMeEvent::YOUME_EVENT_RESUMED | 7 | 恢复语音频道完成 |
EYouMeEvent::YOUME_EVENT_SPEAK_SUCCESS | 8 | 切换对指定频道讲话成功(适用于多频道模式) |
EYouMeEvent::YOUME_EVENT_SPEAK_FAILED | 9 | 切换对指定频道讲话失败(适用于多频道模式) |
EYouMeEvent::YOUME_EVENT_RECONNECTING | 10 | 断网了,正在重连 |
EYouMeEvent::YOUME_EVENT_RECONNECTED | 11 | 断网重连成功 |
EYouMeEvent::YOUME_EVENT_REC_PERMISSION_STATUS | 12 | 通知录音权限状态,成功获取权限时错误码为YOUME_SUCCESS,获取失败为YOUME_ERROR_REC_NO_PERMISSION(此时不管麦克风mute状态如何,都没有声音输出) |
EYouMeEvent::YOUME_EVENT_BGM_STOPPED | 13 | 通知战歌播放结束 |
EYouMeEvent::YOUME_EVENT_BGM_FAILED | 14 | 通知战歌播放失败 |
EYouMeEvent::YOUME_EVENT_OTHERS_MIC_ON | 16 | 其他用户麦克风打开 |
EYouMeEvent::YOUME_EVENT_OTHERS_MIC_OFF | 17 | 其他用户麦克风关闭 |
EYouMeEvent::YOUME_EVENT_OTHERS_SPEAKER_ON | 18 | 其他用户扬声器打开 |
EYouMeEvent::YOUME_EVENT_OTHERS_SPEAKER_OFF | 19 | 其他用户扬声器关闭 |
EYouMeEvent::YOUME_EVENT_OTHERS_VOICE_ON | 20 | 其他用户进入讲话状态 |
EYouMeEvent::YOUME_EVENT_OTHERS_VOICE_OFF | 21 | 其他用户进入静默状态 |
EYouMeEvent::YOUME_EVENT_MY_MIC_LEVEL | 22 | 麦克风的语音级别 |
EYouMeEvent::YOUME_EVENT_MIC_CTR_ON | 23 | 麦克风被其他用户打开 |
EYouMeEvent::YOUME_EVENT_MIC_CTR_OFF | 24 | 麦克风被其他用户关闭 |
EYouMeEvent::YOUME_EVENT_SPEAKER_CTR_ON | 25 | 扬声器被其他用户打开 |
EYouMeEvent::YOUME_EVENT_SPEAKER_CTR_OFF | 26 | 扬声器被其他用户关闭 |
EYouMeEvent::YOUME_EVENT_LISTEN_OTHER_ON | 27 | 取消屏蔽某人语音 |
EYouMeEvent::YOUME_EVENT_LISTEN_OTHER_OFF | 28 | 屏蔽某人语音 |
EYouMeEvent::YOUME_EVENT_LOCAL_MIC_ON | 29 | 自己的麦克风打开 |
EYouMeEvent::YOUME_EVENT_LOCAL_MIC_OFF | 30 | 自己的麦克风关闭 |
EYouMeEvent::YOUME_EVENT_LOCAL_SPEAKER_ON | 31 | 自己的扬声器打开 |
EYouMeEvent::YOUME_EVENT_LOCAL_SPEAKER_OFF | 32 | 自己的扬声器关闭 |
EYouMeEvent::YOUME_EVENT_GRABMIC_START_OK | 33 | 发起抢麦活动成功 |
EYouMeEvent::YOUME_EVENT_GRABMIC_START_FAILED | 34 | 发起抢麦活动失败 |
EYouMeEvent::YOUME_EVENT_GRABMIC_STOP_OK | 35 | 停止抢麦活动成功 |
EYouMeEvent::YOUME_EVENT_GRABMIC_STOP_FAILED | 36 | 停止抢麦活动失败 |
EYouMeEvent::YOUME_EVENT_GRABMIC_REQUEST_OK | 37 | 抢麦成功(可以说话) |
EYouMeEvent::YOUME_EVENT_GRABMIC_REQUEST_FAILED | 38 | 抢麦失败 |
EYouMeEvent::YOUME_EVENT_GRABMIC_REQUEST_WAIT | 39 | 进入抢麦等待队列(仅权重模式下会回调此事件) |
EYouMeEvent::YOUME_EVENT_GRABMIC_RELEASE_OK | 40 | 释放麦成功 |
EYouMeEvent::YOUME_EVENT_GRABMIC_RELEASE_FAILED | 41 | 释放麦失败 |
EYouMeEvent::YOUME_EVENT_GRABMIC_ENDMIC | 42 | 不再占用麦(到麦使用时间或者其他原因) |
EYouMeEvent::YOUME_EVENT_GRABMIC_NOTIFY_START | 43 | [通知]抢麦活动开始 |
EYouMeEvent::YOUME_EVENT_GRABMIC_NOTIFY_STOP | 44 | [通知]抢麦活动结束 |
EYouMeEvent::YOUME_EVENT_GRABMIC_NOTIFY_HASMIC | 45 | [通知]有麦可以抢 |
EYouMeEvent::YOUME_EVENT_GRABMIC_NOTIFY_NOMIC | 46 | [通知]没有麦可以抢 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_SETOPT_OK | 47 | 连麦设置成功 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_SETOPT_FAILED | 48 | 连麦设置失败 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_REQUEST_OK | 49 | 请求连麦成功(连上了,需等待对方回应) |
EYouMeEvent::YOUME_EVENT_INVITEMIC_REQUEST_FAILED | 50 | 请求连麦失败 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_RESPONSE_OK | 51 | 响应连麦成功(被叫方无论同意/拒绝都会收到此事件,错误码是YOUME_ERROR_INVITEMIC_REJECT表示拒绝) |
EYouMeEvent::YOUME_EVENT_INVITEMIC_RESPONSE_FAILED | 52 | 响应连麦失败 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_STOP_OK | 53 | 停止连麦成功 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_STOP_FAILED | 54 | 停止连麦失败 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_CAN_TALK | 55 | 双方可以通话了(响应方已经同意) |
EYouMeEvent::YOUME_EVENT_INVITEMIC_CANNOT_TALK | 56 | 双方不可以再通话了(有一方结束了连麦或者连麦时间到) |
EYouMeEvent::YOUME_EVENT_INVITEMIC_NOTIFY_CALL | 57 | [通知]有人请求与你连麦 |
EYouMeEvent::YOUME_EVENT_INVITEMIC_NOTIFY_ANSWER | 58 | [通知]对方对你的连麦请求作出了响应(同意/拒绝/超时,同意的话双方就可以通话了) |
EYouMeEvent::YOUME_EVENT_INVITEMIC_NOTIFY_CANCEL | 59 | [通知]连麦过程中,对方结束了连麦或者连麦时间到 |
EYouMeEvent::YOUME_EVENT_SEND_MESSAGE_RESULT | 60 | sendMessage成功与否的通知,param为回传的requestID |
EYouMeEvent::YOUME_EVENT_MESSAGE_NOTIFY | 61 | 收到Message, param为message内容 |
EYouMeEvent::YOUME_EVENT_SET_WHITE_USER_LIST_OK | 62 | 对指定频道设置白名单成功,但可能有异常用户 |
EYouMeEvent::YOUME_EVENT_SET_WHITE_USER_LIST_FAILED | 63 | 对指定频道设置白名单失败 |
EYouMeEvent::YOUME_EVENT_KICK_RESULT | 64 | 踢人的应答 |
EYouMeEvent::YOUME_EVENT_KICK_NOTIFY | 65 | 被踢通知 ,param: (踢人者ID,被踢原因,被禁时间) |
EYouMeEvent::YOUME_EVENT_FAREND_VOICE_LEVEL | 66 | 远端说话人音量大小 |
EYouMeEvent::YOUME_EVENT_OTHERS_BE_KICKED | 67 | 房间里其他人被踢出房间 |
EYouMeEvent::YOUME_EVENT_EFFECT_PLAY_COMPLETE | 71 | 音效播放完成 |
EYouMeEvent::YOUME_EVENT_SWITCH_OUTPUT | 75 | 切换扬声器/听筒 |
EYouMeEvent::YOUME_EVENT_CHECK_DEVICE_MUTE_RESULT | 76 | 获取设备是否禁音的回调,errcode为1表示静音了,为0表示没禁音 |
EYouMeEvent::YOUME_EVENT_EOF | 76 | 插件枚举结束标记;与设备静音检测事件同值,见下文说明 |
EYouMeErrorCode类型定义
| 枚举常量 | 值 | 含义 |
|---|---|---|
EYouMeErrorCode::YOUME_SUCCESS | 0 | 成功 |
EYouMeErrorCode::YOUME_ERROR_API_NOT_SUPPORTED | 1 | 正在使用的SDK不支持特定的API |
EYouMeErrorCode::YOUME_ERROR_INVALID_PARAM | 2 | 传入参数错误 |
EYouMeErrorCode::YOUME_ERROR_ALREADY_INIT | 3 | 已经初始化 |
EYouMeErrorCode::YOUME_ERROR_NOT_INIT | 4 | 还没有初始化,在调用某函数之前要先调用初始化并且要根据返回值确保初始化成功 |
EYouMeErrorCode::YOUME_ERROR_CHANNEL_EXIST | 5 | 要加入的频道已经存在 |
EYouMeErrorCode::YOUME_ERROR_CHANNEL_NOT_EXIST | 6 | 对频道进入(检查参数为true时)、退出、讲话、设置白名单、抢麦等接口时频道不存在 |
EYouMeErrorCode::YOUME_ERROR_WRONG_STATE | 7 | 状态错误 |
EYouMeErrorCode::YOUME_ERROR_NOT_ALLOWED_MOBILE_NETWROK | 8 | 不允许使用移动网络 |
EYouMeErrorCode::YOUME_ERROR_WRONG_CHANNEL_MODE | 9 | 在单频道模式下调用了多频道接口,或者反之 |
EYouMeErrorCode::YOUME_ERROR_TOO_MANY_CHANNELS | 10 | 同时加入了太多频道 |
EYouMeErrorCode::YOUME_ERROR_TOKEN_ERROR | 11 | 传入的token认证错误 |
EYouMeErrorCode::YOUME_ERROR_NOT_IN_CHANNEL | 12 | 用户不在该频道 |
EYouMeErrorCode::YOUME_ERROR_BE_KICK | 13 | 被踢了,还在禁止时间内,不允许进入房间 |
EYouMeErrorCode::YOUME_ERROR_MEMORY_OUT | 14 | 内存错误 |
EYouMeErrorCode::YOUME_ERROR_START_FAILED | 15 | 启动引擎失败 |
EYouMeErrorCode::YOUME_ERROR_STOP_FAILED | 16 | 停止引擎失败 |
EYouMeErrorCode::YOUME_ERROR_ILLEGAL_SDK | 17 | 非法使用SDK |
EYouMeErrorCode::YOUME_ERROR_SERVER_INVALID | 18 | 语音服务不可用 |
EYouMeErrorCode::YOUME_ERROR_NETWORK_ERROR | 19 | 网络错误 |
EYouMeErrorCode::YOUME_ERROR_SERVER_INTER_ERROR | 20 | 服务器内部错误 |
EYouMeErrorCode::YOUME_ERROR_QUERY_RESTAPI_FAIL | 21 | 请求RestApi信息失败了 |
EYouMeErrorCode::YOUME_ERROR_USER_ABORT | 22 | 用户请求中断当前操作 |
EYouMeErrorCode::YOUME_ERROR_SEND_MESSAGE_FAIL | 23 | 发送消息失败 |
EYouMeErrorCode::YOUME_ERROR_REC_INIT_FAILED | 24 | 录音模块初始化失败 |
EYouMeErrorCode::YOUME_ERROR_REC_NO_PERMISSION | 25 | 没有录音权限 |
EYouMeErrorCode::YOUME_ERROR_REC_NO_DATA | 26 | 虽然初始化成功,但没有音频数据输出,比如oppo系列手机在录音权限被禁止的时候 |
EYouMeErrorCode::YOUME_ERROR_REC_OTHERS | 27 | 其他录音模块的错误 |
EYouMeErrorCode::YOUME_ERROR_REC_PERMISSION_UNDEFINED | 28 | 录音权限未确定,iOS显示是否允许录音权限对话框时,返回的是这个错误码 |
EYouMeErrorCode::YOUME_ERROR_GRABMIC_FULL | 29 | 抢麦失败,人数满 |
EYouMeErrorCode::YOUME_ERROR_GRABMIC_HASEND | 30 | 抢麦失败,活动已经结束 |
EYouMeErrorCode::YOUME_ERROR_INVITEMIC_NOUSER | 31 | 连麦失败,用户不存在 |
EYouMeErrorCode::YOUME_ERROR_INVITEMIC_OFFLINE | 32 | 连麦失败,用户已离线 |
EYouMeErrorCode::YOUME_ERROR_INVITEMIC_REJECT | 33 | 连麦失败,用户拒绝 |
EYouMeErrorCode::YOUME_ERROR_INVITEMIC_TIMEOUT | 34 | 连麦失败,两种情况:1.连麦时,对方超时无应答 2.通话中,双方通话时间到 |
EYouMeErrorCode::YOUME_ERROR_WHITE_SOMEUSER_ABNORMAL | 35 | 设置白名单部分用户异常:已不在房间 |
EYouMeErrorCode::YOUME_ERROR_MAGICVOICE_EXPIRED | 36 | 变声音效已过期 |
EYouMeErrorCode::YOUME_ERROR_UNKNOWN | 37 | 未知错误 |
EYouMeRTCServerRegion类型定义
| 枚举常量 | 值 | 含义 |
|---|---|---|
EYouMeRTCServerRegion::RTC_CN_SERVER | 0 | 中国 |
EYouMeRTCServerRegion::RTC_HK_SERVER | 1 | 香港 |
EYouMeRTCServerRegion::RTC_US_SERVER | 2 | 美国东部 |
EYouMeRTCServerRegion::RTC_SG_SERVER | 3 | 新加坡 |
EYouMeRTCServerRegion::RTC_KR_SERVER | 4 | 韩国 |
EYouMeRTCServerRegion::RTC_AU_SERVER | 5 | 澳洲 |
EYouMeRTCServerRegion::RTC_DE_SERVER | 6 | 德国 |
EYouMeRTCServerRegion::RTC_BR_SERVER | 7 | 巴西 |
EYouMeRTCServerRegion::RTC_IN_SERVER | 8 | 印度 |
EYouMeRTCServerRegion::RTC_JP_SERVER | 9 | 日本 |
EYouMeRTCServerRegion::RTC_IE_SERVER | 10 | 爱尔兰 |
EYouMeRTCServerRegion::RTC_USW_SERVER | 11 | 美国西部 |
EYouMeRTCServerRegion::RTC_USM_SERVER | 12 | 美国中部 |
EYouMeRTCServerRegion::RTC_CA_SERVER | 13 | 加拿大 |
EYouMeRTCServerRegion::RTC_LON_SERVER | 14 | 伦敦 |
EYouMeRTCServerRegion::RTC_FRA_SERVER | 15 | 法兰克福 |
EYouMeRTCServerRegion::RTC_DXB_SERVER | 16 | 迪拜 |
EYouMeRTCServerRegion::RTC_EXT_SERVER | 17 | 使用扩展服务器 |
EYouMeRTCServerRegion::RTC_DEFAULT_SERVER | 18 | 缺省服务器 |
EYouMeUserRole类型定义
| 枚举常量 | 值 | 含义 |
|---|---|---|
EYouMeUserRole::YOUME_USER_NONE | 0 | 非法用户,调用API时不能传此参数 |
EYouMeUserRole::YOUME_USER_TALKER_FREE | 1 | 自由讲话者,适用于小组通话(建议小组成员数最多10个),每个人都可以随时讲话, 同一个时刻只能在一个语音频道里面 |
EYouMeUserRole::YOUME_USER_TALKER_ON_DEMAND | 2 | 需要通过抢麦等请求麦克风权限之后才可以讲话,适用于较大的组或工会等(比如几十个人),同一个时刻只能有一个或几个人能讲话, 同一个时刻只能在一个语音频道里面 |
EYouMeUserRole::YOUME_USER_LISTENER | 3 | 听众,主播/指挥/嘉宾的听众,同一个时刻只能在一个语音频道里面,只听不讲 |
EYouMeUserRole::YOUME_USER_COMMANDER | 4 | 指挥,国家/帮派等的指挥官,同一个时刻只能在一个语音频道里面,可以随时讲话,可以播放战歌,戴耳机情况下可以监听自己语音 |
EYouMeUserRole::YOUME_USER_HOST | 5 | 主播,广播型语音频道的主持人,同一个时刻只能在一个语音频道里面,可以随时讲话,可以播放战歌,戴耳机情况下可以监听自己语音 |
EYouMeUserRole::YOUME_USER_GUSET | 6 | 嘉宾,主播或指挥邀请的连麦嘉宾,同一个时刻只能在一个语音频道里面, 可以随时讲话 |
EChannelAudioMode类型定义
| 枚举常量 | 值 | 含义 |
|---|---|---|
EChannelAudioMode::CHANNEL_AUDIO_MODE_CALL | 0 | 通话模式 |
EChannelAudioMode::CHANNEL_AUDIO_MODE_HQ_MUSIC | 1 | 高音质音乐模式 |
混响音效类型定义
setAudioEffectType / SetAudioEffectType 接收以下整数值。名称用于说明音效,调用时按本平台参数类型传数值。
| 类型 | 值 | 含义 |
|---|---|---|
| NONE | 0 | 无特殊混响 |
| CLARITY | 1 | 清晰模式 |
| POP | 2 | 流行模式 |
| HALL | 3 | 大厅模式 |
| DANCE | 4 | 舞曲模式 |
| ROOM | 5 | 房间模式 |
| COMPRESS | 6 | 压限均衡 |
原生整数参数说明
踢人原因等 int32 参数使用原生数值,与 EYouMeErrorCode 无关。插件未声明对应的 EYouMeKickReason,不能自行构造该类型。
YouMeKickReason类型定义
| 枚举常量 | 值 | 含义 |
|---|---|---|
YOUME_KICK_ADMIN | 1 | 管理员踢人 |
YOUME_KICK_RELOGIN | 2 | 多端登录被踢 |
插件事件转换与结束标记
当前 UE4_24/25/26 插件的事件和错误枚举定义一致。EYouMeEvent::YOUME_EVENT_EOF=76 与 YOUME_EVENT_CHECK_DEVICE_MUTE_RESULT=76 重值;事件转换器将未支持的原生事件转换为 EOF,因此不能仅凭值 76 确认收到了设备静音检测结果。该差异需要插件修正后才能消除。
插件未声明音频启动/设备插拔事件 72~74、角色变化 77、音频缓存上报 78、录音权限提示 79、频道黑名单及举报事件 80~83、数据通路 211/212、战歌通知 226/227 和数据服务断开事件 502 等核心事件;错误枚举也没有日志上传错误 -117~-120。未映射的原生错误会转换为 EYouMeErrorCode::YOUME_ERROR_UNKNOWN。按本页插件枚举处理回调,不能将核心 SDK 或 Unity 的新增枚举直接用于本插件。
