类 | |
class | AAudioDeviceManager |
class | AParameter |
struct | AudioVolumeInfo |
class | AVideoDeviceManager |
struct | BeautyOptions |
struct | CameraCapturerConfiguration |
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 | 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 |
类型定义 | |
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 |
变量 | |
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.
音乐文件播放状态。
枚举值 | |
---|---|
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 所对应的值。
视频编码的方向模式。
音视频流回退处理选项。
枚举值 | |
---|---|
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 的控制权限
const int agora::rtc::STANDARD_BITRATE = 0 |
setVideoEncoderConfiguration 的标准码率。
(推荐)标准码率模式。该模式下,视频在通信和直播模式下的码率有所不同:通信模式下,码率与基准码率一致;直播模式下,码率对照基准码率翻倍。
const int agora::rtc::COMPATIBLE_BITRATE = -1 |
setVideoEncoderConfiguration 的兼容码率。
适配码率模式。该模式下,视频在通信和直播模式下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值。
const int agora::rtc::DEFAULT_MIN_BITRATE = -1 |
使用系统默认最低编码码率。