agora::linuxsdk 命名空间参考

  • C++

更新时间不可用

类型定义说明

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

用户加入频道信息。

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 视频文件格式。

  • 单流模式(isMixingEnabled 为 false)下,录制得到多个 MP4 或 WebM 视频文件,并截图获得多个 JPG 文件。
  • 合流模式 (isMixingEnabled 为 true)下,对合流录制,得到一个 MP4 或 WebM 视频文件,并对各单流截图,获得多个 JPG 文件。
表格内容超出当前宽度,可横向滚动查看更多列。

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

存储方式。

枚举值

STACK_MEM_TYPE

0:栈。

HEAP_MEM_TYPE

1:堆。
表格内容超出当前宽度,可横向滚动查看更多列。

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

编程语言。

枚举值

CPP_LANG

0:(默认)CPP。

JAVA_LANG

1:Java。
表格内容超出当前宽度,可横向滚动查看更多列。

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 格式的音频文件。

注解

录制 TS 格式的视频文件,当出现崩溃时,已录制的文件仍然可以播放。

AV_CODEC_INDIVIDUAL_TS_AND_MP4

5: 单流录制模式下,同时生成 TS 和 MP4 格式的视频文件,AAC 格式的音频文件。

注解

  • 如果出现崩溃,已经录制的 MP4 文件从 TS 文件恢复。
  • 录制结束后,SDK 将删除 TS 文件。

AV_CODEC_MIXED_TS_ONLY

6: 合流录制模式下音频和视频混合成一个文件,仅生成 TS 格式文件。

注解

录制 TS 格式的视频文件,当出现崩溃时,已录制的文件仍然可以播放。

AV_CODEC_MIXED_TS_AND_MP4

7: 合流录制模式下音频和视频混合成一个文件,同时生成 MP4 和 TS 格式文件。

注解

  • 如果出现崩溃,已经录制的 MP4 文件从 TS 文件恢复。
  • 录制结束后,SDK 将删除 TS 文件。
表格内容超出当前宽度,可横向滚动查看更多列。

ClientRoleType

直播场景里的用户角色。

枚举值

CLIENT_ROLE_BROADCASTER

直播场景里的主播。

CLIENT_ROLE_AUDIENCE

直播场景里的观众。
表格内容超出当前宽度,可横向滚动查看更多列。

ConnectionStateType

网络连接状态。

枚举值

CONNECTION_STATE_DISCONNECTED

1:网络连接断开。

该状态表示 SDK 处于:

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

图片水印。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?