类 | |
---|---|
class | AAudioDeviceManager |
class | AParameter |
struct | AudioVolumeInfo |
class | AVideoDeviceManager |
struct | BeautyOptions |
struct | CameraCapturerConfiguration |
struct | ChannelMediaInfo |
struct | ChannelMediaOptions |
struct | ChannelMediaRelayConfiguration |
struct | EncryptionConfig |
class | IAudioDeviceCollection |
class | IChannel |
class | IChannelEventHandler |
class | IMetadataObserver |
class | InjectStreamConfig |
class | IPacketObserver |
class | IRtcEngine |
class | IRtcEngine2 |
class | IRtcEngineEventHandler |
class | IRtcEngineParameter |
class | IVideoDeviceCollection |
class | IVideoDeviceManager |
struct | LastmileProbeConfig |
struct | LastmileProbeOneWayResult |
struct | LastmileProbeResult |
struct | LiveTranscoding |
struct | LocalAudioStats |
struct | LocalVideoStats |
struct | Rectangle |
struct | RemoteAudioStats |
struct | RemoteVideoStats |
struct | RtcEngineContext |
struct | RtcImage |
struct | RtcStats |
struct | ScreenCaptureParameters |
struct | TranscodingUser |
struct | VideoCanvas |
struct | VideoDimensions |
struct | VideoEncoderConfiguration |
struct | WatermarkOptions |
类型定义 | |
---|---|
typedef unsigned int | uid_t |
typedef void * | view_t |
typedef struct ar::rtc::TranscodingUser | TranscodingUser |
typedef struct ar::rtc::RtcImage | RtcImage |
typedef struct ar::rtc::LiveTranscoding | LiveTranscoding |
typedef struct ar::rtc::WatermarkOptions | WatermarkOptions |
枚举 | |
---|---|
enum | MAX_DEVICE_ID_LENGTH_TYPE { MAX_DEVICE_ID_LENGTH = 512 } |
enum | MAX_USER_ACCOUNT_LENGTH_TYPE { MAX_USER_ACCOUNT_LENGTH = 256 } |
enum | MAX_CHANNEL_ID_LENGTH_TYPE { MAX_CHANNEL_ID_LENGTH = 65 } |
enum | QUALITY_REPORT_FORMAT_TYPE { QUALITY_REPORT_JSON = 0, QUALITY_REPORT_HTML = 1 } |
enum | MEDIA_ENGINE_EVENT_CODE_TYPE { MEDIA_ENGINE_RECORDING_ERROR = 0, MEDIA_ENGINE_PLAYOUT_ERROR = 1, MEDIA_ENGINE_RECORDING_WARNING = 2, MEDIA_ENGINE_PLAYOUT_WARNING = 3, MEDIA_ENGINE_AUDIO_FILE_MIX_FINISH = 10, MEDIA_ENGINE_AUDIO_FAREND_MUSIC_BEGINS = 12, MEDIA_ENGINE_AUDIO_FAREND_MUSIC_ENDS = 13, MEDIA_ENGINE_LOCAL_AUDIO_RECORD_ENABLED = 14, MEDIA_ENGINE_LOCAL_AUDIO_RECORD_DISABLED = 15, MEDIA_ENGINE_ROLE_BROADCASTER_SOLO = 20, MEDIA_ENGINE_ROLE_BROADCASTER_INTERACTIVE = 21, MEDIA_ENGINE_ROLE_AUDIENCE = 22, MEDIA_ENGINE_ROLE_COMM_PEER = 23, MEDIA_ENGINE_ROLE_GAME_PEER = 24, MEDIA_ENGINE_AUDIO_ADM_REQUIRE_RESTART = 110, MEDIA_ENGINE_AUDIO_ADM_SPECIAL_RESTART = 111, MEDIA_ENGINE_AUDIO_EVENT_MIXING_PLAY = 710, MEDIA_ENGINE_AUDIO_EVENT_MIXING_PAUSED = 711, MEDIA_ENGINE_AUDIO_EVENT_MIXING_RESTART = 712, MEDIA_ENGINE_AUDIO_EVENT_MIXING_STOPPED = 713, MEDIA_ENGINE_AUDIO_EVENT_MIXING_ERROR = 714, MEDIA_ENGINE_AUDIO_ERROR_MIXING_OPEN = 701, MEDIA_ENGINE_AUDIO_ERROR_MIXING_TOO_FREQUENT= 702, MEDIA_ENGINE_AUDIO_ERROR_MIXING_INTERRUPTED_EOF = 703, MEDIA_ENGINE_AUDIO_ERROR_MIXING_NO_ERROR = 0 } |
enum | AUDIO_MIXING_STATE_TYPE { AUDIO_MIXING_STATE_PLAYING = 710, AUDIO_MIXING_STATE_PAUSED = 711, AUDIO_MIXING_STATE_STOPPED = 713, AUDIO_MIXING_STATE_FAILED = 714 } |
enum | AUDIO_MIXING_ERROR_TYPE { AUDIO_MIXING_ERROR_CAN_NOT_OPEN = 701, AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL = 702, AUDIO_MIXING_ERROR_INTERRUPTED_EOF = 703, AUDIO_MIXING_ERROR_OK = 0 } |
enum | MEDIA_DEVICE_STATE_TYPE { MEDIA_DEVICE_STATE_ACTIVE = 1, MEDIA_DEVICE_STATE_DISABLED = 2, MEDIA_DEVICE_STATE_NOT_PRESENT = 4, MEDIA_DEVICE_STATE_UNPLUGGED = 8 } |
enum | MEDIA_DEVICE_TYPE { UNKNOWN_AUDIO_DEVICE = -1, AUDIO_PLAYOUT_DEVICE = 0, AUDIO_RECORDING_DEVICE = 1, VIDEO_RENDER_DEVICE = 2, VIDEO_CAPTURE_DEVICE = 3, AUDIO_APPLICATION_PLAYOUT_DEVICE = 4 } |
enum | LOCAL_VIDEO_STREAM_STATE { LOCAL_VIDEO_STREAM_STATE_STOPPED = 0, LOCAL_VIDEO_STREAM_STATE_CAPTURING = 1, LOCAL_VIDEO_STREAM_STATE_ENCODING = 2, LOCAL_VIDEO_STREAM_STATE_FAILED = 3 } |
enum | LOCAL_VIDEO_STREAM_ERROR { LOCAL_VIDEO_STREAM_ERROR_OK = 0, LOCAL_VIDEO_STREAM_ERROR_FAILURE = 1, LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION = 2, LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY = 3, LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE = 4, LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE = 5 } |
enum | LOCAL_AUDIO_STREAM_STATE { LOCAL_AUDIO_STREAM_STATE_STOPPED = 0, LOCAL_AUDIO_STREAM_STATE_RECORDING = 1, LOCAL_AUDIO_STREAM_STATE_ENCODING = 2, LOCAL_AUDIO_STREAM_STATE_FAILED = 3 } |
enum | LOCAL_AUDIO_STREAM_ERROR { LOCAL_AUDIO_STREAM_ERROR_OK = 0, LOCAL_AUDIO_STREAM_ERROR_FAILURE = 1, LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION = 2, LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY = 3, LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE = 4, LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE = 5 } |
enum | AUDIO_RECORDING_QUALITY_TYPE { AUDIO_RECORDING_QUALITY_LOW = 0, AUDIO_RECORDING_QUALITY_MEDIUM = 1, AUDIO_RECORDING_QUALITY_HIGH = 2 } |
enum | QUALITY_TYPE { QUALITY_UNKNOWN = 0, QUALITY_EXCELLENT = 1, QUALITY_GOOD = 2, QUALITY_POOR = 3, QUALITY_BAD = 4, QUALITY_VBAD = 5, QUALITY_DOWN = 6, QUALITY_UNSUPPORTED = 7, QUALITY_DETECTING = 8 } |
enum | RENDER_MODE_TYPE { RENDER_MODE_HIDDEN = 1, RENDER_MODE_FIT = 2, RENDER_MODE_ADAPTIVE = 3, RENDER_MODE_FILL = 4 } |
enum | VIDEO_MIRROR_MODE_TYPE { VIDEO_MIRROR_MODE_AUTO = 0, VIDEO_MIRROR_MODE_ENABLED = 1, VIDEO_MIRROR_MODE_DISABLED = 2 } |
enum | VIDEO_PROFILE_TYPE { VIDEO_PROFILE_LANDSCAPE_120P = 0, VIDEO_PROFILE_LANDSCAPE_120P_3 = 2, VIDEO_PROFILE_LANDSCAPE_180P = 10, VIDEO_PROFILE_LANDSCAPE_180P_3 = 12, VIDEO_PROFILE_LANDSCAPE_180P_4 = 13, VIDEO_PROFILE_LANDSCAPE_240P = 20, VIDEO_PROFILE_LANDSCAPE_240P_3 = 22, VIDEO_PROFILE_LANDSCAPE_240P_4 = 23, VIDEO_PROFILE_LANDSCAPE_360P = 30, VIDEO_PROFILE_LANDSCAPE_360P_3 = 32, VIDEO_PROFILE_LANDSCAPE_360P_4 = 33, VIDEO_PROFILE_LANDSCAPE_360P_6 = 35, VIDEO_PROFILE_LANDSCAPE_360P_7 = 36, VIDEO_PROFILE_LANDSCAPE_360P_8 = 37, VIDEO_PROFILE_LANDSCAPE_360P_9 = 38, VIDEO_PROFILE_LANDSCAPE_360P_10 = 39, VIDEO_PROFILE_LANDSCAPE_360P_11 = 100, VIDEO_PROFILE_LANDSCAPE_480P = 40, VIDEO_PROFILE_LANDSCAPE_480P_3 = 42, VIDEO_PROFILE_LANDSCAPE_480P_4 = 43, VIDEO_PROFILE_LANDSCAPE_480P_6 = 45, VIDEO_PROFILE_LANDSCAPE_480P_8 = 47, VIDEO_PROFILE_LANDSCAPE_480P_9 = 48, VIDEO_PROFILE_LANDSCAPE_480P_10 = 49, VIDEO_PROFILE_LANDSCAPE_720P = 50, VIDEO_PROFILE_LANDSCAPE_720P_3 = 52, VIDEO_PROFILE_LANDSCAPE_720P_5 = 54, VIDEO_PROFILE_LANDSCAPE_720P_6 = 55, VIDEO_PROFILE_LANDSCAPE_1080P = 60, VIDEO_PROFILE_LANDSCAPE_1080P_3 = 62, VIDEO_PROFILE_LANDSCAPE_1080P_5 = 64, VIDEO_PROFILE_LANDSCAPE_1440P = 66, VIDEO_PROFILE_LANDSCAPE_1440P_2 = 67, VIDEO_PROFILE_LANDSCAPE_4K = 70, VIDEO_PROFILE_LANDSCAPE_4K_3 = 72, VIDEO_PROFILE_PORTRAIT_120P = 1000, VIDEO_PROFILE_PORTRAIT_120P_3 = 1002, VIDEO_PROFILE_PORTRAIT_180P = 1010, VIDEO_PROFILE_PORTRAIT_180P_3 = 1012, VIDEO_PROFILE_PORTRAIT_180P_4 = 1013, VIDEO_PROFILE_PORTRAIT_240P = 1020, VIDEO_PROFILE_PORTRAIT_240P_3 = 1022, VIDEO_PROFILE_PORTRAIT_240P_4 = 1023, VIDEO_PROFILE_PORTRAIT_360P = 1030, VIDEO_PROFILE_PORTRAIT_360P_3 = 1032, VIDEO_PROFILE_PORTRAIT_360P_4 = 1033, VIDEO_PROFILE_PORTRAIT_360P_6 = 1035, VIDEO_PROFILE_PORTRAIT_360P_7 = 1036, VIDEO_PROFILE_PORTRAIT_360P_8 = 1037, VIDEO_PROFILE_PORTRAIT_360P_9 = 1038, VIDEO_PROFILE_PORTRAIT_360P_10 = 1039, VIDEO_PROFILE_PORTRAIT_360P_11 = 1100, VIDEO_PROFILE_PORTRAIT_480P = 1040, VIDEO_PROFILE_PORTRAIT_480P_3 = 1042, VIDEO_PROFILE_PORTRAIT_480P_4 = 1043, VIDEO_PROFILE_PORTRAIT_480P_6 = 1045, VIDEO_PROFILE_PORTRAIT_480P_8 = 1047, VIDEO_PROFILE_PORTRAIT_480P_9 = 1048, VIDEO_PROFILE_PORTRAIT_480P_10 = 1049, VIDEO_PROFILE_PORTRAIT_720P = 1050, VIDEO_PROFILE_PORTRAIT_720P_3 = 1052, VIDEO_PROFILE_PORTRAIT_720P_5 = 1054, VIDEO_PROFILE_PORTRAIT_720P_6 = 1055, VIDEO_PROFILE_PORTRAIT_1080P = 1060, VIDEO_PROFILE_PORTRAIT_1080P_3 = 1062, VIDEO_PROFILE_PORTRAIT_1080P_5 = 1064, VIDEO_PROFILE_PORTRAIT_1440P = 1066, VIDEO_PROFILE_PORTRAIT_1440P_2 = 1067, VIDEO_PROFILE_PORTRAIT_4K = 1070, VIDEO_PROFILE_PORTRAIT_4K_3 = 1072, VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_LANDSCAPE_360P } |
enum | AUDIO_PROFILE_TYPE { AUDIO_PROFILE_DEFAULT = 0, AUDIO_PROFILE_SPEECH_STANDARD = 1, AUDIO_PROFILE_MUSIC_STANDARD = 2, AUDIO_PROFILE_MUSIC_STANDARD_STEREO = 3, AUDIO_PROFILE_MUSIC_HIGH_QUALITY = 4, AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO = 5, AUDIO_PROFILE_IOT = 6, AUDIO_PROFILE_NUM = 7 } |
enum | AUDIO_SCENARIO_TYPE { [AUDIO_SCENARIO_DEFAULT = 0, AUDIO_SCENARIO_CHATROOM_ENTERTAINMENT = 1, AUDIO_SCENARIO_EDUCATION = 2, AUDIO_SCENARIO_GAME_STREAMING = 3, AUDIO_SCENARIO_SHOWROOM = 4, AUDIO_SCENARIO_CHATROOM_GAMING = 5, AUDIO_SCENARIO_IOT = 6, AUDIO_SCENARIO_NUM = 7 } |
enum | CHANNEL_PROFILE_TYPE { CHANNEL_PROFILE_COMMUNICATION = 0, CHANNEL_PROFILE_LIVE_BROADCASTING = 1, CHANNEL_PROFILE_GAME = 2 } |
enum | CLIENT_ROLE_TYPE { CLIENT_ROLE_BROADCASTER = 1, CLIENT_ROLE_AUDIENCE = 2 } |
enum | USER_OFFLINE_REASON_TYPE { USER_OFFLINE_QUIT = 0, USER_OFFLINE_DROPPED = 1, USER_OFFLINE_BECOME_AUDIENCE = 2 } |
enum | RTMP_STREAM_PUBLISH_STATE { RTMP_STREAM_PUBLISH_STATE_IDLE = 0, RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1, RTMP_STREAM_PUBLISH_STATE_RUNNING = 2, RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3, RTMP_STREAM_PUBLISH_STATE_FAILURE = 4 } |
enum | RTMP_STREAM_PUBLISH_ERROR { RTMP_STREAM_PUBLISH_ERROR_OK = 0, RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT = 1, RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED = 2, RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT = 3, RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR = 4, RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR = 5, RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN = 6, RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT = 7, RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED = 8, RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND = 9, RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED = 10 } |
enum | INJECT_STREAM_STATUS { INJECT_STREAM_STATUS_START_SUCCESS = 0, INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1, INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2, INJECT_STREAM_STATUS_START_TIMEDOUT = 3, INJECT_STREAM_STATUS_START_FAILED = 4, INJECT_STREAM_STATUS_STOP_SUCCESS = 5, INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6, INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7, INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8, INJECT_STREAM_STATUS_STOP_FAILED = 9, INJECT_STREAM_STATUS_BROKEN = 10 } |
enum | REMOTE_VIDEO_STREAM_TYPE { REMOTE_VIDEO_STREAM_HIGH = 0, REMOTE_VIDEO_STREAM_LOW = 1 } |
enum | RAW_AUDIO_FRAME_OP_MODE_TYPE { RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0, RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY = 1, RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2 } |
enum | AUDIO_SAMPLE_RATE_TYPE { AUDIO_SAMPLE_RATE_32000 = 32000, AUDIO_SAMPLE_RATE_44100 = 44100, AUDIO_SAMPLE_RATE_48000 = 48000 } |
enum | VIDEO_CODEC_PROFILE_TYPE { VIDEO_CODEC_PROFILE_BASELINE = 66, VIDEO_CODEC_PROFILE_MAIN = 77, VIDEO_CODEC_PROFILE_HIGH = 100 } |
enum | VIDEO_CODEC_TYPE { VIDEO_CODEC_VP8 = 1, VIDEO_CODEC_H264 = 2, VIDEO_CODEC_EVP = 3, VIDEO_CODEC_E264 = 4 } |
enum | AUDIO_EQUALIZATION_BAND_FREQUENCY { AUDIO_EQUALIZATION_BAND_31 = 0, AUDIO_EQUALIZATION_BAND_62 = 1, AUDIO_EQUALIZATION_BAND_125 = 2, AUDIO_EQUALIZATION_BAND_250 = 3, AUDIO_EQUALIZATION_BAND_500 = 4, AUDIO_EQUALIZATION_BAND_1K = 5, AUDIO_EQUALIZATION_BAND_2K = 6, AUDIO_EQUALIZATION_BAND_4K = 7, AUDIO_EQUALIZATION_BAND_8K = 8, AUDIO_EQUALIZATION_BAND_16K = 9 } |
enum | AUDIO_REVERB_TYPE { AUDIO_REVERB_DRY_LEVEL = 0, [UDIO_REVERB_WET_LEVEL = 1, AUDIO_REVERB_ROOM_SIZE = 2, AUDIO_REVERB_WET_DELAY = 3, AUDIO_REVERB_STRENGTH = 4 } |
enum | VOICE_CHANGER_PRESET { VOICE_CHANGER_OFF = 0x00000000, VOICE_CHANGER_OLDMAN = 0x00000001, VOICE_CHANGER_BABYBOY = 0x00000002, VOICE_CHANGER_BABYGIRL = 0x00000003, VOICE_CHANGER_ZHUBAJIE = 0x00000004, VOICE_CHANGER_ETHEREAL = 0x00000005, VOICE_CHANGER_HULK = 0x00000006, VOICE_BEAUTY_VIGOROUS = 0x00100001, VOICE_BEAUTY_DEEP = 0x00100002, VOICE_BEAUTY_MELLOW = 0x00100003, VOICE_BEAUTY_FALSETTO = 0x00100004, VOICE_BEAUTY_FULL = 0x00100005, VOICE_BEAUTY_CLEAR = 0x00100006, VOICE_BEAUTY_RESOUNDING = 0x00100007, VOICE_BEAUTY_RINGING = 0x00100008, VOICE_BEAUTY_SPACIAL = 0x00100009, GENERAL_BEAUTY_VOICE_MALE_MAGNETIC = 0x00200001, GENERAL_BEAUTY_VOICE_FEMALE_FRESH = 0x00200002, GENERAL_BEAUTY_VOICE_FEMALE_VITALITY = 0x00200003 } |
enum | AUDIO_REVERB_PRESET { AUDIO_REVERB_OFF = 0x00000000, AUDIO_REVERB_FX_KTV = 0x00100001, AUDIO_REVERB_FX_VOCAL_CONCERT = 0x00100002, AUDIO_REVERB_FX_UNCLE = 0x00100003, AUDIO_REVERB_FX_SISTER = 0x00100004, AUDIO_REVERB_FX_STUDIO = 0x00100005, AUDIO_REVERB_FX_POPULAR = 0x00100006, AUDIO_REVERB_FX_RNB = 0x00100007, AUDIO_REVERB_FX_PHONOGRAPH = 0x00100008, AUDIO_REVERB_POPULAR = 0x00000001, AUDIO_REVERB_RNB = 0x00000002, AUDIO_REVERB_ROCK = 0x00000003, AUDIO_REVERB_HIPHOP = 0x00000004, AUDIO_REVERB_VOCAL_CONCERT = 0x00000005, AUDIO_REVERB_KTV = 0x00000006, AUDIO_REVERB_STUDIO = 0x00000007, AUDIO_VIRTUAL_STEREO = 0x00200001 } |
enum | AUDIO_CODEC_PROFILE_TYPE { AUDIO_CODEC_PROFILE_LC_AAC = 0, AUDIO_CODEC_PROFILE_HE_AAC = 1 } |
enum | REMOTE_AUDIO_STATE { REMOTE_AUDIO_STATE_STOPPED = 0, REMOTE_AUDIO_STATE_STARTING = 1, REMOTE_AUDIO_STATE_DECODING = 2, REMOTE_AUDIO_STATE_FROZEN = 3, REMOTE_AUDIO_STATE_FAILED = 4 } |
enum | REMOTE_AUDIO_STATE_REASON { REMOTE_AUDIO_REASON_INTERNAL = 0, REMOTE_AUDIO_REASON_NETWORK_CONGESTION = 1, REMOTE_AUDIO_REASON_NETWORK_RECOVERY = 2, REMOTE_AUDIO_REASON_LOCAL_MUTED = 3, REMOTE_AUDIO_REASON_LOCAL_UNMUTED = 4, REMOTE_AUDIO_REASON_REMOTE_MUTED = 5, REMOTE_AUDIO_REASON_REMOTE_UNMUTED = 6, REMOTE_AUDIO_REASON_REMOTE_OFFLINE = 7 } |
enum | STREAM_PUBLISH_STATE { PUB_STATE_IDLE = 0,PUB_STATE_NO_PUBLISHED = 1,PUB_STATE_PUBLISHING = 2, PUB_STATE_PUBLISHED = 3} |
enum | STREAM_SUBSCRIBE_STATE { SUB_STATE_IDLE = 0,SUB_STATE_NO_SUBSCRIBED = 1,SUB_STATE_SUBSCRIBING = 2,, SUB_STATE_SUBSCRIBED = 3} |
enum | REMOTE_VIDEO_STATE { REMOTE_VIDEO_STATE_STOPPED = 0, REMOTE_VIDEO_STATE_STARTING = 1, REMOTE_VIDEO_STATE_DECODING = 2, REMOTE_VIDEO_STATE_FROZEN = 3, REMOTE_VIDEO_STATE_FAILED = 4 } |
enum | REMOTE_VIDEO_STATE_REASON { REMOTE_VIDEO_STATE_REASON_INTERNAL = 0, REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION = 1, REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY = 2, REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED = 3, REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED = 4, REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED = 5, REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED = 6, REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE = 7, REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK = 8, REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY = 9 } |
enum | FRAME_RATE { FRAME_RATE_FPS_1 = 1, FRAME_RATE_FPS_7 = 7, FRAME_RATE_FPS_10 = 10, FRAME_RATE_FPS_15 = 15, FRAME_RATE_FPS_24 = 24, FRAME_RATE_FPS_30 = 30, FRAME_RATE_FPS_60 = 60 } |
enum | ORIENTATION_MODE { ORIENTATION_MODE_ADAPTIVE = 0, ORIENTATION_MODE_FIXED_LANDSCAPE = 1, ORIENTATION_MODE_FIXED_PORTRAIT = 2 } |
enum | DEGRADATION_PREFERENCE { MAINTAIN_QUALITY = 0, MAINTAIN_FRAMERATE = 1, MAINTAIN_BALANCED = 2 } |
enum | STREAM_FALLBACK_OPTIONS { STREAM_FALLBACK_OPTION_DISABLED = 0, STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1, STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2 } |
enum | CAPTURER_OUTPUT_PREFERENCE { CAPTURER_OUTPUT_PREFERENCE_AUTO = 0, CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE = 1, CAPTURER_OUTPUT_PREFERENCE_PREVIEW = 2 } |
enum | PRIORITY_TYPE { PRIORITY_HIGH = 50, PRIORITY_NORMAL = 100 } |
enum | CONNECTION_STATE_TYPE { CONNECTION_STATE_DISCONNECTED = 1, CONNECTION_STATE_CONNECTING = 2, CONNECTION_STATE_CONNECTED = 3, CONNECTION_STATE_RECONNECTING = 4, CONNECTION_STATE_FAILED = 5 } |
enum | CONNECTION_CHANGED_REASON_TYPE { CONNECTION_CHANGED_CONNECTING = 0, CONNECTION_CHANGED_JOIN_SUCCESS = 1, CONNECTION_CHANGED_INTERRUPTED = 2, CONNECTION_CHANGED_BANNED_BY_SERVER = 3, CONNECTION_CHANGED_JOIN_FAILED = 4, CONNECTION_CHANGED_LEAVE_CHANNEL = 5, CONNECTION_CHANGED_INVALID_APP_ID = 6, CONNECTION_CHANGED_INVALID_CHANNEL_NAME = 7, CONNECTION_CHANGED_INVALID_TOKEN = 8, CONNECTION_CHANGED_TOKEN_EXPIRED = 9, CONNECTION_CHANGED_REJECTED_BY_SERVER = 10, CONNECTION_CHANGED_SETTING_PROXY_SERVER = 11, CONNECTION_CHANGED_RENEW_TOKEN = 12, CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED = 13, CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT = 14 } |
enum | NETWORK_TYPE { NETWORK_TYPE_UNKNOWN = -1, NETWORK_TYPE_DISCONNECTED = 0, NETWORK_TYPE_LAN = 1, NETWORK_TYPE_WIFI = 2, NETWORK_TYPE_MOBILE_2G = 3, NETWORK_TYPE_MOBILE_3G = 4, NETWORK_TYPE_MOBILE_4G = 5 } |
enum | LASTMILE_PROBE_RESULT_STATE { LASTMILE_PROBE_RESULT_COMPLETE = 1, LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE = 2, LASTMILE_PROBE_RESULT_UNAVAILABLE = 3 } |
enum | AUDIO_ROUTE_TYPE { AUDIO_ROUTE_DEFAULT = -1, AUDIO_ROUTE_HEADSET = 0, AUDIO_ROUTE_EARPIECE= 1, AUDIO_ROUTE_HEADSET_NO_MIC = 2, AUDIO_ROUTE_SPEAKERPHONE = 3, AUDIO_ROUTE_LOUDSPEAKER = 4, AUDIO_ROUTE_BLUETOOTH = 5 } |
enum | AUDIO_SESSION_OPERATION_RESTRICTION { AUDIO_SESSION_OPERATION_RESTRICTION_NONE = 0, AUDIO_SESSION_OPERATION_RESTRICTION_SET_CATEGORY = 1, AUDIO_SESSION_OPERATION_RESTRICTION_CONFIGURE_SESSION = 1 << 1, AUDIO_SESSION_OPERATION_RESTRICTION_DEACTIVATE_SESSION = 1 << 2, AUDIO_SESSION_OPERATION_RESTRICTION_ALL = 1 << 7 } |
enum | CAMERA_DIRECTION { CAMERA_REAR = 0, CAMERA_FRONT = 1 } |
enum | QUALITY_ADAPT_INDICATION { ADAPT_NONE = 0, ADAPT_UP_BANDWIDTH = 1, ADAPT_DOWN_BANDWIDTH = 2 } |
enum | CHANNEL_MEDIA_RELAY_ERROR { RELAY_OK = 0, RELAY_ERROR_SERVER_ERROR_RESPONSE = 1, RELAY_ERROR_SERVER_NO_RESPONSE = 2, RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3, 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, RELAY_ERROR_INTERNAL_ERROR = 9, RELAY_ERROR_SRC_TOKEN_EXPIRED = 10, RELAY_ERROR_DEST_TOKEN_EXPIRED = 11 } |
enum | CHANNEL_MEDIA_RELAY_EVENT { RELAY_EVENT_NETWORK_DISCONNECTED = 0, RELAY_EVENT_NETWORK_CONNECTED = 1, RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2, RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3, RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4, RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5, RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6, RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7, RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8, RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9, RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10, RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11 } |
enum | CHANNEL_MEDIA_RELAY_STATE { RELAY_STATE_IDLE = 0, RELAY_STATE_CONNECTING = 1, RELAY_STATE_RUNNING = 2, RELAY_STATE_FAILURE = 3 } |
enum | RTMP_STREAM_LIFE_CYCLE_TYPE { RTMP_STREAM_LIFE_CYCLE_BIND2CHANNEL = 1, RTMP_STREAM_LIFE_CYCLE_BIND2OWNER = 2 } |
enum | VideoContentHint { CONTENT_HINT_NONE, CONTENT_HINT_MOTION, CONTENT_HINT_DETAILS } |
enum | ENCRYPTION_CONFIG { ENCRYPTION_FORCE_SETTING = (1 << 0), ENCRYPTION_FORCE_DISABLE_PACKET = (1 << 1) } |
enum | VIDEO_CAPTURE_TYPE { |
VIDEO_CAPTURE_UNKNOWN, VIDEO_CAPTURE_CAMERA, VIDEO_CAPTURE_SCREEN } | |
enum | ENCRYPTION_MODE { |
AES_128_XTS = 1, AES_128_ECB = 2, AES_256_XTS = 3, SM4_128_ECB = 4, | |
MODE_END | |
} |
变量 | |
---|---|
const int | STANDARD_BITRATE = 0 |
const int | COMPATIBLE_BITRATE = -1 |
const int | DEFAULT_MIN_BITRATE = -1 |
类型定义说明
uid_t
typedef const char* uid_t
view_t
typedef void* view_t
TranscodingUser
typedef struct ar::rtc::TranscodingUser
TranscodingUser 用于管理参与旁路直播的音视频转码合图的用户。最多支持 17 人同时参与转码合图。
RtcImage
typedef struct ar::rtc::RtcImage
图像属性
用于设置直播视频的水印和背景图片的属性。
LiveTranscoding
typedef struct ar::rtc::LiveTranscoding
LiveTranscoding 定义。
WatermarkOptions
typedef struct ar::rtc::WatermarkOptions
待添加的水印图片的设置选项。
枚举类型说明
MAX_DEVICE_ID_LENGTH_TYPE
enum ar::rtc::MAX_DEVICE_ID_LENGTH_TYPE
设备 ID 的最大长度
枚举值 | 说明 |
---|---|
MAX_DEVICE_ID_LENGTH | 设备 ID 的最大长度为 512 字 |
MAX_USER_ACCOUNT_LENGTH_TYPE
enum ar::rtc::MAX_USER_ACCOUNT_LENGTH_TYPE
用户 User Account 的最大长度
枚举值 | 说明 |
---|---|
MAX_USER_ACCOUNT_LENGTH | 用户 User Account 的最大长度为 255 字。 |
MAX_CHANNEL_ID_LENGTH_TYPE
enum ar::rtc::MAX_CHANNEL_ID_LENGTH_TYPE
频道名的最大长度
枚举值 | 说明 |
---|---|
MAX_CHANNEL_ID_LENGTH | 频道名的最大长度为 64 字。 |
QUALITY_REPORT_FORMAT_TYPE
enum ar::rtc::QUALITY_REPORT_FORMAT_TYPE
质量报告的格式
枚举值 | 说明 |
---|---|
QUALITY_REPORT_JSON | 0: 质量报告格式为 JSON。 |
QUALITY_REPORT_JSON | 1: 质量报告格式为 HTML。 |
MEDIA_ENGINE_EVENT_CODE_TYPE
enum ar::rtc::MEDIA_ENGINE_EVENT_CODE_TYPE
质量报告的格式
枚举值 | 说明 |
---|---|
MEDIA_ENGINE_RECORDING_ERROR | 0: 仅供内部使用。 |
MEDIA_ENGINE_PLAYOUT_ERROR | 1: 仅供内部使用。 |
MEDIA_ENGINE_RECORDING_WARNING | 2: 仅供内部使用。 |
MEDIA_ENGINE_PLAYOUT_WARNING | 3: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_FILE_MIX_FINISH | 10: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_FAREND_MUSIC_BEGINS | 12: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_FAREND_MUSIC_ENDS | 13: 仅供内部使用。 |
MEDIA_ENGINE_LOCAL_AUDIO_RECORD_ENABLED | 14: 仅供内部使用。 |
MEDIA_ENGINE_LOCAL_AUDIO_RECORD_DISABLED | 15: 仅供内部使用。 |
MEDIA_ENGINE_ROLE_BROADCASTER_SOLO | 20: 仅供内部使用。 |
MEDIA_ENGINE_ROLE_BROADCASTER_INTERACTIVE | 21: |
MEDIA_ENGINE_ROLE_AUDIENCE | 22: 仅供内部使用。 |
MEDIA_ENGINE_ROLE_COMM_PEER | 23: 仅供内部使用。 |
MEDIA_ENGINE_ROLE_GAME_PEER | 24: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_ADM_REQUIRE_RESTART | 110: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_ADM_SPECIAL_RESTART | 111: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_EVENT_MIXING_PLAY | 710: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_EVENT_MIXING_PAUSED | 711: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_EVENT_MIXING_RESTART | 712: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_EVENT_MIXING_STOPPED | 713: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_EVENT_MIXING_ERROR | 714: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_ERROR_MIXING_OPEN | 701: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_ERROR_MIXING_TOO_FREQUENT | 702: 仅供内部使用。 |
MEDIA_ENGINE_AUDIO_ERROR_MIXING_INTERRUPTED_EOF | 703: 音乐文件播放异常中断。仅供内部使用。 |
MEDIA_ENGINE_AUDIO_ERROR_MIXING_NO_ERROR | 0: 仅供内部使用。 |
AUDIO_MIXING_STATE_TYPE
enum ar::rtc::AUDIO_MIXING_STATE_TYPE
音乐文件播放状态
枚举值 | 说明 |
---|---|
AUDIO_MIXING_STATE_PLAYING | 710: 音乐文件正常播放。 该状态表示 SDK 处于以下阶段: |
AUDIO_MIXING_STATE_PAUSED | 711: 音乐文件暂停播放。 该状态表示 SDK 成功调用 pauseAudioMixing 暂停播放音乐文件。 |
AUDIO_MIXING_STATE_STOPPED | 713: 音乐文件停止播放。 该状态表示 SDK 成功调用 stopAudioMixing 停止播放音乐文件。 |
AUDIO_MIXING_STATE_FAILED | 714: 音乐文件播放失败。 错误类型详见 AUDIO_MIXING_ERROR_TYPE |
AUDIO_MIXING_ERROR_TYPE
enum ar::rtc::AUDIO_MIXING_ERROR_TYPE
混音音乐文件错误码
枚举值 | 说明 |
---|---|
AUDIO_MIXING_ERROR_CAN_NOT_OPEN | 音乐文件打开出错。 |
AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL | 音乐文件打开太频繁。 |
AUDIO_MIXING_ERROR_INTERRUPTED_EOF | 音乐文件播放中断。 |
AUDIO_MIXING_ERROR_OK | 音乐文件状态正常。 |
MEDIA_DEVICE_STATE_TYPE
enum ar::rtc::MEDIA_DEVICE_STATE_TYPE
设备状态
枚举值 | 说明 |
---|---|
MEDIA_DEVICE_STATE_ACTIVE | 1: 设备正在使用。 |
MEDIA_DEVICE_STATE_DISABLED | 2: 设备被禁用。 |
MEDIA_DEVICE_STATE_NOT_PRESENT | 4: 没有此设备。 |
MEDIA_DEVICE_STATE_UNPLUGGED | 8: 设备被拔出。 |
MEDIA_DEVICE_TYPE
enum ar::rtc::MEDIA_DEVICE_TYPE
设备类型定义
枚举值 | 说明 |
---|---|
UNKNOWN_AUDIO_DEVICE | -1: 设备类型未知。 |
AUDIO_PLAYOUT_DEVICE | 0: 音频播放设备。 |
AUDIO_RECORDING_DEVICE | 1: 音频录制设备。 |
VIDEO_RENDER_DEVICE | 2: 视频渲染设备。 |
VIDEO_CAPTURE_DEVICE | 3: 视频采集设备。 |
AUDIO_APPLICATION_PLAYOUT_DEVICE | 4: 音频应用播放设备。 |
LOCAL_VIDEO_STREAM_STATE
enum ar::rtc::LOCAL_VIDEO_STREAM_STATE
本地视频状态
枚举值 | 说明 |
---|---|
LOCAL_VIDEO_STREAM_STATE_STOPPED | 0: 本地视频默认初始状态。 |
LOCAL_VIDEO_STREAM_STATE_CAPTURING | 1: 本地视频采集设备启动成功。 |
LOCAL_VIDEO_STREAM_STATE_ENCODING | 2: 本地视频首帧编码成功。 |
LOCAL_VIDEO_STREAM_STATE_FAILED | 3: 本地视频启动失败。 |
LOCAL_VIDEO_STREAM_ERROR
enum ar::rtc::LOCAL_VIDEO_STREAM_ERROR
本地视频出错原因
枚举值 | 说明 |
---|---|
LOCAL_VIDEO_STREAM_ERROR_OK | 0: 本地视频状态正常。 |
LOCAL_VIDEO_STREAM_ERROR_FAILURE | 1: 出错原因不明确。 |
LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION | 2: 没有权限启动本地视频采集设备。 |
LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY | 3: 本地视频采集设备正在使用中。 |
LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE | 4: 本地视频采集失败,建议检查采集设备是否正常工作。 |
LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE | 5: 本地视频编码失败。 |
LOCAL_AUDIO_STREAM_STATE
enum ar::rtc::LOCAL_AUDIO_STREAM_STATE
本地音频状态
枚举值 | 说明 |
---|---|
LOCAL_AUDIO_STREAM_STATE_STOPPED | 0: 本地音频默认初始状态。 |
LOCAL_AUDIO_STREAM_STATE_RECORDING | 1: 本地音频录制设备启动成功。 |
LOCAL_AUDIO_STREAM_STATE_ENCODING | 2: 本地音频首帧编码成功。 |
LOCAL_AUDIO_STREAM_STATE_FAILED | 3: 本地音频启动失败。 |
LOCAL_AUDIO_STREAM_ERROR
enum ar::rtc::LOCAL_AUDIO_STREAM_ERROR
本地音频出错原因
枚举值 | 说明 |
---|---|
LOCAL_AUDIO_STREAM_ERROR_OK | 0: 本地音频状态正常。 |
LOCAL_AUDIO_STREAM_ERROR_FAILURE | 1: 本地音频出错原因不明确。 |
LOCAL_AUDIO_STREAM_ERROR_DEVICE_NO_PERMISSION | 2: 没有权限启动本地音频录制设备。 |
LOCAL_AUDIO_STREAM_ERROR_DEVICE_BUSY | 3: 本地音频录制设备已经在使用中。 |
LOCAL_AUDIO_STREAM_ERROR_RECORD_FAILURE | 4: 本地音频录制失败,建议你检查录制设备是否正常工作。 |
LOCAL_AUDIO_STREAM_ERROR_ENCODE_FAILURE | 5: 本地音频编码失败。 |
AUDIO_RECORDING_QUALITY_TYPE
enum ar::rtc::AUDIO_RECORDING_QUALITY_TYPE
录音音质
枚举值 | 说明 |
---|---|
AUDIO_RECORDING_QUALITY_LOW | 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。 |
AUDIO_RECORDING_QUALITY_MEDIUM | 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。 |
AUDIO_RECORDING_QUALITY_HIGH | 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。 |
QUALITY_TYPE
enum ar::rtc::QUALITY_TYPE
网络质量
枚举值 | 说明 |
---|---|
QUALITY_UNKNOWN | 0: 网络质量未知。 |
QUALITY_EXCELLENT | 1: 网络质量极好。 |
QUALITY_GOOD | 2: 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent。 |
QUALITY_POOR | 3: 用户主观感受有瑕疵但不影响沟通。 |
QUALITY_BAD | 4: 勉强能沟通但不顺畅。 |
QUALITY_VBAD | 5: 网络质量非常差,基本不能沟通。 |
QUALITY_DOWN | 6: 完全无法沟通。 |
QUALITY_UNSUPPORTED | 7: 暂时无法检测网络质量(未使用)。 |
QUALITY_DETECTING | 8: 网络质量检测已开始还没完成。 |
RENDER_MODE_TYPE
enum ar::rtc::RENDER_MODE_TYPE
设置视频显示模式
枚举值 | |
---|---|
RENDER_MODE_HIDDEN | 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 |
RENDER_MODE_FIT | 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 |
RENDER_MODE_ADAPTIVE | 弃用: 3: 该模式已废弃。 |
RENDER_MODE_FILL | 4: 视频尺寸进行缩放和拉伸以充满显示视窗。 |
VIDEO_MIRROR_MODE_TYPE
enum ar::rtc::VIDEO_MIRROR_MODE_TYPE
镜像模式类型
枚举值 | 说明 |
---|---|
VIDEO_MIRROR_MODE_AUTO | 0:(默认)由 SDK 决定镜像模式: |
VIDEO_MIRROR_MODE_ENABLED | 1: 启用镜像模式。 |
VIDEO_MIRROR_MODE_DISABLED | 2: 关闭镜像模式。 |
VIDEO_PROFILE_TYPE
enum ar::rtc::VIDEO_PROFILE_TYPE
视频属性
VIDEO_MIRROR_MODE_TYPE
enum ar::rtc::VIDEO_MIRROR_MODE_TYPE
镜像模式类型
枚举值 | 说明 |
---|---|
VIDEO_MIRROR_MODE_AUTO | 0:(默认)由 SDK 决定镜像模式: |
VIDEO_MIRROR_MODE_ENABLED | 1: 启用镜像模式。 |
VIDEO_MIRROR_MODE_DISABLED | 2: 关闭镜像模式。 |
AUDIO_PROFILE_TYPE
enum ar::rtc::AUDIO_PROFILE_TYPE
音频属性
设置采样率,码率,编码模式和声道数。
枚举值 | 说明 |
---|---|
AUDIO_PROFILE_DEFAULT | 0: 默认值。直播场景下:48 KHz 采样率,音乐编码,单声道,编码码率最大值为 52 Kbps。通信场景下:16 KHz 采样率,音乐编码,单声道,编码码率最大值为 16 Kbps。 |
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 |
AUDIO_SCENARIO_TYPE
enum ar::rtc::AUDIO_SCENARIO_TYPE
设置音频应用场景
枚举值 | 说明 |
---|---|
AUDIO_SCENARIO_DEFAULT | 0: 默认设置。 |
AUDIO_SCENARIO_CHATROOM_ENTERTAINMENT | 1: 娱乐应用,需要频繁上下麦的场景。 |
AUDIO_SCENARIO_EDUCATION | 2: 教育应用,流畅度和稳定性优先。 |
AUDIO_SCENARIO_GAME_STREAMING | 3: 高音质语聊房应用。 |
AUDIO_SCENARIO_SHOWROOM | 4: 秀场应用,音质优先和更好的专业外设支持。 |
AUDIO_SCENARIO_CHATROOM_GAMING | 5: 游戏开黑。 |
AUDIO_SCENARIO_IOT | 6: 物联网应用。 |
AUDIO_SCENARIO_NUM |
CHANNEL_PROFILE_TYPE
enum ar::rtc::CHANNEL_PROFILE_TYPE
频道使用场景
枚举值 | 说明 |
---|---|
CHANNEL_PROFILE_COMMUNICATION | 0: (默认)通信场景。该场景适用于常见的一对一或群聊,频道中任何用户都可以自由说话。 |
CHANNEL_PROFILE_LIVE_BROADCASTING | 1: 直播场景。该场景有主播和观众两种用户角色,可以通过 setClientRole 设置。主播可以收、发语音和视频,但观众只能收,不能发。 |
CHANNEL_PROFILE_GAME | 2: 游戏语音场景。该场景默认使用低功耗低码率的编解码器,且频道内任何用户都可以自由发言,适用于游戏场景。注解AR 不推荐使用该场景。 |
CLIENT_ROLE_TYPE
enum ar::rtc::CLIENT_ROLE_TYPE
直播场景里的用户角色
枚举值 | 说明 |
---|---|
CLIENT_ROLE_BROADCASTER | 1: 主播。主播可以发流也可以收流。 |
CLIENT_ROLE_AUDIENCE | 2: (默认)观众。观众只能收流不能发流。 |
USER_OFFLINE_REASON_TYPE
enum ar::rtc::USER_OFFLINE_REASON_TYPE
用户离线原因
枚举值 | 说明 |
---|---|
USER_OFFLINE_QUIT | 0: 用户主动离开。 |
USER_OFFLINE_DROPPED | 1: 因过长时间收不到对方数据包,超时掉线。注意:由于 SDK 使用的是不可靠通道,也有可能对方主动离开本方没收到对方离开消息而误判为超时掉线。 |
USER_OFFLINE_BECOME_AUDIENCE | 2: 用户身份从主播切换为观众时触发。 |
RTMP_STREAM_PUBLISH_STATE
enum ar::rtc::RTMP_STREAM_PUBLISH_STATE
推流状态
枚举值 | 说明 |
---|---|
RTMP_STREAM_PUBLISH_STATE_IDLE | 推流未开始或已结束。成功调用 removePublishStreamUrl 方法删除推流地址后,也会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_CONNECTING | 正在连接 AR 推流服务器和 RTMP 服务器。调用 addPublishStreamUrl 方法后,会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_RUNNING | 推流正在进行。成功推流后,会返回该状态。 |
RTMP_STREAM_PUBLISH_STATE_RECOVERING | 正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。如成功恢复推流,则进入状态 RTMP_STREAM_PUBLISH_STATE_RUNNING (2)。如服务器出错或 60 秒内未成功恢复,则进入状态 RTMP_STREAM_PUBLISH_STATE_FAILURE (4)。如果觉得 60 秒太长,也可以主动调用 removePublishStreamUrl 和 addPublishStreamUrl 方法尝试重连。 |
RTMP_STREAM_PUBLISH_STATE_FAILURE | 推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以再次调用 addPublishStreamUrl 重新尝试推流。 |
RTMP_STREAM_PUBLISH_ERROR
enum ar::rtc::RTMP_STREAM_PUBLISH_ERROR
推流错误信息
枚举值 | |
---|---|
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 | 推流地址格式有错误。请检查推流地址格式是否正确。 |
INJECT_STREAM_STATUS
enum ar::rtc::INJECT_STREAM_STATUS
导入的外部视频源状态
枚举值 | |
---|---|
INJECT_STREAM_STATUS_START_SUCCESS | 0: 外部视频流导入成功。 |
INJECT_STREAM_STATUS_START_ALREADY_EXISTS | 1: 外部视频流已存在。 |
INJECT_STREAM_STATUS_START_UNAUTHORIZED | 2: 外部视频流导入未经授权。 |
INJECT_STREAM_STATUS_START_TIMEDOUT | 3: 导入外部视频流超时。 |
INJECT_STREAM_STATUS_START_FAILED | 4: 外部视频流导入失败。 |
INJECT_STREAM_STATUS_STOP_SUCCESS | 5: 外部视频流停止导入成功。 |
INJECT_STREAM_STATUS_STOP_NOT_FOUND | 6: 未找到要停止导入的外部视频流。 |
INJECT_STREAM_STATUS_STOP_UNAUTHORIZED | 7: 要停止导入的外部视频流未经授权。 |
INJECT_STREAM_STATUS_STOP_TIMEDOUT | 8: 停止导入外部视频流超时。 |
INJECT_STREAM_STATUS_STOP_FAILED | 9: 停止导入外部视频流失败。 |
INJECT_STREAM_STATUS_BROKEN | 10: 导入的外部视频流被中断。 |
REMOTE_VIDEO_STREAM_TYPE
enum ar::rtc::REMOTE_VIDEO_STREAM_TYPE
视频流类型,视频流大小
枚举值 | |
---|---|
REMOTE_VIDEO_STREAM_HIGH | 0: 视频大流。 |
REMOTE_VIDEO_STREAM_LOW | 1: 视频小流。 |
RAW_AUDIO_FRAME_OP_MODE_TYPE
enum ar::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
onRecordAudioFrame 或 onPlaybackAudioFrame 回调中返回的音频数据的使用模式
枚举值 | |
---|---|
RAW_AUDIO_FRAME_OP_MODE_READ_ONLY | 0: 只读模式,用户仅从 AudioFrame 获取原始数据,不作任何修改。例如: 若用户通过 anyRTC SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。 |
RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY | 1: 只写模式,用户替换 AudioFrame 中的数据以供 SDK 编码传输。例如: 若用户自行采集数据,可选择该模式。 |
RAW_AUDIO_FRAME_OP_MODE_READ_WRITE | 2: 读写模式, 用户从 AudioFrame 获取并修改数据、修改,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 |
AUDIO_SAMPLE_RATE_TYPE
enum ar::rtc::AUDIO_SAMPLE_RATE_TYPE
用于旁路推流的输出音频的采样率
枚举值 | |
---|---|
AUDIO_SAMPLE_RATE_32000 | 32000: 32 kHz |
AUDIO_SAMPLE_RATE_44100 | 44100: 44.1 kHz |
AUDIO_SAMPLE_RATE_48000 | 48000: 48 kHz |
VIDEO_CODEC_PROFILE_TYPE
enum ar::rtc::VIDEO_CODEC_PROFILE_TYPE
用于旁路推流的输出视频的编解码规格
枚举值 | |
---|---|
VIDEO_CODEC_PROFILE_BASELINE | 66: Baseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。 |
VIDEO_CODEC_PROFILE_MAIN | 77: Main 级别的视频编码规格,一般用于主流消费类电子产品,如 mp4、便携的视频播放器、PSP 和 iPad 等。 |
VIDEO_CODEC_PROFILE_HIGH | 100: (默认)High 级别的视频编码规格,一般用于广播及视频碟片存储,高清电视。 |
VIDEO_CODEC_TYPE
enum ar::rtc::VIDEO_CODEC_TYPE
视频编码格式
枚举值 | |
---|---|
VIDEO_CODEC_VP8 | 标准 VP8 |
VIDEO_CODEC_H264 | 标准 H264 |
VIDEO_CODEC_EVP | 增强 VP8 |
VIDEO_CODEC_E264 | 增强 H264 |
AUDIO_EQUALIZATION_BAND_FREQUENCY
enum ar::rtc::AUDIO_EQUALIZATION_BAND_FREQUENCY
语音音效均衡波段的中心频率
枚举值 | |
---|---|
AUDIO_EQUALIZATION_BAND_31 | 0: 31 Hz |
AUDIO_EQUALIZATION_BAND_62 | 1: 62 Hz |
AUDIO_EQUALIZATION_BAND_125 | 2: 125 Hz |
AUDIO_EQUALIZATION_BAND_250 | 3: 250 Hz |
AUDIO_EQUALIZATION_BAND_500 | 4: 500 Hz |
AUDIO_EQUALIZATION_BAND_1K | 5: 1 kHz |
AUDIO_EQUALIZATION_BAND_2K | 6: 2 kHz |
AUDIO_EQUALIZATION_BAND_4K | 7: 4 kHz |
AUDIO_EQUALIZATION_BAND_8K | 8: 8 kHz |
AUDIO_EQUALIZATION_BAND_16K | 9: 16 kHz |
AUDIO_REVERB_TYPE
enum ar::rtc::AUDIO_REVERB_TYPE
各混响音效 Key 所对应的值
枚举值 | |
---|---|
AUDIO_REVERB_DRY_LEVEL | 0: 取值范围 [-20,10],单位为 dB, 原始声音强度,即所谓的 dry signal。 |
AUDIO_REVERB_WET_LEVEL | 1: 取值范围 [-20,10],单位为 dB, 早期反射信号强度,即所谓的 wet signal。 |
AUDIO_REVERB_ROOM_SIZE | 2: 所需混响效果的房间尺寸,一般房间越大,混响越强,取值范围 [0,100]。 |
AUDIO_REVERB_WET_DELAY | 3: 取值范围 [0,200],单位为毫秒, wet signal 的初始延迟长度,以毫秒为单位。 |
AUDIO_REVERB_STRENGTH | 4: 取值范围 [0,100], 混响持续的强度。 |
VOICE_CHANGER_PRESET
enum ar::rtc::VOICE_CHANGER_PRESET
预设的语音变声效果
枚举值 | |
---|---|
VOICE_CHANGER_OFF | 原声,即关闭语音变声。 |
VOICE_CHANGER_OLDMAN | 变声:老男人。 |
VOICE_CHANGER_BABYBOY | 变声:小男孩。 |
VOICE_CHANGER_BABYGIRL | 变声:小女孩。 |
VOICE_CHANGER_ZHUBAJIE | 变声:猪八戒。 |
VOICE_CHANGER_ETHEREAL | 变声:空灵。 |
VOICE_CHANGER_HULK | 变声:绿巨人。 |
VOICE_BEAUTY_VIGOROUS | 美音:浑厚。 |
VOICE_BEAUTY_DEEP | 美音:低沉。 |
VOICE_BEAUTY_MELLOW | 美音:圆润。 |
VOICE_BEAUTY_FALSETTO | 美音:假音。 |
VOICE_BEAUTY_FULL | 美音:饱满。 |
VOICE_BEAUTY_CLEAR | 美音:清澈。 |
VOICE_BEAUTY_RESOUNDING | 美音:高亢。 |
VOICE_BEAUTY_RINGING | 美音:嘹亮。 |
VOICE_BEAUTY_SPACIAL | 美音:空旷。 |
GENERAL_BEAUTY_VOICE_MALE_MAGNETIC | 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。 |
GENERAL_BEAUTY_VOICE_FEMALE_FRESH | 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 |
GENERAL_BEAUTY_VOICE_FEMALE_VITALITY | 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 |
AUDIO_REVERB_PRESET
enum ar::rtc::AUDIO_REVERB_PRESET
预设的语音混响效果
枚举值 | |
---|---|
AUDIO_REVERB_OFF | 原声,即关闭本地语音混响。 |
AUDIO_REVERB_FX_KTV | KTV(增强版)。 |
AUDIO_REVERB_FX_VOCAL_CONCERT | 演唱会(增强版)。 |
AUDIO_REVERB_FX_UNCLE | 大叔。 |
AUDIO_REVERB_FX_SISTER | 小姐姐。 |
AUDIO_REVERB_FX_STUDIO | 录音棚(增强版)。 |
AUDIO_REVERB_FX_POPULAR | 流行(增强版)。 |
AUDIO_REVERB_FX_RNB | R&B(增强版)。 |
AUDIO_REVERB_FX_PHONOGRAPH | 留声机。 |
AUDIO_REVERB_POPULAR | 流行。 |
AUDIO_REVERB_RNB | R&B。 |
AUDIO_REVERB_ROCK | 摇滚。 |
AUDIO_REVERB_HIPHOP | 嘻哈。 |
AUDIO_REVERB_VOCAL_CONCERT | 演唱会。 |
AUDIO_REVERB_KTV | KTV。 |
AUDIO_REVERB_STUDIO | 录音棚。 |
AUDIO_VIRTUAL_STEREO | 虚拟立体声。虚拟立体声是指将单声道的音轨渲染出立体声的效果,使频道内所有用户听到有空间感的声音 anyRTC 推荐在调用该方法前将 setAudioProfile 的 profile 参 数设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5) 。 |
AUDIO_CODEC_PROFILE_TYPE
enum ar::rtc::AUDIO_CODEC_PROFILE_TYPE
用于旁路推流的输出音频的编解码规格,默认为 LC-AAC
枚举值 | |
---|---|
AUDIO_CODEC_PROFILE_LC_AAC | 0: LC-AAC 规格,表示基本音频编码规格。 |
AUDIO_CODEC_PROFILE_HE_AAC | 1: HE-AAC 规格,表示高效音频编码规格。 |
REMOTE_AUDIO_STATE
enum ar::rtc::REMOTE_AUDIO_STATE
远端音频流状态
枚举值 | |
---|---|
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: 远端音频流卡顿。在 [EMOTE_AUDIO_REASON_NETWORK_CONGESTION (1) 的情况下,会报告该状态。 |
REMOTE_AUDIO_STATE_FAILED | 4: 远端音频流播放失败。在 REMOTE_AUDIO_REASON_INTERNAL (0) 的情况下,会报告该状态。 |
REMOTE_AUDIO_STATE_REASON
enum ar::rtc::REMOTE_AUDIO_STATE_REASON
远端音频流状态改变的具体原因
枚举值 | |
---|---|
REMOTE_AUDIO_REASON_INTERNAL | 0: 内部原因。 |
REMOTE_AUDIO_REASON_NETWORK_CONGESTION | 1: 网络阻塞。 |
REMOTE_AUDIO_REASON_NETWORK_RECOVERY | 2: 网络恢复正常。 |
REMOTE_AUDIO_REASON_LOCAL_MUTED | 3: 本地用户停止接收远端音频流或本地用户禁用音频模块。 |
REMOTE_AUDIO_REASON_LOCAL_UNMUTED | 4: 本地用户恢复接收远端音频流或本地用户启用音频模块。 |
REMOTE_AUDIO_REASON_REMOTE_MUTED | 5: 远端用户停止发送音频流或远端用户禁用音频模块。 |
REMOTE_AUDIO_REASON_REMOTE_UNMUTED | 6: 远端用户恢复发送音频流或远端用户启用音频模块。 |
REMOTE_AUDIO_REASON_REMOTE_OFFLINE | 7: 远端用户离开频道。 |
STREAM_PUBLISH_STATE
enum ar::rtc::STREAM_PUBLISH_STATE
发布状态
枚举值 | |
---|---|
PUB_STATE_IDLE | 0: 加入频道后的初始发布状态。 |
PUB_STATE_NO_PUBLISHED | 1: 发布失败。可能是因为: |
PUB_STATE_PUBLISHING | 2: 正在发布。 |
PUB_STATE_PUBLISHED | 3: 发布成功。 |
STREAM_SUBSCRIBE_STATE
enum ar::rtc::STREAM_SUBSCRIBE_STATE
发布状态
枚举值 | |
---|---|
SUB_STATE_IDLE | 0: 加入频道后的初始订阅状态。 |
SUB_STATE_NO_SUBSCRIBED | 1: 订阅失败。可能是因为: 远端用户: |
SUB_STATE_SUBSCRIBING | 2: 正在订阅。 |
SUB_STATE_SUBSCRIBED | 3: 收到了远端流,订阅成功。 |
REMOTE_VIDEO_STATE
enum ar::rtc::REMOTE_VIDEO_STATE
远端视频流状态
枚举值 | |
---|---|
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) 的情况下,会报告该状态。 |
REMOTE_VIDEO_STATE_REASON
enum ar::rtc::REMOTE_VIDEO_STATE_REASON
远端视频流状态切换原因
枚举值 | |
---|---|
REMOTE_VIDEO_STATE_REASON_INTERNAL | 0: 内部原因。 |
REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION | 1: 网络阻塞。 |
REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY | 2: 网络恢复正常。 |
REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED | 3: 本地用户停止接收远端视频流或本地用户禁用视频模块。 |
REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED | 4: 本地用户恢复接收远端视频流或本地用户启动视频模块。 |
REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED | 5: 远端用户停止发送视频流或远端用户禁用视频模块。 |
REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED | 6: 远端用户恢复发送视频流或远端用户启用视频模块。 |
REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE | 7: 远端用户离开频道。 |
REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK | 8: 远端视频流已回退为音频流。 |
REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY | 9: 回退的远端音频流恢复为视频流。 |
FRAME_RATE
enum ar::rtc::FRAME_RATE
视频帧率
枚举值 | |
---|---|
FRAME_RATE_FPS_1 | 1: 1 fps |
FRAME_RATE_FPS_7 | 7: 7 fps |
FRAME_RATE_FPS_10 | 10: 10 fps |
FRAME_RATE_FPS_15 | 15: 15 fps |
FRAME_RATE_FPS_24 | 24: 24 fps |
FRAME_RATE_FPS_30 | 30: 30 fps |
FRAME_RATE_FPS_60 | 60: 60 fps 仅适用于 WINDOWS 和 macOS 平台 |
ORIENTATION_MODE
enum ar::rtc::ORIENTATION_MODE
视频编码的方向模式
枚举值 | |
---|---|
ORIENTATION_MODE_ADAPTIVE | 0: (默认)该模式下 SDK 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转。该模式适用于接收端可以调整视频方向的场景。如果采集的视频是横屏模式,则输出的视频也是横屏模式;如果采集的视频是竖屏模式,则输出的视频也是竖屏模式。 |
ORIENTATION_MODE_FIXED_LANDSCAPE | 1: 该模式下 SDK 固定输出风景(横屏)模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 |
ORIENTATION_MODE_FIXED_PORTRAIT | 2: 该模式下 SDK 固定输出人像(竖屏)模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 |
DEGRADATION_PREFERENCE
enum ar::rtc::DEGRADATION_PREFERENCE
带宽受限时的视频编码降级偏好
枚举值 | |
---|---|
MAINTAIN_QUALITY | (默认)降低编码帧率以保证视频质量 |
MAINTAIN_FRAMERATE | 降低视频质量以保证编码帧率 |
MAINTAIN_BALANCED | 预留参数,暂不支持 |
STREAM_FALLBACK_OPTIONS
enum ar::rtc::STREAM_FALLBACK_OPTIONS
音视频流回退处理选项
枚举值 | |
---|---|
STREAM_FALLBACK_OPTION_DISABLED | 0: 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 |
STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW | 1: 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 setRemoteSubscribeFallbackOption 有效,对 setLocalPublishFallbackOption 方法无效。 |
STREAM_FALLBACK_OPTION_AUDIO_ONLY | 2: 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。 |
CAPTURER_OUTPUT_PREFERENCE
enum ar::rtc::CAPTURER_OUTPUT_PREFERENCE
摄像头采集偏好
枚举值 | |
---|---|
CAPTURER_OUTPUT_PREFERENCE_AUTO | (默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 |
CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE | 优先保证设备性能。SDK 根据用户在 setVideoEncoderConfiguration 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 |
CAPTURER_OUTPUT_PREFERENCE_PREVIEW | 优先保证视频预览质量。SDK选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 |
PRIORITY_TYPE
enum ar::rtc::PRIORITY_TYPE
远端用户的需求优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。
枚举值 | |
---|---|
PRIORITY_HIGH | 用户需求优先级为高。 |
PRIORITY_NORMAL | (默认)用户需求优先级为正常。 |
CONNECTION_STATE_TYPE
enum ar::rtc::CONNECTION_STATE_TYPE
网络连接状态
枚举值 | |
---|---|
CONNECTION_STATE_DISCONNECTED | 1: 网络连接断开。该状态表示 SDK 处于:调用 joinChannel 加入频道前的初始化阶段;或调用 leaveChannel 后的离开频道阶段。 |
CONNECTION_STATE_CONNECTING | 2: 建立网络连接中。该状态表示 SDK 在调用 joinChannel 后正在与指定的频道建立连接。如果成功加入频道,App 会收到 onConnectionStateChanged 回调,通知当前网络状态变成 CONNECTION_STATE_CONNECTED 。建立连接后,SDK 还会初始化媒体,一切就绪后会回调 onJoinChannelSuccess 。 |
CONNECTION_STATE_CONNECTED | 3: 网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时应用程序会收到:onConnectionStateChanged 回调,通知当前网络状态变成 CONNECTION_STATE_RECONNECTING |
CONNECTION_STATE_RECONNECTING | 4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。如果 SDK 无法在 10 秒内重新加入频道,则 onConnectionLost 会被触发,SDK 会一直保持在 CONNECTION_STATE_RECONNECTING 的状态,并不断尝试重新加入频道。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,则应用程序会收到 onConnectionStateChanged 回调,通知的网络状态进入 CONNECTION_STATE_FAILED ,SDK 停止尝试重连。 |
CONNECTION_STATE_FAILED | 5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,用户必须要调用 leaveChannel 离开频道。如果用户还想重新加入频道,则需要再次调用 joinChannel 。如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则应用程序会收到 onConnectionStateChanged 回调。 |
CONNECTION_CHANGED_REASON_TYPE
enum ar::rtc::CONNECTION_CHANGED_REASON_TYPE
引起网络连接状态发生改变的原因
枚举值 | |
---|---|
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 无效。一般有以下原因:在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App Certificate,必须使用 Token。在调用 joinChannel 加入频道时指定的 uid 与生成 Token 时传入的 uid 不一致。 |
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)。 |
NETWORK_TYPE
enum ar::rtc::NETWORK_TYPE
网络连接类型
枚举值 | |
---|---|
NETWORK_TYPE_UNKNOWN | -1: 网络连接类型未知。 |
NETWORK_TYPE_DISCONNECTED | 0: 网络连接已断开。 |
NETWORK_TYPE_LAN | 1: 网络类型为 LAN。 |
NETWORK_TYPE_WIFI | 2: 网络类型为 Wi-Fi(包含热点)。 |
NETWORK_TYPE_MOBILE_2G | 3: 网络类型为 2G 移动网络。 |
NETWORK_TYPE_MOBILE_3G | 4: 网络类型为 3G 移动网络。 |
NETWORK_TYPE_MOBILE_4G | 5: 网络类型为 4G 移动网络。 |
LASTMILE_PROBE_RESULT_STATE
enum ar::rtc::LASTMILE_PROBE_RESULT_STATE
Last mile 质量探测结果的状态
枚举值 | |
---|---|
LASTMILE_PROBE_RESULT_COMPLETE | 1: 表示本次 last mile 质量探测的结果是完整的。 |
LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE | 2: 表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。 |
LASTMILE_PROBE_RESULT_UNAVAILABLE | 3: 未进行 last mile 质量探测。一个可能的原因是网络连接中断。 |
AUDIO_ROUTE_TYPE
enum ar::rtc::AUDIO_ROUTE_TYPE
语音路由
枚举值 | |
---|---|
AUDIO_ROUTE_DEFAULT | 使用默认的语音路由 |
AUDIO_ROUTE_HEADSET | 使用耳机为语音路由 |
AUDIO_ROUTE_EARPIECE | 使用听筒为语音路由 |
AUDIO_ROUTE_HEADSET_NO_MIC | 使用不带麦的耳机为语音路由 |
AUDIO_ROUTE_SPEAKERPHONE | 使用手机的扬声器为语音路由 |
AUDIO_ROUTE_LOUDSPEAKER | 使用外接的扬声器为语音路由 |
AUDIO_ROUTE_BLUETOOTH | 使用蓝牙耳机为语音路由 |
AUDIO_SESSION_OPERATION_RESTRICTION
enum ar::rtc::AUDIO_SESSION_OPERATION_RESTRICTION
音频会话控制权限
AR SDK 对 Audio Session 的控制权限
枚举值 | |
---|---|
AUDIO_SESSION_OPERATION_RESTRICTION_NONE | 没有限制,SDK 可以完全控制 Audio Session 操作。 |
AUDIO_SESSION_OPERATION_RESTRICTION_SET_CATEGORY | SDK 不能更改 Audio Session 的 category。 |
AUDIO_SESSION_OPERATION_RESTRICTION_CONFIGURE_SESSION | SDK 不能更改 Audio Session 的 category,mode,categoryOptions。 |
AUDIO_SESSION_OPERATION_RESTRICTION_DEACTIVATE_SESSION | 离开某个频道时,SDK 会保持 Audio Session 处于活动状态。 |
AUDIO_SESSION_OPERATION_RESTRICTION_ALL | 限制 SDK 对 Audio Session 进行任何操作,SDK 将不能再对 Audio Session 进行任何配置。 |
CAMERA_DIRECTION
enum ar::rtc::CAMERA_DIRECTION
音频会话控制权限
AR SDK 对 Audio Session 的控制权限
枚举值 | |
---|---|
CAMERA_REAR | 0: 后置摄像头 |
CAMERA_FRONT | 1: 前置摄像头 |
QUALITY_ADAPT_INDICATION
enum ar::rtc::QUALITY_ADAPT_INDICATION
自上次统计后本地视频质量的自适应情况(基于目标帧率和目标码率)
AR SDK 对 Audio Session 的控制权限
枚举值 | |
---|---|
ADAPT_NONE | 本地视频质量不变。 |
ADAPT_UP_BANDWIDTH | 因网络带宽增加,本地视频质量改善。 |
ADAPT_DOWN_BANDWIDTH | 因网络带宽减少,本地视频质量变差。 |
CHANNEL_MEDIA_RELAY_ERROR
enum ar::rtc::CHANNEL_MEDIA_RELAY_ERROR
跨频道媒体流转发出错的错误码
枚举值 | |
---|---|
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 已过期。 |
CHANNEL_MEDIA_RELAY_EVENT
enum ar::rtc::CHANNEL_MEDIA_RELAY_EVENT
跨频道媒体流转发事件码
枚举值 | |
---|---|
RELAY_EVENT_NETWORK_DISCONNECTED | 0: 网络中断导致用户与服务器连接断开。 |
RELAY_EVENT_NETWORK_CONNECTED | 1: 用户与服务器建立连接。 |
RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL | 2: 用户已加入源频道。 |
RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL | 3: 用户已加入目标频道。 |
RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL | 4: SDK 开始向目标频道发送数据包。 |
RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC | 5: 服务器收到了目标频道发送的视频流。 |
RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC | 6: 服务器收到了目标频道发送的音频流。 |
RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL | 7: 目标频道已更新。 |
RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED | 8: 内部原因导致目标频道更新失败。 |
RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE | 9: 目标频道未发生改变,即目标频道更新失败。 |
RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL | 10: 目标频道名为 NULL。 |
RELAY_EVENT_VIDEO_PROFILE_UPDATE | 11: 视频属性已发送至服务器。 |
CHANNEL_MEDIA_RELAY_STATE
enum ar::rtc::CHANNEL_MEDIA_RELAY_STATE
跨频道媒体流转发状态码
枚举值 | |
---|---|
RELAY_STATE_IDLE | 0: SDK 正在初始化。 |
RELAY_STATE_CONNECTING | 1: SDK 尝试跨频道。 |
RELAY_STATE_RUNNING | 2: 源频道主播成功加入目标频道。 |
RELAY_STATE_FAILURE | 3: 发生异常,详见 code 中提示的错误信息。 |
RTMP_STREAM_LIFE_CYCLE_TYPE
enum ar::rtc::RTMP_STREAM_LIFE_CYCLE_TYPE
服务端转码推流的生命周期
VideoContentHint
enum ar::rtc::VideoContentHint
屏幕共享的内容类型
枚举值 | |
---|---|
CONTENT_HINT_NONE | (默认)无指定的内容类型 |
CONTENT_HINT_MOTION | 内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。 |
CONTENT_HINT_DETAILS | 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。 |
ENCRYPTION_CONFIG
enum ar::rtc::ENCRYPTION_CONFIG
枚举值 | |
---|---|
ENCRYPTION_FORCE_SETTING | |
ENCRYPTION_FORCE_DISABLE_PACKET |
VIDEO_CAPTURE_TYPE
enum ar::rtc::VIDEO_CAPTURE_TYPE
外部视频源的类型。
枚举值 | |
---|---|
VIDEO_CAPTURE_UNKNOWN | 未知类型。 |
VIDEO_CAPTURE_CAMERA | (默认)摄像头采集的视频。 |
VIDEO_CAPTURE_SCREEN | 屏幕共享的视频。 |
ENCRYPTION_MODE
enum ar::rtc::ENCRYPTION_MODE
内置加密模式。
枚举值 | |
---|---|
AES_128_XTS | 1:(默认)128 位 AES 加密,XTS 模式。 |
AES_128_ECB | 2: 128 位 AES 加密,ECB 模式。 |
AES_256_XTS | 3: 256 位 AES 加密,XTS 模式。 |
SM4_128_ECB | 4: 128 位 SM4 加密,ECB 模式。 |
MODE_END | 枚举值边界。 |
变量说明
STANDARD_BITRATE
const int ar::rtc::STANDARD_BITRATE = 0
setVideoEncoderConfiguration 的标准码率。
(推荐)标准码率模式。该模式下,视频在通信和直播场景下的码率有所不同:通信场景下,码率与基准码率一致;直播场景下,码率对照基准码率翻倍。
COMPATIBLE_BITRATE
const int ar::rtc::COMPATIBLE_BITRATE = -1
setVideoEncoderConfiguration 的兼容码率。
适配码率模式。该模式下,视频在通信和直播场景下的码率均与基准码率一致。直播下如果选择该模式,视频帧率可能会低于设置的值。
DEFAULT_MIN_BITRATE
const int ar::rtc::DEFAULT_MIN_BITRATE = -1
使用系统默认最低编码码率。