agora::linuxsdk 命名空间参考
类型定义说明
uchar_t
typedef unsigned char agora::linuxsdk::uchar_t |
uint_t
typedef unsigned int agora::linuxsdk::uint_t |
uid_t
typedef unsigned int agora::linuxsdk::uid_t |
u64_t
typedef uint64_t agora::linuxsdk::u64_t |
VideoMixingLayout
视频合流布局的具体设置。
UserJoinInfos
typedef struct agora::linuxsdk::UserJoinInfos agora::linuxsdk::UserJoinInfos |
用户加入频道信息。
ERROR_CODE_TYPE
错误代码。
- 注解
- 使用 Recording SDK 的过程中,也可能收到 Native SDK 的错误代码,请参考 Agora Native/Web SDK 错误代码。
枚举键 | 描述 |
---|---|
ERR_OK | 0:没有错误。 |
ERR_FAILED | 1:一般性的错误(没有明确归类的错误原因)。 |
ERR_INVALID_ARGUMENT | 2:API 调用了无效的参数。例如指定的频道名含有非法字符。 |
ERR_INTERNAL_FAILED | 3:SDK 内部启动失败。 |
STAT_CODE_TYPE
状态代码。
枚举键 | 描述 |
---|---|
STAT_OK | 0:一切正常。 |
STAT_ERR_FROM_ENGINE | 1:Nativa SDK 产生的错误。详见 Agora Native/Web SDK 错误代码。 |
STAT_ERR_ARS_JOIN_CHANNEL | 2:加入频道失败。 |
STAT_ERR_CREATE_PROCESS | 3:创建进程失败。 |
STAT_ERR_MIXED_INVALID_VIDEO_PARAM | 4: 合流视频参数设置错误。请参考分辨率、帧率、码率对照表设置合流视频编码属性。 |
STAT_ERR_NULL_POINTER | 5:无效的指针。 |
STAT_ERR_PROXY_SERVER_INVALID_PARAM | 6:代理服务器参数无效。 |
STAT_POLL_ERR | 0x8:轮询出错。 |
STAT_POLL_HANG_UP | 0x10:轮询挂起。 |
STAT_POLL_NVAL | 0x20:轮询请求无效。 |
LEAVE_PATH_CODE
录制端离开频道的原因。将 LEAVE_PATH_CODE
与各枚举值逐一进行按位与运算,计算结果非零的,即为退出原因。例如,code 为 6
(二进制 110)时,将其与各枚举值逐一进行按位与计算,LEAVE_CODE_SIG
(二进制 10)与 LEAVE_CODE_NO_USERS
(二进制 100)的结果非零,则退出原因包括收到 SIGINT 信号以及录制超时。
枚举键 | 描述 |
---|---|
LEAVE_CODE_INIT | 0:初始化失败。 |
LEAVE_CODE_SIG | 2(二进制 10):AgoraCoreService 收到 SIGINT 信号而触发的退出。 |
LEAVE_CODE_NO_USERS | 4(二进制 100):频道内除录制端外没有其他用户,录制端自动离开频道。 |
LEAVE_CODE_TIMER_CATCH | 8(二进制 1000):可忽略。 |
LEAVE_CODE_CLIENT_LEAVE | 16(二进制 10000):录制端调用 leaveChannel 方法退出频道。 |
WARN_CODE_TYPE
警告代码。
- 注解
- 使用 Recording SDK 的过程中,也可能收到 Native SDK 的警告代码,请参考 Agora Native/Web SDK 警告代码。
枚举键 | 描述 |
---|---|
WARN_NO_AVAILABLE_CHANNEL | 103:没有可用的频道资源。可能是因为服务端没法分配频道资源。 |
WARN_LOOKUP_CHANNEL_TIMEOUT | 104:查找频道超时。在加入频道时 SDK 先要查找指定的频道,出现该警告一般是因为网络太差,连接不到服务器。 |
WARN_LOOKUP_CHANNEL_REJECTED | 105:查找频道请求被服务器拒绝。服务器可能没有办法处理这个请求或请求是非法的。 |
WARN_OPEN_CHANNEL_TIMEOUT | 106:打开频道超时。查找到指定频道后,SDK 接着打开该频道,超时一般是因为网络太差,连接不到服务器。 |
WARN_OPEN_CHANNEL_REJECTED | 107:打开频道请求被服务器拒绝。服务器可能没有办法处理该请求或该请求是非法的。 |
WARN_RECOVERY_CORE_SERVICE_FAILURE | 108:录制程序出现了异常错误(例如崩溃),录制 SDK 会重新恢复录制。 |
WARN_DECRYPTION_FAILED | 120: 错误的解密模式或解密密码。 |
CHANNEL_PROFILE_TYPE
频道模式。
- 注解
- 录制的频道模式必须和 Native SDK 或 Web SDK 设置的频道模式保持一致,否则可能导致问题。
枚举键 | 描述 |
---|---|
CHANNEL_PROFILE_COMMUNICATION | 0:(默认)通信,即常见的 1 对 1 单聊或群聊,频道内任何用户可以自由说话。 |
CHANNEL_PROFILE_LIVE_BROADCASTING | 1:直播,有两种用户角色:主播和观众。 |
USER_OFFLINE_REASON_TYPE
用户离开当前频道或掉线的原因。
枚举键 | 描述 |
---|---|
USER_OFFLINE_QUIT | 0:用户主动离开。 |
USER_OFFLINE_DROPPED | 1:因过长时间收不到对方数据包,超时掉线。注意:可能有误判。 |
USER_OFFLINE_BECOME_AUDIENCE | 2:用户身份从主播切换为观众时触发。该选项仅适用于当你在调用 joinChannel 时将频道模式设置为直播的场景。 |
REMOTE_VIDEO_STREAM_TYPE
选择视频流类型。仅在 Agora Native SDK 或 Web SDK 开启双流模式时有效。
枚举键 | 描述 |
---|---|
REMOTE_VIDEO_STREAM_HIGH | 0:(默认)大流。 |
REMOTE_VIDEO_STREAM_LOW | 1:小流。 |
VIDEO_FORMAT_TYPE
录制视频格式。
枚举键 | 描述 |
---|---|
VIDEO_FORMAT_DEFAULT_TYPE | 0:默认视频格式。基于你的 codec 设置,默认视频格式可能为 MP4 或 WebM。 |
VIDEO_FORMAT_H264_FRAME_TYPE | DEPRECATED 1:原始视频数据 H.264 帧格式。 |
VIDEO_FORMAT_ENCODED_FRAME_TYPE | 1: 原始视频数据 H.264 或 H.265 帧格式。如设置该格式,你可通过 videoFrameReceived 回调接收原始视频数据。 |
VIDEO_FORMAT_YUV_FRAME_TYPE | 2:原始视频数据 YUV 帧格式。如设置该格式,你可通过 videoFrameReceived 回调接收原始视频数据。 |
VIDEO_FORMAT_JPG_FRAME_TYPE | 3:原始视频数据 JPG 帧格式。如设置该格式,你可通过 videoFrameReceived 回调接收原始视频数据。 |
VIDEO_FORMAT_JPG_FILE_TYPE | 4:JPG 文件格式。 |
VIDEO_FORMAT_JPG_VIDEO_FILE_TYPE | 5:JPG 文件格式 + MP4 或 WebM 视频文件格式。
|
AUDIO_FORMAT_TYPE
录制音频格式。
枚举键 | 描述 |
---|---|
AUDIO_FORMAT_DEFAULT_TYPE | 0:默认音频格式,即 AAC 格式。 |
AUDIO_FORMAT_AAC_FRAME_TYPE | 1:原始音频数据 AAC 帧格式。如设置该格式,你可通过 audioFrameReceived 回调接收原始音频数据。 |
AUDIO_FORMAT_PCM_FRAME_TYPE | 2:原始音频数据 PCM 帧格式。如设置该格式,你可通过 audioFrameReceived 回调接收原始音频数据。 |
AUDIO_FORMAT_MIXED_PCM_FRAME_TYPE | 3:原始音频数据 PCM 帧混音格式。如设置该格式,你可通过 audioFrameReceived 回调接收原始音频数据。 |
AUDIO_FRAME_TYPE
原始音频数据格式。
枚举键 | 描述 |
---|---|
AUDIO_FRAME_RAW_PCM | 0:PCM 格式。 |
AUDIO_FRAME_AAC | 1:AAC 格式。 |
MEMORY_TYPE
VIDEO_FRAME_TYPE
视频数据格式。
枚举键 | 描述 |
---|---|
VIDEO_FRAME_RAW_YUV | 0:YUV 格式。 |
VIDEO_FRAME_H264 | 1:H.264 格式。 |
VIDEO_FRAME_JPG | 2:JPG 格式。 |
VIDEO_FRAME_H265 | 3:H.265 格式。 |
VIDEO_JPG_FILE | 4: JPG 文件格式。 |
SERVICE_MODE
枚举键 | 描述 |
---|---|
RECORDING_MODE | |
SERVER_MODE | |
IOT_MODE |
TRIGGER_MODE_TYPE
选择录制启动模式。
枚举键 | 描述 |
---|---|
AUTOMATICALLY_MODE | 0:(默认)自动模式。此模式下,录制端加入频道即开始录制,退出频道即停止录制。 |
MANUALLY_MODE | 1:手动模式。此模式下,可以调用 startService 和 stopService 方法灵活开始、暂停录制。 |
LANGUAGE_TYPE
AUDIO_PROFILE_TYPE
录制文件的音频编码配置。设置采样率,码率,编码模式和声道数。只在合流模式(isMixingEnabled 为 true)下生效。
枚举键 | 描述 |
---|---|
AUDIO_PROFILE_DEFAULT | (默认)音频默认设置,采样率 48 KHz,单声道,编码码率为 48 Kbps。 |
AUDIO_PROFILE_HIGH_QUALITY | 高音质模式,采样率 48 KHz,单声道,编码码率 128 Kbps。 |
AUDIO_PROFILE_HIGH_QUALITY_STEREO | 高音质立体声,采样率 48 KHz,双声道,编码码率 192 Kbps。 |
agora_log_level
Log 等级。日志等级顺序从低到高是:FATAL,ERROR,WARN,NOTICE,INFO,DEBUG。
枚举键 | 描述 |
---|---|
AGORA_LOG_LEVEL_FATAL | 1:日志等级为 Fatal。 |
AGORA_LOG_LEVEL_ERROR | 2:日志等级为 Error。 |
AGORA_LOG_LEVEL_WARN | 3:日志等级为 Warn。 |
AGORA_LOG_LEVEL_NOTICE | 4:日志等级为 Notice。 |
AGORA_LOG_LEVEL_INFO | 5:日志等级为 Info。 |
AGORA_LOG_LEVEL_DEBUG | 6:日志等级为 Debug。 |
RemoteStreamStateChangedReason
引起流状态发生变化的原因。
枚举键 | 描述 |
---|---|
REASON_REMOTE_STREAM_STARTED | 录制端成功拉取远端流。 |
REASON_REMOTE_STREAM_STOPPED | 录制端暂停拉取远端流。 |
RemoteStreamState
远端流状态。
枚举键 | 描述 |
---|---|
REMOTE_STREAM_STATE_RUNNING | 远端用户正常发流。 |
REMOTE_STREAM_STATE_STOPPED | 远端用户停止发流。 |
MIXED_AV_CODEC_TYPE
实时混合语音和视频。
详见录制文件的播放器支持。
枚举键 | 描述 |
---|---|
MIXED_AV_DEFAULT | 0: (默认)不混合音频和视频。 |
MIXED_AV_CODEC_V1 | 1: 音频和视频混合成一个文件,录制文件格式为 MP4,但播放器支持有限。 |
MIXED_AV_CODEC_V2 | 2: 音频和视频混合成一个文件,录制文件格式为 MP4,支持更多播放器。 |
AV_CODEC_INDIVIDUAL_TS_ONLY | 4: 单流录制模式下,生成 TS 格式的视频文件,和 AAC 格式的音频文件。
|
AV_CODEC_INDIVIDUAL_TS_AND_MP4 | 5: 单流录制模式下,同时生成 TS 和 MP4 格式的视频文件,AAC 格式的音频文件。
|
AV_CODEC_MIXED_TS_ONLY | 6: 合流录制模式下音频和视频混合成一个文件,仅生成 TS 格式文件。
|
AV_CODEC_MIXED_TS_AND_MP4 | 7: 合流录制模式下音频和视频混合成一个文件,同时生成 MP4 和 TS 格式文件。
|
ClientRoleType
直播场景里的用户角色。
枚举键 | 描述 |
---|---|
CLIENT_ROLE_BROADCASTER | 直播场景里的主播。 |
CLIENT_ROLE_AUDIENCE | 直播场景里的观众。 |
ConnectionStateType
网络连接状态。
枚举键 | 描述 |
---|---|
CONNECTION_STATE_DISCONNECTED | |
CONNECTION_STATE_CONNECTING | 2:建立网络连接中。 该状态表示 SDK 在调用 joinChannel 后正在与指定的频道建立连接。
|
CONNECTION_STATE_CONNECTED | 3:网络已连接。 该状态表示用户已经加入频道。 如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时应用程序会收到:
|
CONNECTION_STATE_RECONNECTING | 4:重新建立网络连接中。 该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。
|
CONNECTION_STATE_FAILED | 5:网络连接失败。 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则应用程序会收到 onConnectionStateChanged 回调,通知当前网络状态变成 CONNECTION_STATE_FAILED 。 该状态表示 SDK 已不再尝试重新加入频道,用户必须要调用 leaveChannel 离开频道。如果用户还想重新加入频道,则需要再次调用 joinChannel 。 |
ConnectionChangedReasonType
引起网络连接状态发生改变的原因。
枚举键 | 描述 |
---|---|
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:离开频道。 |
MAX_USER_ACCOUNT_LENGTH_TYPE
枚举键 | 描述 |
---|---|
MAX_USER_ACCOUNT_LENGTH |
WatermarkType
水印种类。
枚举键 | 描述 |
---|---|
WATERMARK_TYPE_LITERA | 文字水印。 |
WATERMARK_TYPE_TIMESTAMP | 时间戳水印。 |
WATERMARK_TYPE_IMAGE | 图片水印。 |