类 | |
class | AAudioDeviceManager |
class | AParameter |
struct | AudioVolumeInfo |
class | AVideoDeviceManager |
struct | BeautyOptions |
struct | CameraCapturerConfiguration |
struct | ChannelMediaInfo |
struct | ChannelMediaRelayConfiguration |
class | IAudioDeviceCollection |
class | IAudioDeviceManager |
class | IMetadataObserver |
struct | InjectStreamConfig |
class | IPacketObserver |
class | IRtcEngine |
class | IRtcEngineEventHandler |
class | IRtcEngineParameter |
class | IVideoDeviceCollection |
class | IVideoDeviceManager |
struct | LastmileProbeConfig |
struct | LastmileProbeOneWayResult |
struct | LastmileProbeResult |
struct | LiveTranscoding |
struct | LocalAudioStats |
struct | LocalVideoStats |
struct | PublisherConfiguration |
struct | Rect |
struct | Rectangle |
struct | RemoteAudioStats |
struct | RemoteVideoStats |
struct | RtcEngineContext |
class | RtcEngineParameters |
struct | RtcImage |
struct | RtcStats |
struct | ScreenCaptureParameters |
struct | TranscodingUser |
struct | VideoCanvas |
struct | VideoCompositingLayout |
struct | VideoDimensions |
struct | VideoEncoderConfiguration |
struct | WatermarkOptions |
类型定义 | |
typedef unsigned int | uid_t |
typedef void * | view_t |
typedef struct agora::rtc::TranscodingUser | TranscodingUser |
typedef struct agora::rtc::RtcImage | RtcImage |
typedef struct agora::rtc::LiveTranscoding | LiveTranscoding |
typedef struct agora::rtc::Rect | Rect |
typedef struct agora::rtc::WatermarkOptions | WatermarkOptions |
变量 | |
const int | STANDARD_BITRATE = 0 |
const int | COMPATIBLE_BITRATE = -1 |
const int | DEFAULT_MIN_BITRATE = -1 |
typedef unsigned int agora::rtc::uid_t |
typedef void* agora::rtc::view_t |
typedef struct agora::rtc::TranscodingUser agora::rtc::TranscodingUser |
TranscodingUser 用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。
typedef struct agora::rtc::RtcImage agora::rtc::RtcImage |
图像属性。
用于设置直播视频的水印和背景图片的属性。
typedef struct agora::rtc::LiveTranscoding agora::rtc::LiveTranscoding |
LiveTranscoding 定义。
typedef struct agora::rtc::Rect agora::rtc::Rect |
DEPRECATED Definition of the rectangular region.
typedef struct agora::rtc::WatermarkOptions agora::rtc::WatermarkOptions |
待添加的水印图片的设置选项。
音乐文件播放状态。
枚举值 | |
---|---|
AUDIO_MIXING_STATE_PLAYING | 音乐文件正常播放。 |
AUDIO_MIXING_STATE_PAUSED | 音乐文件暂停播放。 |
AUDIO_MIXING_STATE_STOPPED | 音乐文件停止播放。 |
AUDIO_MIXING_STATE_FAILED | 音乐文件报错。详见: AUDIO_MIXING_ERROR_TYPE 。 |
本地视频出错原因
本地音频出错原因
网络质量。
DEPRECATED 横屏模式视频属性。
音频属性。
设置采样率,码率,编码模式和声道数。
枚举值 | |
---|---|
AUDIO_PROFILE_DEFAULT | 0: 默认设置。通信场景下为 AUDIO_PROFILE_SPEECH_STANDARD ,直播场景下为 AUDIO_PROFILE_MUSIC_STANDARD 。 |
AUDIO_PROFILE_SPEECH_STANDARD | 1: 指定 32 kHz 采样率,语音编码, 单声道,编码码率最大值为 18 Kbps。 |
AUDIO_PROFILE_MUSIC_STANDARD | 2: 指定 48 kHz 采样率,音乐编码, 单声道,编码码率最大值为 48 Kbps。 |
AUDIO_PROFILE_MUSIC_STANDARD_STEREO | 3: 指定 48 kHz 采样率,音乐编码, 双声道,编码码率最大值为 56 Kbps。 |
AUDIO_PROFILE_MUSIC_HIGH_QUALITY | 4: 指定 48 kHz 采样率,音乐编码, 单声道,编码码率最大值为 128 Kbps。 |
AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO | 5: 指定 48 kHz 采样率,音乐编码, 双声道,编码码率最大值为 192 Kbps。 |
AUDIO_PROFILE_IOT | 6: 指定 16 kHz 采样率,语音编码, 单声道,应用回声消除算法 AES。 |
AUDIO_PROFILE_NUM |
设置音频应用场景。
频道模式。
枚举值 | |
---|---|
CHANNEL_PROFILE_COMMUNICATION | 0: 通信模式 (默认)。 用于常见的一对一或群聊,频道中的任何用户可以自由说话。 |
CHANNEL_PROFILE_LIVE_BROADCASTING | 1: 直播模式。 直播模式有主播和观众两种用户角色,可以通过调用 setClientRole 设置。主播可收发语音和视频,但观众只能收,不能发。 |
CHANNEL_PROFILE_GAME | 2: 游戏语音模式。
频道内任何用户可自由发言。该模式下默认使用低功耗低码率的编解码器。 |
推流状态
枚举值 | |
---|---|
RTMP_STREAM_PUBLISH_STATE_IDLE | 推流未开始或已结束。成功调用 removePublishStreamUrl 方法删除推流地址后,也会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_CONNECTING | 正在连接 Agora 推流服务器和 RTMP 服务器。调用 addPublishStreamUrl 方法后,会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_RUNNING | 推流正在进行。成功推流后,会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_RECOVERING | 正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。
|
RTMP_STREAM_PUBLISH_STATE_FAILURE | 推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以再次调用 addPublishStreamUrl 重新尝试推流。 |
推流错误信息
枚举值 | |
---|---|
RTMP_STREAM_PUBLISH_ERROR_OK | 推流成功 |
RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT | 参数无效。请检查输入参数是否正确。例如如果你在调用 addPublishStreamUrl 前没有调用 setLiveTranscoding 设置转码参数,SDK 会返回该错误。 |
RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED | 推流已加密,不能推流。 |
RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT | 推流超时未成功。可调用 addPublishStreamUrl 重新推流。 |
RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR | 推流服务器出现错误。请调用 addPublishStreamUrl 重新推流。 |
RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR | RTMP 服务器出现错误。 |
RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN | 推流请求过于频繁。 |
RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT | 单个主播的推流地址数目达到上线 10。请删掉一些不用的推流地址再增加推流地址。 |
RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED | 主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。 |
RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND | 服务器未找到这个流。 |
RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED | 推流地址格式有错误。请检查推流地址格式是否正确。 |
导入的外部视频源状态。
指定 onRecordAudioFrame 的使用模式。
枚举值 | |
---|---|
RAW_AUDIO_FRAME_OP_MODE_READ_ONLY | 0: 只读模式,用户仅从 AudioFrame 获取原始数据,不作任何修改。例如: 若用户通过 Agora SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。 |
RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY | 1: 只写模式,用户替换 AudioFrame 中的数据以供 SDK 编码传输。例如: 若用户自行采集数据,可选择该模式。 |
RAW_AUDIO_FRAME_OP_MODE_READ_WRITE | 2: 读写模式, 用户从 AudioFrame 获取并修改数据、修改,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 |
语音音效均衡波段的中心频率。
各混响音效 Key 所对应的值。
远端音频流状态
枚举值 | |
---|---|
REMOTE_AUDIO_STATE_STOPPED | 0: 远端音频流默认初始状态。在 REMOTE_AUDIO_REASON_LOCAL_MUTED (3)、 REMOTE_AUDIO_REASON_REMOTE_MUTED (5) 或 REMOTE_AUDIO_REASON_REMOTE_OFFLINE (7) 的情况下,会报告该状态。 |
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) 的情况下,会报告该状态。 |
REMOTE_AUDIO_STATE_FROZEN | 3: 远端音频流卡顿。在 REMOTE_AUDIO_REASON_NETWORK_CONGESTION (1) 的情况下,会报告该状态。 |
REMOTE_AUDIO_STATE_FAILED | 4: 远端音频流播放失败。在 REMOTE_AUDIO_REASON_INTERNAL (0) 的情况下,会报告该状态。 |
远端音频流状态改变的具体原因
远端视频流状态。
枚举值 | |
---|---|
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_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) 的情况下, 会报告该状态。 |
REMOTE_VIDEO_STATE_FROZEN | 3: 远端视频流卡顿。在 REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION (1) 或 REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK (8) 的情况下,会报告该状态。 |
REMOTE_VIDEO_STATE_FAILED | 4: 远端视频流播放失败。在 REMOTE_VIDEO_STATE_REASON_INTERNAL (0) 的情况下,会报告该状态。 |
远端视频流状态切换原因。
视频编码的方向模式。
音视频流回退处理选项。
枚举值 | |
---|---|
STREAM_FALLBACK_OPTION_DISABLED | 0: 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 |
STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW | 1: 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 setRemoteSubscribeFallbackOption 有效,对 setLocalPublishFallbackOption 方法无效。 |
STREAM_FALLBACK_OPTION_AUDIO_ONLY | 2: 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。 |
摄像头采集偏好。
枚举值 | |
---|---|
CAPTURER_OUTPUT_PREFERENCE_AUTO | (默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 |
CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE | 优先保证设备性能。SDK 根据用户在 setVideoEncoderConfiguration 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 |
CAPTURER_OUTPUT_PREFERENCE_PREVIEW | 优先保证视频预览质量。SDK选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 |
网络连接状态。
枚举值 | |
---|---|
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 已不再尝试重新加入频道,用户必须要调用 leaveChannel 离开频道。
|
引起网络连接状态发生改变的原因。
枚举值 | |
---|---|
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 和服务器连接保活超时,进入自动重连状态 CONNECTION_STATE_RECONNECTING(4)。 |
音频会话控制权限
Agora SDK 对 Audio Session 的控制权限
跨频道媒体流转发出错的错误码。
枚举值 | |
---|---|
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 已过期。 |
跨频道媒体流转发事件码。
const int agora::rtc::STANDARD_BITRATE = 0 |
setVideoEncoderConfiguration 的标准码率。
(推荐)标准码率模式。该模式下,视频在通信和直播模式下的码率有所不同:通信模式下,码率与基准码率一致;直播模式下,码率对照基准码率翻倍。
const int agora::rtc::COMPATIBLE_BITRATE = -1 |
setVideoEncoderConfiguration 的兼容码率。
适配码率模式。该模式下,视频在通信和直播模式下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值。
const int agora::rtc::DEFAULT_MIN_BITRATE = -1 |
使用系统默认最低编码码率。