Agora Java API Reference for Android

Classes | Static Public Attributes | List of all members
io.agora.rtc2.Constants Class Reference

## Classes
enum | AUDIO_EQUALIZATION_BAND_FREQUENCY
enum | AUDIO_REVERB_TYPE
enum | AudioMixingDualMonoMode
enum | AudioProfile
enum | AudioScenario
enum | AudioSourceType
enum | AudioTrackType
enum | BytesPerSample
enum | ExternalVideoSourceType
enum | LogLevel
enum | MEDIA_TRACE_EVENT
enum | MediaSourceType
enum | MediaType
enum | QoEPreference
enum | ScreenScenarioType
enum | SimulcastStreamMode
enum | StreamFallbackOptions
enum | ThreadPriorityType
enum | VideoModulePosition
enum | VideoScenario
enum | VideoSourceType
enum | VideoStreamType
enum | VOICE_AI_TUNER_TYPE

## Static Public Attributes
static final int | LASTMILE_PROBE_RESULT_COMPLETE = 1
static final int | LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE = 2
static final int | LASTMILE_PROBE_RESULT_UNAVAILABLE = 3
static final int | QUALITY_UNKNOWN = 0
static final int | QUALITY_EXCELLENT = 1
static final int | QUALITY_GOOD = 2
static final int | QUALITY_POOR = 3
static final int | QUALITY_BAD = 4
static final int | QUALITY_VBAD = 5
static final int | QUALITY_DOWN = 6
static final int | QUALITY_UNSUPPORTED = 7
static final int | QUALITY_DETECTING = 8
static final int | WARN_INVALID_VIEW = 8
static final int | WARN_INIT_VIDEO = 16
static final int | WARN_PENDING = 20
static final int | WARN_NO_AVAILABLE_CHANNEL = 103
static final int | WARN_LOOKUP_CHANNEL_TIMEOUT = 104
static final int | WARN_LOOKUP_CHANNEL_REJECTED = 105
static final int | WARN_OPEN_CHANNEL_TIMEOUT = 106
static final int | WARN_OPEN_CHANNEL_REJECTED = 107
static final int | WARN_SWITCH_LIVE_VIDEO_TIMEOUT = 111
static final int | WARN_SET_CLIENT_ROLE_TIMEOUT = 118
static final int | WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119
static final int | WARN_OPEN_CHANNEL_INVALID_TICKET = 121
static final int | WARN_OPEN_CHANNEL_TRY_NEXT_VOS = 122
static final int | WARN_AUDIO_MIXING_OPEN_ERROR = 701
static final int | WARN_ADM_RUNTIME_PLAYOUT_WARNING = 1014
static final int | WARN_ADM_RUNTIME_RECORDING_WARNING = 1016
static final int | WARN_ADM_RECORD_AUDIO_SILENCE = 1019
static final int | WARN_ADM_RECORD_AUDIO_LOWLEVEL = 1031
static final int | WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL = 1032
static final int | WARN_ADM_RECORD_IS_OCCUPIED = 1033
static final int | WARN_APM_HOWLING = 1051
static final int | WARN_ADM_GLITCH_STATE = 1052
static final int | WARN_ADM_IMPROPER_SETTINGS = 1053
static final int | WARN_ADM_POP_STATE = 1055
static final int | ERR_OK = 0
static final int | ERR_FAILED = 1
static final int | ERR_INVALID_ARGUMENT = 2
static final int | ERR_NOT_READY = 3
static final int | ERR_NOT_SUPPORTED = 4
static final int | ERR_REFUSED = 5
static final int | ERR_BUFFER_TOO_SMALL = 6
static final int | ERR_NOT_INITIALIZED = 7
static final int | ERR_INVALID_STATE = 8
static final int | ERR_NO_PERMISSION = 9
static final int | ERR_TIMEDOUT = 10
static final int | ERR_CANCELED = 11
static final int | ERR_TOO_OFTEN = 12
static final int | ERR_BIND_SOCKET = 13
static final int | ERR_NET_DOWN = 14
static final int | ERR_JOIN_CHANNEL_REJECTED = 17
static final int | ERR_LEAVE_CHANNEL_REJECTED = 18
static final int | ERR_ALREADY_IN_USE = 19
static final int | ERR_ABORTED = 20
static final int | ERR_INIT_NET_ENGINE = 21
static final int | ERR_RESOURCE_LIMITED = 22
static final int | ERR_INVALID_APP_ID = 101
static final int | ERR_INVALID_CHANNEL_NAME = 102
static final int | ERR_NO_SERVER_RESOURCES = 103
static final int | ERR_TOKEN_EXPIRED = 109
static final int | ERR_INVALID_TOKEN = 110
static final int | ERR_CONNECTION_INTERRUPTED = 111
static final int | ERR_CONNECTION_LOST = 112
static final int | ERR_NOT_IN_CHANNEL = 113
static final int | ERR_SIZE_TOO_LARGE = 114
static final int | ERR_BITRATE_LIMIT = 115
static final int | ERR_TOO_MANY_DATA_STREAMS = 116
static final int | ERR_STREAM_MESSAGE_TIMEOUT = 117
static final int | ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119
static final int | ERR_DECRYPTION_FAILED = 120
static final int | ERR_INVALID_USER_ID = 121
static final int | ERR_DATASTREAM_DECRYPTION_FAILED = 122
static final int | ERR_CLIENT_IS_BANNED_BY_SERVER = 123
static final int | ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH = 130
static final int | ERR_LICENSE_CREDENTIAL_INVALID = 131
static final int | ERR_INVALID_USER_ACCOUNT = 134
static final int | ERR_MODULE_NOT_FOUND = 157
static final int | ERR_PCMSEND_FORMAT = 200
static final int | ERR_PCMSEND_BUFFEROVERFLOW = 201
static final int | ERR_LOAD_MEDIA_ENGINE = 1001
static final int | ERR_ADM_GENERAL_ERROR = 1005
static final int | ERR_ADM_INIT_PLAYOUT = 1008
static final int | ERR_ADM_START_PLAYOUT = 1009
static final int | ERR_ADM_STOP_PLAYOUT = 1010
static final int | ERR_ADM_INIT_RECORDING = 1011
static final int | ERR_ADM_START_RECORDING = 1012
static final int | ERR_ADM_STOP_RECORDING = 1013
static final int | ERR_AUDIO_BT_SCO_FAILED = 1030
static final int | ERR_VDM_CAMERA_NOT_AUTHORIZED = 1501
static final int | VIDEO_PROFILE_120P = 0
static final int | VIDEO_PROFILE_120P_3 = 2
static final int | VIDEO_PROFILE_180P = 10
static final int | VIDEO_PROFILE_180P_3 = 12
static final int | VIDEO_PROFILE_180P_4 = 13
static final int | VIDEO_PROFILE_240P = 20
static final int | VIDEO_PROFILE_240P_3 = 22
static final int | VIDEO_PROFILE_240P_4 = 23
static final int | VIDEO_PROFILE_360P = 30
static final int | VIDEO_PROFILE_360P_3 = 32
static final int | VIDEO_PROFILE_360P_4 = 33
static final int | VIDEO_PROFILE_360P_6 = 35
static final int | VIDEO_PROFILE_360P_7 = 36
static final int | VIDEO_PROFILE_360P_8 = 37
static final int | VIDEO_PROFILE_360P_9 = 38
static final int | VIDEO_PROFILE_360P_10 = 39
static final int | VIDEO_PROFILE_360P_11 = 100
static final int | VIDEO_PROFILE_480P = 40
static final int | VIDEO_PROFILE_480P_3 = 42
static final int | VIDEO_PROFILE_480P_4 = 43
static final int | VIDEO_PROFILE_480P_6 = 45
static final int | VIDEO_PROFILE_480P_8 = 47
static final int | VIDEO_PROFILE_480P_9 = 48
static final int | VIDEO_PROFILE_480P_10 = 49
static final int | VIDEO_PROFILE_720P = 50
static final int | VIDEO_PROFILE_720P_3 = 52
static final int | VIDEO_PROFILE_720P_5 = 54
static final int | VIDEO_PROFILE_720P_6 = 55
static final int | VIDEO_PROFILE_1080P = 60
static final int | VIDEO_PROFILE_1080P_3 = 62
static final int | VIDEO_PROFILE_1080P_5 = 64
static final int | VIDEO_PROFILE_1440P = 66
static final int | VIDEO_PROFILE_1440P_2 = 67
static final int | VIDEO_PROFILE_4K = 70
static final int | VIDEO_PROFILE_4K_3 = 72
static final int | VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_360P
static final int | AUDIO_PROFILE_DEFAULT = 0
static final int | AUDIO_PROFILE_SPEECH_STANDARD = 1
static final int | AUDIO_PROFILE_MUSIC_STANDARD = 2
static final int | AUDIO_PROFILE_MUSIC_STANDARD_STEREO = 3
static final int | AUDIO_PROFILE_MUSIC_HIGH_QUALITY = 4
static final int | AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO = 5
static final int | AUDIO_SCENARIO_DEFAULT = 0
static final int | AUDIO_SCENARIO_GAME_STREAMING = 3
static final int | AUDIO_SCENARIO_CHATROOM = 5
static final int | AUDIO_SCENARIO_CHORUS = 7
static final int | AUDIO_SCENARIO_MEETING = 8
static final int | AUDIO_SCENARIO_AI_SERVER = 9
static final int | AUDIO_SCENARIO_AI_CLIENT = 10
static final int | VOICE_BEAUTIFIER_OFF = 0x00000000
static final int | AUDIO_EFFECT_OFF = 0x00000000
static final int | CHAT_BEAUTIFIER_MAGNETIC = 0x01010100
static final int | CHAT_BEAUTIFIER_FRESH = 0x01010200
static final int | CHAT_BEAUTIFIER_VITALITY = 0x01010300
static final int | SINGING_BEAUTIFIER = 0x01020100
static final int | TIMBRE_TRANSFORMATION_VIGOROUS = 0x01030100
static final int | TIMBRE_TRANSFORMATION_DEEP = 0x01030200
static final int | TIMBRE_TRANSFORMATION_MELLOW = 0x01030300
static final int | TIMBRE_TRANSFORMATION_FALSETTO = 0x01030400
static final int | TIMBRE_TRANSFORMATION_FULL = 0x01030500
static final int | TIMBRE_TRANSFORMATION_CLEAR = 0x01030600
static final int | TIMBRE_TRANSFORMATION_RESOUNDING = 0x01030700
static final int | TIMBRE_TRANSFORMATION_RINGING = 0x01030800
static final int | ULTRA_HIGH_QUALITY_VOICE = 0x01040100
static final int | ROOM_ACOUSTICS_KTV = 0x02010100
static final int | ROOM_ACOUSTICS_VOCAL_CONCERT = 0x02010200
static final int | ROOM_ACOUSTICS_STUDIO = 0x02010300
static final int | ROOM_ACOUSTICS_PHONOGRAPH = 0x02010400
static final int | ROOM_ACOUSTICS_VIRTUAL_STEREO = 0x02010500
static final int | ROOM_ACOUSTICS_SPACIAL = 0x02010600
static final int | ROOM_ACOUSTICS_ETHEREAL = 0x02010700
static final int | ROOM_ACOUSTICS_3D_VOICE = 0x02010800
static final int | ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND = 0x02010900
static final int | ROOM_ACOUSTICS_CHORUS = 0x02010D00
static final int | VOICE_CHANGER_EFFECT_UNCLE = 0x02020100
static final int | VOICE_CHANGER_EFFECT_OLDMAN = 0x02020200
static final int | VOICE_CHANGER_EFFECT_BOY = 0x02020300
static final int | VOICE_CHANGER_EFFECT_SISTER = 0x02020400
static final int | VOICE_CHANGER_EFFECT_GIRL = 0x02020500
static final int | VOICE_CHANGER_EFFECT_PIGKING = 0x02020600
static final int | VOICE_CHANGER_EFFECT_HULK = 0x02020700
static final int | STYLE_TRANSFORMATION_RNB = 0x02030100
static final int | STYLE_TRANSFORMATION_POPULAR = 0x02030200
static final int | PITCH_CORRECTION = 0x02040100
static final int | VOICE_CONVERSION_OFF = 0x00000000
static final int | VOICE_CHANGER_NEUTRAL = 0x03010100
static final int | VOICE_CHANGER_SWEET = 0x03010200
static final int | VOICE_CHANGER_SOLID = 0x03010300
static final int | VOICE_CHANGER_BASS = 0x03010400
static final int | VOICE_CHANGER_CARTOON = 0x03010500
static final int | VOICE_CHANGER_CHILDLIKE = 0x03010600
static final int | VOICE_CHANGER_PHONE_OPERATOR = 0x03010700
static final int | VOICE_CHANGER_MONSTER = 0x03010800
static final int | VOICE_CHANGER_TRANSFORMERS = 0x03010900
static final int | VOICE_CHANGER_GROOT = 0x03010A00
static final int | VOICE_CHANGER_DARTH_VADER = 0x03010B00
static final int | VOICE_CHANGER_IRON_LADY = 0x03010C00
static final int | VOICE_CHANGER_SHIN_CHAN = 0x03010D00
static final int | VOICE_CHANGER_GIRLISH_MAN = 0x03010E00
static final int | VOICE_CHANGER_CHIPMUNK = 0x03010F00
static final int | HEADPHONE_EQUALIZER_OFF = 0x00000000
static final int | HEADPHONE_EQUALIZER_OVEREAR = 0x04000001
static final int | HEADPHONE_EQUALIZER_INEAR = 0x04000002
static final int | CHANNEL_PROFILE_COMMUNICATION = 0
static final int | CHANNEL_PROFILE_LIVE_BROADCASTING = 1
static final int | CHANNEL_PROFILE_GAME = 2
static final int | CHANNEL_PROFILE_CLOUD_GAMING = 3
static final int | CHANNEL_PROFILE_COMMUNICATION_1v1 = 4
static final int | CLIENT_ROLE_BROADCASTER = 1
static final int | CLIENT_ROLE_AUDIENCE = 2
static final int | AUDIENCE_LATENCY_LEVEL_LOW_LATENCY = 1
static final int | AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY = 2
static final int | USER_OFFLINE_QUIT = 0
static final int | USER_OFFLINE_DROPPED = 1
static final int | USER_OFFLINE_BECOME_AUDIENCE = 2
static final int | CAPTURE_BRIGHTNESS_LEVEL_INVALID = -1
static final int | CAPTURE_BRIGHTNESS_LEVEL_NORMAL = 0
static final int | CAPTURE_BRIGHTNESS_LEVEL_BRIGHT = 1
static final int | CAPTURE_BRIGHTNESS_LEVEL_DARK = 2
static final int | INJECT_STREAM_STATUS_START_SUCCESS = 0
static final int | INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1
static final int | INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2
static final int | INJECT_STREAM_STATUS_START_TIMEDOUT = 3
static final int | INJECT_STREAM_STATUS_START_FAILED = 4
static final int | INJECT_STREAM_STATUS_STOP_SUCCESS = 5
static final int | INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6
static final int | INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7
static final int | INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8
static final int | INJECT_STREAM_STATUS_STOP_FAILED = 9
static final int | INJECT_STREAM_STATUS_BROKEN = 10
static final int | QUALITY_REPORT_FORMAT_JSON = 0
static final int | QUALITY_REPORT_FORMAT_HTML = 1
static final int | RENDER_MODE_HIDDEN = 1
static final int | RENDER_MODE_FIT = 2
static final int | RENDER_MODE_ADAPTIVE = 3
static final int | VIDEO_MIRROR_MODE_AUTO = 0
static final int | VIDEO_MIRROR_MODE_ENABLED = 1
static final int | VIDEO_MIRROR_MODE_DISABLED = 2
static final int | SCREEN_CAPTURE_CONTENT_HINT_NONE = 0
static final int | SCREEN_CAPTURE_CONTENT_HINT_MOTION = 1
static final int | SCREEN_CAPTURE_CONTENT_HINT_DETAILS = 2
static final int | VIDEO_SOURCE_CAMERA_PRIMARY = 0
static final int | VIDEO_SOURCE_CAMERA_SECONDARY = 1
static final int | VIDEO_SOURCE_SCREEN_PRIMARY = 2
static final int | VIDEO_SOURCE_SCREEN_SECONDARY = 3
static final int | VIDEO_SOURCE_CUSTOM = 4
static final int | VIDEO_SOURCE_MEDIA_PLAYER = 5
static final int | VIDEO_SOURCE_RTC_IMAGE_PNG = 6
static final int | VIDEO_SOURCE_RTC_IMAGE_JPEG = 7
static final int | VIDEO_SOURCE_RTC_IMAGE_GIF = 8
static final int | VIDEO_SOURCE_REMOTE = 9
static final int | VIDEO_SOURCE_TRANSCODED = 10
static final int | VIDEO_SOURCE_UNKNOWN = 100
static final int | LOG_FILTER_OFF = 0
static final int | LOG_FILTER_DEBUG = 0x80f
static final int | LOG_FILTER_INFO = 0x0f
static final int | LOG_FILTER_WARNING = 0x0e
static final int | LOG_FILTER_ERROR = 0x0c
static final int | LOG_FILTER_CRITICAL = 0x08
static final int | LOG_LEVEL_NONE = 0x0000
static final int | LOG_LEVEL_INFO = 0x0001
static final int | LOG_LEVEL_WARNING = 0x0002
static final int | LOG_LEVEL_ERROR = 0x0004
static final int | LOG_LEVEL_FATAL = 0x0008
static final int | AUDIO_ROUTE_DEFAULT = -1
static final int | AUDIO_ROUTE_HEADSET = 0
static final int | AUDIO_ROUTE_EARPIECE = 1
static final int | AUDIO_ROUTE_HEADSETNOMIC = 2
static final int | AUDIO_ROUTE_SPEAKERPHONE = 3
static final int | AUDIO_ROUTE_LOUDSPEAKER = 4
static final int | AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP = 5
static final int | AUDIO_ROUTE_USBDEVICE = 6
static final int | AUDIO_ROUTE_HDMI = 7
static final int | AUDIO_ROUTE_USB_HEADSET = 8
static final int | AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP = 10
static final int | VIDEO_STREAM_HIGH = 0
static final int | VIDEO_STREAM_LOW = 1
static final int | USER_PRIORITY_HIGH = 50
static final int | USER_PRIORITY_NORANL = 100
static final int | HARDWARE_ENCODER = 0
static final int | SOFTWARE_ENCODER = 1
static final int | RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0
static final int | RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2
static final int | POSITION_PLAYBACK = 0x01
static final int | POSITION_RECORD = 0x01 << 1
static final int | POSITION_MIXED = 0x01 << 2
static final int | POSITION_BEFORE_MIXING = 0x01 << 3
static final int | POSITION_EAR_MONITORING = 0x01 << 4
static final int | MEDIA_ENGINE_RECORDING_ERROR = 0
static final int | MEDIA_ENGINE_PLAYOUT_ERROR = 1
static final int | MEDIA_ENGINE_RECORDING_WARNING = 2
static final int | MEDIA_ENGINE_PLAYOUT_WARNING = 3
static final int | MEDIA_ENGINE_AUDIO_FILE_MIX_FINISH = 10
static final int | MEDIA_ENGINE_ROLE_BROADCASTER_SOLO = 20
static final int | MEDIA_ENGINE_ROLE_BROADCASTER_INTERACTIVE = 21
static final int | MEDIA_ENGINE_ROLE_AUDIENCE = 22
static final int | MEDIA_ENGINE_ROLE_COMM_PEER = 23
static final int | NETWORK_TYPE_UNKNOWN = -1
static final int | NETWORK_TYPE_DISCONNECTED = 0
static final int | NETWORK_TYPE_LAN = 1
static final int | NETWORK_TYPE_WIFI = 2
static final int | NETWORK_TYPE_MOBILE_2G = 3
static final int | NETWORK_TYPE_MOBILE_3G = 4
static final int | NETWORK_TYPE_MOBILE_4G = 5
static final int | NETWORK_TYPE_MOBILE_5G = 6
static final int | STREAM_LIFE_CYCLE_BIND2CHANNEL = 1
static final int | STREAM_LIFE_CYCLE_BIND2OWNER = 2
static final int | AUDIO_FILE_RECORDING_MIC = 1
static final int | AUDIO_FILE_RECORDING_PLAYBACK = 2
static final int | AUDIO_FILE_RECORDING_MIXED = 3
static final int | AUDIO_RECORDING_QUALITY_LOW = 0
static final int | AUDIO_RECORDING_QUALITY_MEDIUM = 1
static final int | AUDIO_RECORDING_QUALITY_HIGH = 2
static final int | AUDIO_RECORDING_QUALITY_ULTRA_HIGH = 3
static final int | AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC = 1
static final int | AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK = 2
static final int | AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED = 3
static final int | AUDIO_ENCODING_TYPE_AAC_16000_LOW = 0x010101
static final int | AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM = 0x010102
static final int | AUDIO_ENCODING_TYPE_AAC_32000_LOW = 0x010201
static final int | AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM = 0x010202
static final int | AUDIO_ENCODING_TYPE_AAC_32000_HIGH = 0x010203
static final int | AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM = 0x010302
static final int | AUDIO_ENCODING_TYPE_AAC_48000_HIGH = 0x010303
static final int | AUDIO_ENCODING_TYPE_OPUS_16000_LOW = 0x020101
static final int | AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM = 0x020102
static final int | AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM = 0x020302
static final int | AUDIO_ENCODING_TYPE_OPUS_48000_HIGH = 0x020303
static final int | MEDIA_TYPE_NONE = 0
static final int | MEDIA_TYPE_AUDIO_ONLY = 1
static final int | MEDIA_TYPE_VIDEO_ONLY = 2
static final int | MEDIA_TYPE_AUDIO_AND_VIDEO = 3
static final int | STREAM_FALLBACK_OPTION_DISABLED = 0
static final int | STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1
static final int | STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2
static final int | LOCAL_VIDEO_STREAM_STATE_STOPPED = 0
static final int | LOCAL_VIDEO_STREAM_STATE_CAPTURING = 1
static final int | LOCAL_VIDEO_STREAM_STATE_ENCODING = 2
static final int | LOCAL_VIDEO_STREAM_STATE_FAILED = 3
static final int | LOCAL_VIDEO_STREAM_REASON_OK = 0
static final int | LOCAL_VIDEO_STREAM_REASON_FAILURE = 1
static final int | LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION = 2
static final int | LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY = 3
static final int | LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE = 4
static final int | LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT = 5
static final int | LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND = 8
static final int | LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT = 14
static final int | LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR = 15
static final int | LOCAL_AUDIO_STREAM_STATE_STOPPED = 0
static final int | LOCAL_AUDIO_STREAM_STATE_RECORDING = 1
static final int | LOCAL_AUDIO_STREAM_STATE_ENCODING = 2
static final int | LOCAL_AUDIO_STREAM_STATE_FAILED = 3
static final int | LOCAL_AUDIO_STREAM_REASON_OK = 0
static final int | LOCAL_AUDIO_STREAM_REASON_FAILURE = 1
static final int | LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION = 2
static final int | LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY = 3
static final int | LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE = 4
static final int | LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE = 5
static final int | LOCAL_AUDIO_STREAM_REASON_INTERRUPTED = 8
static final int | REMOTE_AUDIO_STATE_STOPPED = 0
static final int | REMOTE_AUDIO_STATE_STARTING = 1
static final int | REMOTE_AUDIO_STATE_DECODING = 2
static final int | REMOTE_AUDIO_STATE_FROZEN = 3
static final int | REMOTE_AUDIO_STATE_FAILED = 4
static final int | REMOTE_AUDIO_REASON_INTERNAL = 0
static final int | REMOTE_AUDIO_REASON_NETWORK_CONGESTION = 1
static final int | REMOTE_AUDIO_REASON_NETWORK_RECOVERY = 2
static final int | REMOTE_AUDIO_REASON_LOCAL_MUTED = 3
static final int | REMOTE_AUDIO_REASON_LOCAL_UNMUTED = 4
static final int | REMOTE_AUDIO_REASON_REMOTE_MUTED = 5
static final int | REMOTE_AUDIO_REASON_REMOTE_UNMUTED = 6
static final int | REMOTE_AUDIO_REASON_REMOTE_OFFLINE = 7
static final int | REMOTE_AUDIO_REASON_NO_PACKET_RECEIVE = 8
static final int | REMOTE_AUDIO_REASON_LOCAL_PLAY_FAILED = 9
static final int | REMOTE_VIDEO_STATE_STOPPED = 0
static final int | REMOTE_VIDEO_STATE_STARTING = 1
static final int | REMOTE_VIDEO_STATE_DECODING = 2
static final int | REMOTE_VIDEO_STATE_FROZEN = 3
static final int | REMOTE_VIDEO_STATE_FAILED = 4
static final int | REMOTE_VIDEO_STATE_REASON_INTERNAL = 0
static final int | REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION = 1
static final int | REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY = 2
static final int | REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED = 3
static final int | REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED = 4
static final int | REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED = 5
static final int | REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED = 6
static final int | REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE = 7
static final int | REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK = 8
static final int | REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY = 9
static final int | REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND = 12
static final int | REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT = 13
static final int | AUDIO_MIXING_STATE_PLAYING = 710
static final int | AUDIO_MIXING_STATE_PAUSED = 711
static final int | AUDIO_MIXING_STATE_STOPPED = 713
static final int | AUDIO_MIXING_STATE_FAILED = 714
static final int | AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701
static final int | AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702
static final int | AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721
static final int | AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723
static final int | AUDIO_MIXING_REASON_STOPPED_BY_USER = 724
static final int | AUDIO_MIXING_REASON_RESUMED_BY_USER = 726
static final int | AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703
static final int | AUDIO_MIXING_REASON_OK = 0
static final int | VIDEO_CODEC_VP8 = 1
static final int | VIDEO_CODEC_H264 = 2
static final int | VIDEO_CODEC_H265 = 3
static final int | VIDEO_CODEC_VP9 = 13
static final int | VIDEO_CODEC_GENERIC = 6
static final int | VIDEO_CODEC_GENERIC_H264 = 7
static final int | VIDEO_CODEC_GENERIC_JPEG = 20
static final int | TCC_ENABLED = 0
static final int | TCC_DISABLED = 1
static final int | AUDIO_CODEC_OPUS = 1
static final int | AUDIO_CODEC_AACLC = 8
static final int | AUDIO_CODEC_HEAAC = 9
static final int | AUDIO_CODEC_HEAAC2 = 11
static final int | PACKETIZE_MODE_H264_NON_INTERLEAVED = 0
static final int | PACKETIZE_MODE_H264_SINGLE_NAL_UNIT = 1
static final int | VIDEO_FRAME_TYPE_BLANK_FRAME = 0
static final int | VIDEO_FRAME_TYPE_KEY_FRAME = 3
static final int | VIDEO_FRAME_TYPE_DELTA_FRAME = 4
static final int | VIDEO_FRAME_TYPE_B_FRAME = 5
static final int | VIDEO_FRAME_TYPE_UNKNOWN = 6
static final int | VIDEO_ORIENTATION_0 = 0
static final int | VIDEO_ORIENTATION_90 = 90
static final int | VIDEO_ORIENTATION_180 = 180
static final int | VIDEO_ORIENTATION_270 = 270
static final int | RHYTHM_PLAYER_STATE_IDLE = 810
static final int | RHYTHM_PLAYER_STATE_OPENING = 811
static final int | RHYTHM_PLAYER_STATE_DECODING = 812
static final int | RHYTHM_PLAYER_STATE_PLAYING = 813
static final int | RHYTHM_PLAYER_STATE_FAILED = 814
static final int | LICENSE_ERR_INVALID = 1
static final int | LICENSE_ERR_EXPIRE = 2
static final int | LICENSE_ERR_MINUTES_EXCEED = 3
static final int | LICENSE_ERR_LIMITED_PERIOD = 4
static final int | LICENSE_ERR_DIFF_DEVICES = 5
static final int | LICENSE_ERR_INTERNAL = 99
static final int | RHYTHM_PLAYER_REASON_OK = 0
static final int | RHYTHM_PLAYER_REASON_FAILED = 1
static final int | RHYTHM_PLAYER_REASON_CAN_NOT_OPEN = 801
static final int | RHYTHM_PLAYER_REASON_CAN_NOT_PLAY = 802
static final int | RHYTHM_PLAYER_REASON_FILE_OVER_DURATION_LIMIT = 803
static final int | PUB_STATE_IDLE = 0
static final int | PUB_STATE_NO_PUBLISHED = 1
static final int | PUB_STATE_PUBLISHING = 2
static final int | PUB_STATE_PUBLISHED = 3
static final int | SUB_STATE_IDLE = 0
static final int | SUB_STATE_NO_SUBSCRIBED = 1
static final int | SUB_STATE_SUBSCRIBING = 2
static final int | SUB_STATE_SUBSCRIBED = 3
static final int | RTMP_STREAMING_EVENT_FAILED_LOAD_IMAGE = 1
static final int | RTMP_STREAMING_EVENT_URL_ALREADY_IN_USE = 2
static final int | RTMP_STREAMING_EVENT_ADVANCED_FEATURE_NOT_SUPPORT = 3
static final int | RTMP_STREAMING_EVENT_REQUEST_TOO_OFTEN = 4
static final int | RTMP_STREAM_PUBLISH_STATE_IDLE = 0
static final int | RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1
static final int | RTMP_STREAM_PUBLISH_STATE_RUNNING = 2
static final int | RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3
static final int | RTMP_STREAM_PUBLISH_STATE_FAILURE = 4
static final int | RTMP_STREAM_PUBLISH_STATE_DISCONNECTING = 5
static final int | RTMP_STREAM_PUBLISH_REASON_OK = 0
static final int | RTMP_STREAM_PUBLISH_REASON_INVALID_ARGUMENT = 1
static final int | RTMP_STREAM_PUBLISH_REASON_ENCRYPTED_STREAM_NOT_ALLOWED = 2
static final int | RTMP_STREAM_PUBLISH_REASON_CONNECTION_TIMEOUT = 3
static final int | RTMP_STREAM_PUBLISH_REASON_INTERNAL_SERVER_ERROR = 4
static final int | RTMP_STREAM_PUBLISH_REASON_RTMP_SERVER_ERROR = 5
static final int | RTMP_STREAM_PUBLISH_REASON_TOO_OFTEN = 6
static final int | RTMP_STREAM_PUBLISH_REASON_REACH_LIMIT = 7
static final int | RTMP_STREAM_PUBLISH_REASON_NOT_AUTHORIZED = 8
static final int | RTMP_STREAM_PUBLISH_REASON_STREAM_NOT_FOUND = 9
static final int | RTMP_STREAM_PUBLISH_REASON_FORMAT_NOT_SUPPORTED = 10
static final int | RTMP_STREAM_PUBLISH_REASON_NOT_BROADCASTER = 11
static final int | RTMP_STREAM_PUBLISH_REASON_TRANSCODING_NO_MIX_STREAM = 13
static final int | RTMP_STREAM_PUBLISH_REASON_NET_DOWN = 14
static final int | RTMP_STREAM_PUBLISH_REASON_INVALID_APPID = 15
static final int | RTMP_STREAM_PUBLISH_REASON_INVALID_PRIVILEGE = 16
static final int | RTMP_STREAM_UNPUBLISH_REASON_OK = 100
static final int | ENCRYPTION_ERROR_INTERNAL_FAILURE = 0
static final int | ENCRYPTION_ERROR_DECRYPTION_FAILURE = 1
static final int | ENCRYPTION_ERROR_ENCRYPTION_FAILURE = 2
static final int | ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE = 3
static final int | ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE = 4
static final int | USER_STATE_MUTE_AUDIO = 1 << 0
static final int | USER_STATE_MUTE_VIDEO = 1 << 1
static final int | USER_STATE_ENABLE_VIDEO = 1 << 4
static final int | USER_STATE_ENABLE_LOCAL_VIDEO = 1 << 8
static final int | RECORD_AUDIO = 0
static final int | CAMERA = 1
static final int | SCREEN_CAPTURE = 2
static final int | DEFAULT_CONNECTION_ID = 0
static final int | CONNECTION_STATE_DISCONNECTED = 1
static final int | CONNECTION_STATE_CONNECTING = 2
static final int | CONNECTION_STATE_CONNECTED = 3
static final int | CONNECTION_STATE_RECONNECTING = 4
static final int | CONNECTION_STATE_FAILED = 5
static final int | CONNECTION_CHANGED_CONNECTING = 0
static final int | CONNECTION_CHANGED_JOIN_SUCCESS = 1
static final int | CONNECTION_CHANGED_INTERRUPTED = 2
static final int | CONNECTION_CHANGED_BANNED_BY_SERVER = 3
static final int | CONNECTION_CHANGED_JOIN_FAILED = 4
static final int | CONNECTION_CHANGED_LEAVE_CHANNEL = 5
static final int | CONNECTION_CHANGED_INVALID_APP_ID = 6
static final int | CONNECTION_CHANGED_INVALID_CHANNEL_NAME = 7
static final int | CONNECTION_CHANGED_INVALID_TOKEN = 8
static final int | CONNECTION_CHANGED_TOKEN_EXPIRED = 9
static final int | CONNECTION_CHANGED_REJECTED_BY_SERVER = 10
static final int | CONNECTION_CHANGED_SETTING_PROXY_SERVER = 11
static final int | CONNECTION_CHANGED_RENEW_TOKEN = 12
static final int | CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED = 13
static final int | CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT = 14
static final int | CONNECTION_CHANGED_REJOIN_SUCCESS = 15
static final int | CONNECTION_CHANGED_LOST = 16
static final int | CONNECTION_CHANGED_ECHO_TEST = 17
static final int | CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER = 18
static final int | CONNECTION_CHANGED_SAME_UID_LOGIN = 19
static final int | CONNECTION_CHANGED_TOO_MANY_BROADCASTERS = 20
static final int | CONNECTION_CHANGED_LICENSE_VALIDATION_FAILURE = 21
static final int | CONNECTION_CHANGED_CERTIFICATION_VERYFY_FAILURE = 22
static final int | WLACC_MESSAGE_REASON_WEAK_SIGNAL = 0
static final int | WLACC_MESSAGE_REASON_CHANNEL_CONGESTION = 1
static final int | WLACC_SUGGEST_ACTION_CLOSE_TO_WIFI = 0
static final int | WLACC_SUGGEST_ACTION_CONNECT_SSID = 1
static final int | WLACC_SUGGEST_ACTION_CHECK_5G = 2
static final int | WLACC_SUGGEST_ACTION_MODIFY_SSID = 3
static final int | RELAY_OK = 0
static final int | RELAY_ERROR_SERVER_ERROR_RESPONSE = 1
static final int | RELAY_ERROR_SERVER_NO_RESPONSE = 2
static final int | RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3
static final int | RELAY_ERROR_FAILED_JOIN_SRC = 4
static final int | RELAY_ERROR_FAILED_JOIN_DEST = 5
static final int | RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC = 6
static final int | RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST = 7
static final int | RELAY_ERROR_SERVER_CONNECTION_LOST = 8
static final int | RELAY_ERROR_INTERNAL_ERROR = 9
static final int | RELAY_ERROR_SRC_TOKEN_EXPIRED = 10
static final int | RELAY_ERROR_DEST_TOKEN_EXPIRED = 11
static final int | RELAY_EVENT_NETWORK_DISCONNECTED = 0
static final int | RELAY_EVENT_NETWORK_CONNECTED = 1
static final int | RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2
static final int | RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3
static final int | RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4
static final int | RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5
static final int | RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6
static final int | RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7
static final int | RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8
static final int | RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9
static final int | RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10
static final int | RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11
static final int | RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 12
static final int | RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 13
static final int | RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 14
static final int | RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 15
static final int | RELAY_STATE_IDLE = 0
static final int | RELAY_STATE_CONNECTING = 1
static final int | RELAY_STATE_RUNNING = 2
static final int | RELAY_STATE_FAILURE = 3
static final int | EAR_MONITORING_FILTER_NONE = (1 << 0)
static final int | EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS = (1 << 1)
static final int | EAR_MONITORING_FILTER_NOISE_SUPPRESSION = (1 << 2)
static final int | EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER = (1 << 15)
static final int | LOCAL_RPOXY_CONNECTIVITY_FIRST = 0
static final int | LOCAL_RPOXY_LOCAL_ONLY = 1
static final int | EXPERIENCE_QUALITY_GOOD = 0
static final int | EXPERIENCE_QUALITY_BAD = 1
static final int | EXPERIENCE_REASON_NONE = 0
static final int | REMOTE_NETWORK_QUALITY_POOR = 1
static final int | LOCAL_NETWORK_QUALITY_POOR = 2
static final int | WIRELESS_SIGNAL_POOR = 4
static final int | WIFI_BLUETOOTH_COEXIST = 8
static final int | TRANSPORT_TYPE_NONE_PROXY = 0
static final int | TRANSPORT_TYPE_UDP_PROXY = 1
static final int | TRANSPORT_TYPE_TCP_PROXY = 2
static final int | PROXY_TYPE_NONE_PROXY = 0
static final int | PROXY_TYPE_UDP_CLOUD_PROXY = 1
static final int | PROXY_TYPE_TCP_CLOUD_PROXY = 2
static final int | PROXY_TYPE_LOCAL_PROXY = 3
static final int | PROXY_TYPE_TCP_AUTO_FALLBACK = 4
static final int | PROXY_TYPE_HTTP = 5
static final int | PROXY_TYPE_HTTPS = 6
static final int | ERR_SCREEN_CAPTURE_PERMISSION_DENIED = 16
static final int | ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED = 2
static final int | ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED = 3
static final int | CONTENT_INSPECT_NEUTRAL = 1
static final int | CONTENT_INSPECT_SEXY = 2
static final int | CONTENT_INSPECT_PORN = 3
static final int | CODEC_CAPABILITY_LEVEL_UNSPECIFIED = -1
static final int | CODEC_CAPABILITY_LEVEL_BASIC_SUPPORT = 5
static final int | CODEC_CAPABILITY_LEVEL_1080P30FPS = 10
static final int | CODEC_CAPABILITY_LEVEL_1080P60FPS = 20
static final int | CODEC_CAPABILITY_LEVEL_4K60FPS = 30
static final int | FEATURE_VIDEO_VIRTUAL_BACKGROUND = 1
static final int | FEATURE_VIDEO_BEAUTY_EFFECT = 2
static final int | VT_ERR_VIDEO_SOURCE_NOT_READY = 1
static final int | VT_ERR_INVALID_VIDEO_SOURCE_TYPE = 2
static final int | VT_ERR_INVALID_IMAGE_PATH = 3
static final int | VT_ERR_UNSUPPORT_IMAGE_FORMAT = 4
static final int | VT_ERR_INVALID_LAYOUT = 5
static final int | VT_ERR_INTERNAL = 20

## Detailed Description

Rating of the media or network quality.

## Member Data Documentation

## ◆ LASTMILE_PROBE_RESULT_COMPLETE

final int io.agora.rtc2.Constants.LASTMILE_PROBE_RESULT_COMPLETE = 1
| static

1: The last-mile probe result is complete.

## ◆ LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE

final int io.agora.rtc2.Constants.LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE = 2
| static

2: The last-mile network probe test is incomplete and the bandwidth estimation is not available, probably due to limited test resources.

## ◆ LASTMILE_PROBE_RESULT_UNAVAILABLE

final int io.agora.rtc2.Constants.LASTMILE_PROBE_RESULT_UNAVAILABLE = 3
| static

3: The last-mile network probe test is not carried out, probably due to poor network conditions.

## ◆ QUALITY_UNKNOWN

final int io.agora.rtc2.Constants.QUALITY_UNKNOWN = 0
| static

The quality is unknown.

## ◆ QUALITY_EXCELLENT

final int io.agora.rtc2.Constants.QUALITY_EXCELLENT = 1
| static

The quality is excellent.

## ◆ QUALITY_GOOD

final int io.agora.rtc2.Constants.QUALITY_GOOD = 2
| static

The quality is quite good, but the bitrate may be slightly lower than excellent.

## ◆ QUALITY_POOR

final int io.agora.rtc2.Constants.QUALITY_POOR = 3
| static

Users can feel the communication slightly impaired.

## ◆ QUALITY_BAD

final int io.agora.rtc2.Constants.QUALITY_BAD = 4
| static

Users can communicate not very smoothly.

## ◆ QUALITY_VBAD

final int io.agora.rtc2.Constants.QUALITY_VBAD = 5
| static

The quality is so bad that users can barely communicate.

## ◆ QUALITY_DOWN

final int io.agora.rtc2.Constants.QUALITY_DOWN = 6
| static

Users cannot communicate at all.

## ◆ QUALITY_UNSUPPORTED

final int io.agora.rtc2.Constants.QUALITY_UNSUPPORTED = 7
| static

7: (For future use) The network quality cannot be detected.

## ◆ QUALITY_DETECTING

final int io.agora.rtc2.Constants.QUALITY_DETECTING = 8
| static

8: Detecting the network quality.

## ◆ WARN_INVALID_VIEW

final int io.agora.rtc2.Constants.WARN_INVALID_VIEW = 8
| static

The specified view is invalid. It is required to specify a view when using the video call function.

## ◆ WARN_INIT_VIDEO

final int io.agora.rtc2.Constants.WARN_INIT_VIDEO = 16
| static

Failed to initialize the video function.

## ◆ WARN_PENDING

final int io.agora.rtc2.Constants.WARN_PENDING = 20
| static

The request is pending, usually due to some module not being ready, and the SDK postponed processing the request.

## ◆ WARN_NO_AVAILABLE_CHANNEL

final int io.agora.rtc2.Constants.WARN_NO_AVAILABLE_CHANNEL = 103
| static

No channel resources are available. Maybe because the server cannot allocate any channel resource.

## ◆ WARN_LOOKUP_CHANNEL_TIMEOUT

final int io.agora.rtc2.Constants.WARN_LOOKUP_CHANNEL_TIMEOUT = 104
| static

A timeout when looking up the channel. When joining a channel, the SDK looks up the specified channel. The warning usually occurs when the network condition is too poor to connect to the server.

## ◆ WARN_LOOKUP_CHANNEL_REJECTED

final int io.agora.rtc2.Constants.WARN_LOOKUP_CHANNEL_REJECTED = 105
| static

The server rejected the request to look up the channel. The server cannot process this request or the request is illegal.

## ◆ WARN_OPEN_CHANNEL_TIMEOUT

final int io.agora.rtc2.Constants.WARN_OPEN_CHANNEL_TIMEOUT = 106
| static

A timeout when opening the channel. Once the specific channel is found, the SDK opens the channel. The warning usually occurs when the network condition is too poor to connect to the server.

## ◆ WARN_OPEN_CHANNEL_REJECTED

final int io.agora.rtc2.Constants.WARN_OPEN_CHANNEL_REJECTED = 107
| static

The server rejected the request to open the channel. The server cannot process this request or the request is illegal.

## ◆ WARN_SWITCH_LIVE_VIDEO_TIMEOUT

final int io.agora.rtc2.Constants.WARN_SWITCH_LIVE_VIDEO_TIMEOUT = 111
| static

A timeout when switching the live video.

## ◆ WARN_SET_CLIENT_ROLE_TIMEOUT

final int io.agora.rtc2.Constants.WARN_SET_CLIENT_ROLE_TIMEOUT = 118
| static

A timeout when setting the client role in the broadcast mode.

## ◆ WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED

final int io.agora.rtc2.Constants.WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119
| static

The client role is not authorized.

## ◆ WARN_OPEN_CHANNEL_INVALID_TICKET

final int io.agora.rtc2.Constants.WARN_OPEN_CHANNEL_INVALID_TICKET = 121
| static

The ticket to open the channel is invalid.

## ◆ WARN_OPEN_CHANNEL_TRY_NEXT_VOS

final int io.agora.rtc2.Constants.WARN_OPEN_CHANNEL_TRY_NEXT_VOS = 122
| static

Try connecting to another server.

## ◆ WARN_AUDIO_MIXING_OPEN_ERROR

final int io.agora.rtc2.Constants.WARN_AUDIO_MIXING_OPEN_ERROR = 701
| static

Error in opening the audio mixing.

## ◆ WARN_ADM_RUNTIME_PLAYOUT_WARNING

final int io.agora.rtc2.Constants.WARN_ADM_RUNTIME_PLAYOUT_WARNING = 1014
| static

Audio Device Module: A warning in the runtime playback device.

## ◆ WARN_ADM_RUNTIME_RECORDING_WARNING

final int io.agora.rtc2.Constants.WARN_ADM_RUNTIME_RECORDING_WARNING = 1016
| static

Audio Device Module: A warning in the runtime recording device.

## ◆ WARN_ADM_RECORD_AUDIO_SILENCE

final int io.agora.rtc2.Constants.WARN_ADM_RECORD_AUDIO_SILENCE = 1019
| static

Audio Device Module: No valid audio data is collected.

## ◆ WARN_ADM_RECORD_AUDIO_LOWLEVEL

final int io.agora.rtc2.Constants.WARN_ADM_RECORD_AUDIO_LOWLEVEL = 1031
| static

Audio Device Module: The recorded audio volume is too low.

## ◆ WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL

final int io.agora.rtc2.Constants.WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL = 1032
| static

Audio Device Module: The playback audio volume is too low.

## ◆ WARN_ADM_RECORD_IS_OCCUPIED

final int io.agora.rtc2.Constants.WARN_ADM_RECORD_IS_OCCUPIED = 1033
| static

Audio Device Module: The recording device is occupied.

## ◆ WARN_APM_HOWLING

final int io.agora.rtc2.Constants.WARN_APM_HOWLING = 1051
| static

Audio Device Module: Howling is detected.

## ◆ WARN_ADM_GLITCH_STATE

final int io.agora.rtc2.Constants.WARN_ADM_GLITCH_STATE = 1052
| static

Audio Device Module: The device is in the glitch state.

## ◆ WARN_ADM_IMPROPER_SETTINGS

final int io.agora.rtc2.Constants.WARN_ADM_IMPROPER_SETTINGS = 1053
| static

Audio Device Module: The settings are improper.

## ◆ WARN_ADM_POP_STATE

final int io.agora.rtc2.Constants.WARN_ADM_POP_STATE = 1055
| static

Audio Device Module: The device is in the pop state.

## ◆ ERR_OK

final int io.agora.rtc2.Constants.ERR_OK = 0
| static

No error occurs.

## ◆ ERR_FAILED

final int io.agora.rtc2.Constants.ERR_FAILED = 1
| static

A general error occurs (no specified reason).

## ◆ ERR_INVALID_ARGUMENT

final int io.agora.rtc2.Constants.ERR_INVALID_ARGUMENT = 2
| static

An invalid parameter is used. For example, the specific channel name includes illegal characters.

## ◆ ERR_NOT_READY

final int io.agora.rtc2.Constants.ERR_NOT_READY = 3
| static

The SDK module is not ready. We recommend the following methods to solve this error:

- Check the audio device.
- Check the completeness of the app.
- Re-initialize the SDK.

## ◆ ERR_NOT_SUPPORTED

final int io.agora.rtc2.Constants.ERR_NOT_SUPPORTED = 4
| static

The SDK does not support this function.

## ◆ ERR_REFUSED

final int io.agora.rtc2.Constants.ERR_REFUSED = 5
| static

The request is rejected. This is for internal SDK internal use only, and it will not return to the application through any API or callback event.

## ◆ ERR_BUFFER_TOO_SMALL

final int io.agora.rtc2.Constants.ERR_BUFFER_TOO_SMALL = 6
| static

The buffer size is not big enough to store the returned data.

## ◆ ERR_NOT_INITIALIZED

final int io.agora.rtc2.Constants.ERR_NOT_INITIALIZED = 7
| static

The SDK is not initialized before calling this API.

## ◆ ERR_INVALID_STATE

final int io.agora.rtc2.Constants.ERR_INVALID_STATE = 8
| static

The state is invalid.

## ◆ ERR_NO_PERMISSION

final int io.agora.rtc2.Constants.ERR_NO_PERMISSION = 9
| static

No permission. Check if the user has granted access to the audio or video device.

## ◆ ERR_TIMEDOUT

final int io.agora.rtc2.Constants.ERR_TIMEDOUT = 10
| static

An API timeout. Some APIs require the SDK to return the execution result, and this error occurs if the request takes too long for the SDK to process.

## ◆ ERR_CANCELED

final int io.agora.rtc2.Constants.ERR_CANCELED = 11
| static

The request is cancelled. This is for internal SDK internal use only, and it will not return to the application through any API or callback event.

## ◆ ERR_TOO_OFTEN

final int io.agora.rtc2.Constants.ERR_TOO_OFTEN = 12
| static

The call frequency is too high. This is for internal SDK internal use only, and it will not return to the application through any API or callback event.

## ◆ ERR_BIND_SOCKET

final int io.agora.rtc2.Constants.ERR_BIND_SOCKET = 13
| static

The SDK fails to bind to the network socket. This is for internal SDK internal use only, and is not returned to the app through any method or callback.

## ◆ ERR_NET_DOWN

final int io.agora.rtc2.Constants.ERR_NET_DOWN = 14
| static

The network is unavailable. This is for internal SDK internal use only, and it will not return to the application through any API or callback event.

## ◆ ERR_JOIN_CHANNEL_REJECTED

final int io.agora.rtc2.Constants.ERR_JOIN_CHANNEL_REJECTED = 17
| static

The request to join the channel is rejected. This error usually occurs when the user is already in the channel, and still calls the API to join the channel, for example, {}.

## ◆ ERR_LEAVE_CHANNEL_REJECTED

final int io.agora.rtc2.Constants.ERR_LEAVE_CHANNEL_REJECTED = 18
| static

The request to leave the channel is rejected. This error usually occurs when the user has already left the channel, and still calls the API to leave the channel, for example, {}.

## ◆ ERR_ALREADY_IN_USE

final int io.agora.rtc2.Constants.ERR_ALREADY_IN_USE = 19
| static

Resources are occupied, and cannot be reused.

## ◆ ERR_ABORTED

final int io.agora.rtc2.Constants.ERR_ABORTED = 20
| static

The SDK gives up the request due to too many requests. This is for internal use only, and does not return to the app through any method or callback.

## ◆ ERR_INIT_NET_ENGINE

final int io.agora.rtc2.Constants.ERR_INIT_NET_ENGINE = 21
| static

On Windows, specific firewall settings can cause the SDK to fail to initialize and crash.

## ◆ ERR_RESOURCE_LIMITED

final int io.agora.rtc2.Constants.ERR_RESOURCE_LIMITED = 22
| static

The app uses too much of the system resource and the SDK fails to allocate any resource.

## ◆ ERR_INVALID_APP_ID

final int io.agora.rtc2.Constants.ERR_INVALID_APP_ID = 101
| static

The specified App ID is invalid.

## ◆ ERR_INVALID_CHANNEL_NAME

final int io.agora.rtc2.Constants.ERR_INVALID_CHANNEL_NAME = 102
| static

The specified channel name is invalid.

## ◆ ERR_NO_SERVER_RESOURCES

final int io.agora.rtc2.Constants.ERR_NO_SERVER_RESOURCES = 103
| static

Fails to get server resources in the specified region.

## ◆ ERR_TOKEN_EXPIRED

final int io.agora.rtc2.Constants.ERR_TOKEN_EXPIRED = 109
| static

The Token expired due to one of the following reasons:

1. Authorized Timestamp expired: The timestamp is represented by the number of seconds elapsed since 1/1/1970. The user can use the Token to access the Agora service within five minutes after the Token is generated. If the user does not access the Agora service after five minutes, this Token will no longer be valid.
2. Call Expiration Timestamp expired: The timestamp indicates the exact time when a user can no longer use the Agora service (for example, when a user is forced to leave an ongoing call). When the value is set for the Call Expiration Timestamp, it does not mean that the Dynamic Key will be expired, but that the user will be kicked out of the channel.</il>

## ◆ ERR_INVALID_TOKEN

final int io.agora.rtc2.Constants.ERR_INVALID_TOKEN = 110
| static

The Token is invalid due to one of the following reasons: The App Certificate for the project is enabled on the Dashboard, but the user is still using the App ID. Once the App Certificate is enabled, the user must use a Token. The uid field is mandatory, and users must set the same uid when setting the uid parameter when calling joinChannel.

## ◆ ERR_CONNECTION_INTERRUPTED

final int io.agora.rtc2.Constants.ERR_CONNECTION_INTERRUPTED = 111
| static

The CONNECTION_INTERRUPTED callback. This applies to the Agora Web SDK only.

## ◆ ERR_CONNECTION_LOST

final int io.agora.rtc2.Constants.ERR_CONNECTION_LOST = 112
| static

The CONNECTION_LOST callback. This applies to the Agora Web SDK only.

## ◆ ERR_NOT_IN_CHANNEL

final int io.agora.rtc2.Constants.ERR_NOT_IN_CHANNEL = 113
| static

The user is not in the channel.

## ◆ ERR_SIZE_TOO_LARGE

final int io.agora.rtc2.Constants.ERR_SIZE_TOO_LARGE = 114
| static

The data size is too big.

## ◆ ERR_BITRATE_LIMIT

final int io.agora.rtc2.Constants.ERR_BITRATE_LIMIT = 115
| static

The bitrate is limited.

## ◆ ERR_TOO_MANY_DATA_STREAMS

final int io.agora.rtc2.Constants.ERR_TOO_MANY_DATA_STREAMS = 116
| static

Too many data streams.

## ◆ ERR_STREAM_MESSAGE_TIMEOUT

final int io.agora.rtc2.Constants.ERR_STREAM_MESSAGE_TIMEOUT = 117
| static

A timeout occurs for the data stream transmission.

## ◆ ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED

final int io.agora.rtc2.Constants.ERR_SET_CLIENT_ROLE_NOT_AUTHORIZED = 119
| static

Switching the user role fails. Please try to rejoin the channel.

## ◆ ERR_DECRYPTION_FAILED

final int io.agora.rtc2.Constants.ERR_DECRYPTION_FAILED = 120
| static

Failed to decrypt mediastream.

## ◆ ERR_INVALID_USER_ID

final int io.agora.rtc2.Constants.ERR_INVALID_USER_ID = 121
| static

The user ID is invalid.

## ◆ ERR_DATASTREAM_DECRYPTION_FAILED

final int io.agora.rtc2.Constants.ERR_DATASTREAM_DECRYPTION_FAILED = 122
| static

Failed to decrypt datastream.

## ◆ ERR_CLIENT_IS_BANNED_BY_SERVER

final int io.agora.rtc2.Constants.ERR_CLIENT_IS_BANNED_BY_SERVER = 123
| static

The client is banned by the server.

## ◆ ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH

final int io.agora.rtc2.Constants.ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH = 130
| static

Encryption is enabled when the user calls the {addPublishStreamUrl} method (CDN live streaming does not support encrypted streams).

## ◆ ERR_LICENSE_CREDENTIAL_INVALID

final int io.agora.rtc2.Constants.ERR_LICENSE_CREDENTIAL_INVALID = 131
| static

License credential is invalid

## ◆ ERR_INVALID_USER_ACCOUNT

final int io.agora.rtc2.Constants.ERR_INVALID_USER_ACCOUNT = 134
| static

The user account is invalid, usually because the data format of the user account is incorrect.

## ◆ ERR_MODULE_NOT_FOUND

final int io.agora.rtc2.Constants.ERR_MODULE_NOT_FOUND = 157
| static

The extension library is not integrated, such as the library for enabling deep-learning noise reduction.

## ◆ ERR_PCMSEND_FORMAT

final int io.agora.rtc2.Constants.ERR_PCMSEND_FORMAT = 200
| static

Unsupported pcm format.

## ◆ ERR_PCMSEND_BUFFEROVERFLOW

final int io.agora.rtc2.Constants.ERR_PCMSEND_BUFFEROVERFLOW = 201
| static

Buffer overflow, the pcm send rate too quickly.

## ◆ ERR_LOAD_MEDIA_ENGINE

final int io.agora.rtc2.Constants.ERR_LOAD_MEDIA_ENGINE = 1001
| static

Failed to load the media engine.

## ◆ ERR_ADM_GENERAL_ERROR

final int io.agora.rtc2.Constants.ERR_ADM_GENERAL_ERROR = 1005
| static

General error on the Audio Device Module (no classified reason).

## ◆ ERR_ADM_INIT_PLAYOUT

final int io.agora.rtc2.Constants.ERR_ADM_INIT_PLAYOUT = 1008
| static

Audio Device Module: Error in initializing the playback device.

## ◆ ERR_ADM_START_PLAYOUT

final int io.agora.rtc2.Constants.ERR_ADM_START_PLAYOUT = 1009
| static

Audio Device Module: Error in starting the playback device.

## ◆ ERR_ADM_STOP_PLAYOUT

final int io.agora.rtc2.Constants.ERR_ADM_STOP_PLAYOUT = 1010
| static

Audio Device Module: Error in stopping the playback device.

## ◆ ERR_ADM_INIT_RECORDING

final int io.agora.rtc2.Constants.ERR_ADM_INIT_RECORDING = 1011
| static

Audio Device Module: Error in initializing the recording device.

## ◆ ERR_ADM_START_RECORDING

final int io.agora.rtc2.Constants.ERR_ADM_START_RECORDING = 1012
| static

Audio Device Module: Error in starting the recording device.

## ◆ ERR_ADM_STOP_RECORDING

final int io.agora.rtc2.Constants.ERR_ADM_STOP_RECORDING = 1013
| static

Audio Device Module: Error in stopping the recording device.

## ◆ ERR_VDM_CAMERA_NOT_AUTHORIZED

final int io.agora.rtc2.Constants.ERR_VDM_CAMERA_NOT_AUTHORIZED = 1501
| static

Video Device Module: The camera is not authorized.

## ◆ VIDEO_PROFILE_120P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_120P = 0
| static

0, 160 x 120 @ 15 fps, 65 kbit/s

## ◆ VIDEO_PROFILE_120P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_120P_3 = 2
| static

120 x 120 @ 15 fps, 50 kbit/s

## ◆ VIDEO_PROFILE_180P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_180P = 10
| static

320 x 180 @ 15 fps, 140 kbit/s

## ◆ VIDEO_PROFILE_180P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_180P_3 = 12
| static

180 x 180 @ 15 fps, 100 kbit/s

## ◆ VIDEO_PROFILE_180P_4

final int io.agora.rtc2.Constants.VIDEO_PROFILE_180P_4 = 13
| static

240 x 180 @ 15 fps, 120 kbit/s

## ◆ VIDEO_PROFILE_240P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_240P = 20
| static

320 x 240 @ 15 fps, 200 kbit/s

## ◆ VIDEO_PROFILE_240P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_240P_3 = 22
| static

240 x 240 @ 15 fps, 140 kbit/s

## ◆ VIDEO_PROFILE_240P_4

final int io.agora.rtc2.Constants.VIDEO_PROFILE_240P_4 = 23
| static

424 x 240 @ 15 fps, 220 kbit/s

## ◆ VIDEO_PROFILE_360P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P = 30
| static

640 x 360 @ 15 fps, 400 kbit/s

## ◆ VIDEO_PROFILE_360P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_3 = 32
| static

360 x 360 @ 15 fps, 260 kbit/s

## ◆ VIDEO_PROFILE_360P_4

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_4 = 33
| static

640 x 360 @ 30 fps, 600 kbit/s

## ◆ VIDEO_PROFILE_360P_6

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_6 = 35
| static

360 x 360 @ 30 fps, 400 kbit/s

## ◆ VIDEO_PROFILE_360P_7

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_7 = 36
| static

480 x 360 @ 15 fps, 320 kbit/s

## ◆ VIDEO_PROFILE_360P_8

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_8 = 37
| static

480 x 360 @ 30 fps, 490 kbit/s

## ◆ VIDEO_PROFILE_360P_9

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_9 = 38
| static

640 x 360 @ 15 fps, 600 kbit/s

## ◆ VIDEO_PROFILE_360P_10

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_10 = 39
| static

640 x 360 @ 24 fps, 800 kbit/s

## ◆ VIDEO_PROFILE_360P_11

final int io.agora.rtc2.Constants.VIDEO_PROFILE_360P_11 = 100
| static

640 x 360 @ 24 fps, 1000 kbit/s

## ◆ VIDEO_PROFILE_480P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P = 40
| static

640 x 480 @ 15 fps, 500 kbit/s

## ◆ VIDEO_PROFILE_480P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P_3 = 42
| static

480 x 480 @ 15 fps, 400 kbit/s

## ◆ VIDEO_PROFILE_480P_4

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P_4 = 43
| static

640 x 480 @ 30 fps, 750 kbit/s

## ◆ VIDEO_PROFILE_480P_6

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P_6 = 45
| static

480 x 480 @ 30 fps, 600 kbit/s

## ◆ VIDEO_PROFILE_480P_8

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P_8 = 47
| static

848 x 480 @ 15 fps, 610 kbit/s

## ◆ VIDEO_PROFILE_480P_9

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P_9 = 48
| static

848 x 480 @ 30 fps, 930 kbit/s

## ◆ VIDEO_PROFILE_480P_10

final int io.agora.rtc2.Constants.VIDEO_PROFILE_480P_10 = 49
| static

640 x 480 @ 10 fps, 400 kbit/s

## ◆ VIDEO_PROFILE_720P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_720P = 50
| static

1280 x 720 @ 15 fps, 1130 kbit/s

## ◆ VIDEO_PROFILE_720P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_720P_3 = 52
| static

1280 x 720 @ 30 fps, 1710 kbit/s

## ◆ VIDEO_PROFILE_720P_5

final int io.agora.rtc2.Constants.VIDEO_PROFILE_720P_5 = 54
| static

960 x 720 @ 15 fps, 910 kbit/s

## ◆ VIDEO_PROFILE_720P_6

final int io.agora.rtc2.Constants.VIDEO_PROFILE_720P_6 = 55
| static

960 x 720 @ 30 fps, 1380 kbit/s

## ◆ VIDEO_PROFILE_1080P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_1080P = 60
| static

1920 x 1080 @ 15 fps, 2080 kbit/s

## ◆ VIDEO_PROFILE_1080P_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_1080P_3 = 62
| static

1920 x 1080 @ 30 fps, 3150 kbit/s

## ◆ VIDEO_PROFILE_1080P_5

final int io.agora.rtc2.Constants.VIDEO_PROFILE_1080P_5 = 64
| static

1920 x 1080 @ 60 fps, 4780 kbit/s

## ◆ VIDEO_PROFILE_1440P

final int io.agora.rtc2.Constants.VIDEO_PROFILE_1440P = 66
| static

2560 x 1440 @ 30 fps, 4850 kbit/s

## ◆ VIDEO_PROFILE_1440P_2

final int io.agora.rtc2.Constants.VIDEO_PROFILE_1440P_2 = 67
| static

2560 x 1440 @ 60 fps, 7350 kbit/s

## ◆ VIDEO_PROFILE_4K

final int io.agora.rtc2.Constants.VIDEO_PROFILE_4K = 70
| static

3840 x 2160 @ 30 fps, 8910 kbit/s

## ◆ VIDEO_PROFILE_4K_3

final int io.agora.rtc2.Constants.VIDEO_PROFILE_4K_3 = 72
| static

3840 x 2160 @ 60 fps, 13500 kbit/s

## ◆ VIDEO_PROFILE_DEFAULT

final int io.agora.rtc2.Constants.VIDEO_PROFILE_DEFAULT = VIDEO_PROFILE_360P
| static

Default video profile: 640 x 360 @ 15 fps, 400 kbit/s

## ◆ AUDIO_PROFILE_DEFAULT

final int io.agora.rtc2.Constants.AUDIO_PROFILE_DEFAULT = 0
| static

0: The default audio profile.

- In the Communication profile, the default value is the same with `AUDIO_PROFILE_SPEECH_STANDARD`(1).
- In the Live-broadcast profile, it represents a sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.

## ◆ AUDIO_PROFILE_SPEECH_STANDARD

final int io.agora.rtc2.Constants.AUDIO_PROFILE_SPEECH_STANDARD = 1
| static

1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate up to 18 Kbps.

## ◆ AUDIO_PROFILE_MUSIC_STANDARD

final int io.agora.rtc2.Constants.AUDIO_PROFILE_MUSIC_STANDARD = 2
| static

2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.

## ◆ AUDIO_PROFILE_MUSIC_STANDARD_STEREO

final int io.agora.rtc2.Constants.AUDIO_PROFILE_MUSIC_STANDARD_STEREO = 3
| static

3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.

## ◆ AUDIO_PROFILE_MUSIC_HIGH_QUALITY

final int io.agora.rtc2.Constants.AUDIO_PROFILE_MUSIC_HIGH_QUALITY = 4
| static

4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.

## ◆ AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO

final int io.agora.rtc2.Constants.AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO = 5
| static

5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.

## ◆ AUDIO_SCENARIO_DEFAULT

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_DEFAULT = 0
| static

0: (Recommended) The default audio scenario.

## ◆ AUDIO_SCENARIO_GAME_STREAMING

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_GAME_STREAMING = 3
| static

3: (Recommended) The live gaming scenario, which needs to enable the gaming audio effects in the speaker mode in a live broadcast scenario. Choose this scenario to achieve high-fidelity music playback.

## ◆ AUDIO_SCENARIO_CHATROOM

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_CHATROOM = 5
| static

5: The chatroom scenario, which needs to keep recording when setClientRole to audience. Normally, app developer can also use mute api to achieve the same result, and we implement this 'non-orthogonal' behavior only to make API backward compatible.

## ◆ AUDIO_SCENARIO_CHORUS

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_CHORUS = 7
| static

7: The chorus scenario.

## ◆ AUDIO_SCENARIO_MEETING

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_MEETING = 8
| static

8: The Meeting scenario.

## ◆ AUDIO_SCENARIO_AI_SERVER

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_AI_SERVER = 9
| static

9: The AI server scenario. @technical preview

## ◆ AUDIO_SCENARIO_AI_CLIENT

final int io.agora.rtc2.Constants.AUDIO_SCENARIO_AI_CLIENT = 10
| static

10: The AI client scenario.

## ◆ VOICE_BEAUTIFIER_OFF

final int io.agora.rtc2.Constants.VOICE_BEAUTIFIER_OFF = 0x00000000
| static

Turn off voice beautifier effects and use the original voice.

## ◆ AUDIO_EFFECT_OFF

final int io.agora.rtc2.Constants.AUDIO_EFFECT_OFF = 0x00000000
| static

Turn off audio effects and use the original voice.

## ◆ CHAT_BEAUTIFIER_MAGNETIC

final int io.agora.rtc2.Constants.CHAT_BEAUTIFIER_MAGNETIC = 0x01010100
| static

A more magnetic voice.

Note
  Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.

## ◆ CHAT_BEAUTIFIER_FRESH

final int io.agora.rtc2.Constants.CHAT_BEAUTIFIER_FRESH = 0x01010200
| static

A fresher voice.

Note
  Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.

## ◆ CHAT_BEAUTIFIER_VITALITY

final int io.agora.rtc2.Constants.CHAT_BEAUTIFIER_VITALITY = 0x01010300
| static

A more vital voice.

Note
  Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.

## ◆ SINGING_BEAUTIFIER

final int io.agora.rtc2.Constants.SINGING_BEAUTIFIER = 0x01020100
| static

Singing beautifier effect.

- If you call setVoiceBeautifierPreset(SINGING_BEAUTIFIER), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends not using `setVoiceBeautifierPreset(SINGING_BEAUTIFIER)` to process a female-sounding voice; otherwise, you may experience vocal distortion.
- If you call setVoiceBeautifierParameters(SINGING_BEAUTIFIER, param1, param2), you can beautify a male- or female-sounding voice and add a reverberation effect.

Since
  v3.3.0

## ◆ TIMBRE_TRANSFORMATION_VIGOROUS

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_VIGOROUS = 0x01030100
| static

A more vigorous voice.

## ◆ TIMBRE_TRANSFORMATION_DEEP

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_DEEP = 0x01030200
| static

A deeper voice.

## ◆ TIMBRE_TRANSFORMATION_MELLOW

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_MELLOW = 0x01030300
| static

A mellower voice.

## ◆ TIMBRE_TRANSFORMATION_FALSETTO

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_FALSETTO = 0x01030400
| static

A falsetto voice.

## ◆ TIMBRE_TRANSFORMATION_FULL

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_FULL = 0x01030500
| static

A fuller voice.

## ◆ TIMBRE_TRANSFORMATION_CLEAR

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_CLEAR = 0x01030600
| static

A clearer voice.

## ◆ TIMBRE_TRANSFORMATION_RESOUNDING

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_RESOUNDING = 0x01030700
| static

A more resounding voice.

## ◆ TIMBRE_TRANSFORMATION_RINGING

final int io.agora.rtc2.Constants.TIMBRE_TRANSFORMATION_RINGING = 0x01030800
| static

A more ringing voice.

## ◆ ULTRA_HIGH_QUALITY_VOICE

final int io.agora.rtc2.Constants.ULTRA_HIGH_QUALITY_VOICE = 0x01040100
| static

A ultra high quality voice.

## ◆ ROOM_ACOUSTICS_KTV

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_KTV = 0x02010100
| static

An audio effect typical of a KTV venue.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_VOCAL_CONCERT

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_VOCAL_CONCERT = 0x02010200
| static

An audio effect typical of a concert hall.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_STUDIO

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_STUDIO = 0x02010300
| static

An audio effect typical of a recording studio.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_PHONOGRAPH

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_PHONOGRAPH = 0x02010400
| static

An audio effect typical of a vintage phonograph.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_VIRTUAL_STEREO

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_VIRTUAL_STEREO = 0x02010500
| static

A virtual stereo effect that renders monophonic audio as stereo audio.

Note
  Call setAudioProfile and set the `profile` parameter to `AUDIO_PROFILE_MUSIC_STANDARD_STEREO(3)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator; otherwise, the enumerator setting does not take effect.

## ◆ ROOM_ACOUSTICS_SPACIAL

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_SPACIAL = 0x02010600
| static

A more spatial audio effect.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_ETHEREAL

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_ETHEREAL = 0x02010700
| static

A more ethereal audio effect.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_3D_VOICE

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_3D_VOICE = 0x02010800
| static

A 3D voice effect that makes the voice appear to be moving around the user. The default cycle period of the 3D voice effect is 10 seconds. To change the cycle period, call {setAudioEffectParameters} after this method. Call RtcEngine#setAudioProfile setAudioProfile} and set the `profile` parameter to `AUDIO_PROFILE_MUSIC_STANDARD_STEREO(3)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator; otherwise, the enumerator setting does not take effectIf the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.

## ◆ ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_VIRTUAL_SURROUND_SOUND = 0x02010900
| static

virtual suround sound.

Note
  - Agora recommends using this enumerator to process virtual suround sound; otherwise, you may not hear the anticipated voice effect.
  - To achieve better audio effect quality, Agora recommends calling setAudioProfile and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ ROOM_ACOUSTICS_CHORUS

final int io.agora.rtc2.Constants.ROOM_ACOUSTICS_CHORUS = 0x02010D00
| static

An audio effect for chorus.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_UNCLE

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_UNCLE = 0x02020100
| static

The voice of a middle-aged man.

Note
  - Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
  - To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_OLDMAN

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_OLDMAN = 0x02020200
| static

The voice of an old man.

Note
  - Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
  - To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_BOY

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_BOY = 0x02020300
| static

The voice of a boy.

Note
  - Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
  - To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_SISTER

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_SISTER = 0x02020400
| static

The voice of a young woman.

Note
  - Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
  - To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_GIRL

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_GIRL = 0x02020500
| static

The voice of a girl.

Note
  - Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
  - To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_PIGKING

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_PIGKING = 0x02020600
| static

The voice of Pig King, a character in Journey to the West who has a voice like a growling bear.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CHANGER_EFFECT_HULK

final int io.agora.rtc2.Constants.VOICE_CHANGER_EFFECT_HULK = 0x02020700
| static

The voice of Hulk.

Note
  To achieve better audio effect quality, Agora recommends calling {setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ STYLE_TRANSFORMATION_RNB

final int io.agora.rtc2.Constants.STYLE_TRANSFORMATION_RNB = 0x02030100
| static

An audio effect typical of R&B music.

Note
  Call setAudioProfile and set the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator; otherwise, the enumerator setting does not take effect.

## ◆ STYLE_TRANSFORMATION_POPULAR

final int io.agora.rtc2.Constants.STYLE_TRANSFORMATION_POPULAR = 0x02030200
| static

An audio effect typical of popular music.

Note
  Call setAudioProfile and set the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator; otherwise, the enumerator setting does not take effect.

## ◆ PITCH_CORRECTION

final int io.agora.rtc2.Constants.PITCH_CORRECTION = 0x02040100
| static

A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. To change the basic mode and tonic pitch, call {setAudioEffectParameters} after this method. To achieve better audio effect quality, Agora recommends calling { RtcEngine#setAudioProfile setAudioProfile} and setting the `profile` parameter to `AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)` or `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)` before setting this enumerator.

## ◆ VOICE_CONVERSION_OFF

final int io.agora.rtc2.Constants.VOICE_CONVERSION_OFF = 0x00000000
| static

Turn off voice conversion effects and use the original voice.

Since
  v3.3.1.

## ◆ VOICE_CHANGER_NEUTRAL

final int io.agora.rtc2.Constants.VOICE_CHANGER_NEUTRAL = 0x03010100
| static

A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.

Since
  v3.3.1.

## ◆ VOICE_CHANGER_SWEET

final int io.agora.rtc2.Constants.VOICE_CHANGER_SWEET = 0x03010200
| static

A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.

Since
  v3.3.1.

## ◆ VOICE_CHANGER_SOLID

final int io.agora.rtc2.Constants.VOICE_CHANGER_SOLID = 0x03010300
| static

A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.

Since
  v3.3.1.

## ◆ VOICE_CHANGER_BASS

final int io.agora.rtc2.Constants.VOICE_CHANGER_BASS = 0x03010400
| static

A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.

Since
  v3.3.1.

## ◆ VOICE_CHANGER_CARTOON

final int io.agora.rtc2.Constants.VOICE_CHANGER_CARTOON = 0x03010500
| static

A voice like a cartoon character.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_CHILDLIKE

final int io.agora.rtc2.Constants.VOICE_CHANGER_CHILDLIKE = 0x03010600
| static

A voice like a child.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_PHONE_OPERATOR

final int io.agora.rtc2.Constants.VOICE_CHANGER_PHONE_OPERATOR = 0x03010700
| static

A voice like a phone operator.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_MONSTER

final int io.agora.rtc2.Constants.VOICE_CHANGER_MONSTER = 0x03010800
| static

A monster voice.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_TRANSFORMERS

final int io.agora.rtc2.Constants.VOICE_CHANGER_TRANSFORMERS = 0x03010900
| static

A voice like Transformers.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_GROOT

final int io.agora.rtc2.Constants.VOICE_CHANGER_GROOT = 0x03010A00
| static

A voice like Groot.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_DARTH_VADER

final int io.agora.rtc2.Constants.VOICE_CHANGER_DARTH_VADER = 0x03010B00
| static

A voice like Darth Vader.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_IRON_LADY

final int io.agora.rtc2.Constants.VOICE_CHANGER_IRON_LADY = 0x03010C00
| static

A rough female voice.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_SHIN_CHAN

final int io.agora.rtc2.Constants.VOICE_CHANGER_SHIN_CHAN = 0x03010D00
| static

A voice like Crayon Shin-chan.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_GIRLISH_MAN

final int io.agora.rtc2.Constants.VOICE_CHANGER_GIRLISH_MAN = 0x03010E00
| static

A voice like a castrato.

Since
  v4.1.0.

## ◆ VOICE_CHANGER_CHIPMUNK

final int io.agora.rtc2.Constants.VOICE_CHANGER_CHIPMUNK = 0x03010F00
| static

A voice like chipmunk.

Since
  v4.1.0.

## ◆ HEADPHONE_EQUALIZER_OFF

final int io.agora.rtc2.Constants.HEADPHONE_EQUALIZER_OFF = 0x00000000
| static

Turn off headphone EQ and use the original voice.

## ◆ HEADPHONE_EQUALIZER_OVEREAR

final int io.agora.rtc2.Constants.HEADPHONE_EQUALIZER_OVEREAR = 0x04000001
| static

For over-ear headphones.

## ◆ HEADPHONE_EQUALIZER_INEAR

final int io.agora.rtc2.Constants.HEADPHONE_EQUALIZER_INEAR = 0x04000002
| static

For in-ear headphones.

## ◆ CHANNEL_PROFILE_COMMUNICATION

final int io.agora.rtc2.Constants.CHANNEL_PROFILE_COMMUNICATION = 0
| static

0: Communication. Use this profile when there are two users in the channel.

## ◆ CHANNEL_PROFILE_LIVE_BROADCASTING

final int io.agora.rtc2.Constants.CHANNEL_PROFILE_LIVE_BROADCASTING = 1
| static

1: (Default) Live Broadcast. Use this profile when there are more than two users in the channel.

## ◆ CHANNEL_PROFILE_GAME

final int io.agora.rtc2.Constants.CHANNEL_PROFILE_GAME = 2
| static

2: Gaming. This profile is deprecated.

## ◆ CHANNEL_PROFILE_CLOUD_GAMING

final int io.agora.rtc2.Constants.CHANNEL_PROFILE_CLOUD_GAMING = 3
| static

3: Cloud Gaming. This profile is deprecated.

## ◆ CHANNEL_PROFILE_COMMUNICATION_1v1

final int io.agora.rtc2.Constants.CHANNEL_PROFILE_COMMUNICATION_1v1 = 4
| static

4: Communication 1v1. This profile is deprecated.

## ◆ CLIENT_ROLE_BROADCASTER

final int io.agora.rtc2.Constants.CLIENT_ROLE_BROADCASTER = 1
| static

The broadcaster.

## ◆ CLIENT_ROLE_AUDIENCE

final int io.agora.rtc2.Constants.CLIENT_ROLE_AUDIENCE = 2
| static

The audience.

## ◆ AUDIENCE_LATENCY_LEVEL_LOW_LATENCY

final int io.agora.rtc2.Constants.AUDIENCE_LATENCY_LEVEL_LOW_LATENCY = 1
| static

1: Low latency. A low latency audience's jitter buffer is 1.2 second.

## ◆ AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY

final int io.agora.rtc2.Constants.AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY = 2
| static

2: Ultra low latency. An ultra low latency audience's jitter buffer is 0.5 second.

## ◆ USER_OFFLINE_QUIT

final int io.agora.rtc2.Constants.USER_OFFLINE_QUIT = 0
| static

0: The user has quit the call.

## ◆ USER_OFFLINE_DROPPED

final int io.agora.rtc2.Constants.USER_OFFLINE_DROPPED = 1
| static

1. The SDK timed out and the user dropped offline because it has not received any data package for a period of time.

## ◆ USER_OFFLINE_BECOME_AUDIENCE

final int io.agora.rtc2.Constants.USER_OFFLINE_BECOME_AUDIENCE = 2
| static

1. Triggered when the client role has changed from the broadcaster to the audience.

## ◆ CAPTURE_BRIGHTNESS_LEVEL_INVALID

final int io.agora.rtc2.Constants.CAPTURE_BRIGHTNESS_LEVEL_INVALID = -1
| static

-1: The SDK does not detect the brightness level of the video image. Wait a few seconds to get the brightness level from `CAPTURE_BRIGHTNESS_LEVEL_TYPE` in the next callback.

## ◆ CAPTURE_BRIGHTNESS_LEVEL_NORMAL

final int io.agora.rtc2.Constants.CAPTURE_BRIGHTNESS_LEVEL_NORMAL = 0
| static

0: The brightness level of the video image is normal.

## ◆ CAPTURE_BRIGHTNESS_LEVEL_BRIGHT

final int io.agora.rtc2.Constants.CAPTURE_BRIGHTNESS_LEVEL_BRIGHT = 1
| static

1: The brightness level of the video image is too bright.

## ◆ CAPTURE_BRIGHTNESS_LEVEL_DARK

final int io.agora.rtc2.Constants.CAPTURE_BRIGHTNESS_LEVEL_DARK = 2
| static

2: The brightness level of the video image is too dark.

## ◆ INJECT_STREAM_STATUS_START_SUCCESS

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_START_SUCCESS = 0
| static

The external video stream imported successfully.

## ◆ INJECT_STREAM_STATUS_START_ALREADY_EXISTS

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_START_ALREADY_EXISTS = 1
| static

The external video stream already exists.

## ◆ INJECT_STREAM_STATUS_START_UNAUTHORIZED

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_START_UNAUTHORIZED = 2
| static

The external video stream import is unauthorized

## ◆ INJECT_STREAM_STATUS_START_TIMEDOUT

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_START_TIMEDOUT = 3
| static

Import external video stream timeout.

## ◆ INJECT_STREAM_STATUS_START_FAILED

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_START_FAILED = 4
| static

The external video stream failed to import.

## ◆ INJECT_STREAM_STATUS_STOP_SUCCESS

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_STOP_SUCCESS = 5
| static

The xternal video stream imports successfully.

## ◆ INJECT_STREAM_STATUS_STOP_NOT_FOUND

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_STOP_NOT_FOUND = 6
| static

No external video stream is found.

## ◆ INJECT_STREAM_STATUS_STOP_UNAUTHORIZED

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_STOP_UNAUTHORIZED = 7
| static

The external video stream is stopped from being unauthorized.

## ◆ INJECT_STREAM_STATUS_STOP_TIMEDOUT

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_STOP_TIMEDOUT = 8
| static

Importing the external video stream timeout.

## ◆ INJECT_STREAM_STATUS_STOP_FAILED

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_STOP_FAILED = 9
| static

Importing the external video stream failed.

## ◆ INJECT_STREAM_STATUS_BROKEN

final int io.agora.rtc2.Constants.INJECT_STREAM_STATUS_BROKEN = 10
| static

The external video stream is broken.

## ◆ QUALITY_REPORT_FORMAT_JSON

final int io.agora.rtc2.Constants.QUALITY_REPORT_FORMAT_JSON = 0
| static

The quality report in JSON format.

## ◆ QUALITY_REPORT_FORMAT_HTML

final int io.agora.rtc2.Constants.QUALITY_REPORT_FORMAT_HTML = 1
| static

The quality report in HTML format.

## ◆ RENDER_MODE_HIDDEN

final int io.agora.rtc2.Constants.RENDER_MODE_HIDDEN = 1
| static

1: Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.

## ◆ RENDER_MODE_FIT

final int io.agora.rtc2.Constants.RENDER_MODE_FIT = 2
| static

2: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio will be filled with black.

## ◆ RENDER_MODE_ADAPTIVE

final int io.agora.rtc2.Constants.RENDER_MODE_ADAPTIVE = 3
| static

3: This mode is deprecated.

## ◆ VIDEO_MIRROR_MODE_AUTO

final int io.agora.rtc2.Constants.VIDEO_MIRROR_MODE_AUTO = 0
| static

The default mirror mode, that is, the mode set by the SDK.

## ◆ VIDEO_MIRROR_MODE_ENABLED

final int io.agora.rtc2.Constants.VIDEO_MIRROR_MODE_ENABLED = 1
| static

Enable the mirror mode.

## ◆ VIDEO_MIRROR_MODE_DISABLED

final int io.agora.rtc2.Constants.VIDEO_MIRROR_MODE_DISABLED = 2
| static

Disable the mirror mode

## ◆ SCREEN_CAPTURE_CONTENT_HINT_NONE

final int io.agora.rtc2.Constants.SCREEN_CAPTURE_CONTENT_HINT_NONE = 0
| static

0: No content hint.

## ◆ SCREEN_CAPTURE_CONTENT_HINT_MOTION

final int io.agora.rtc2.Constants.SCREEN_CAPTURE_CONTENT_HINT_MOTION = 1
| static

1: Motion-intensive content. Choose this option if you prefer smoothness or when you are sharing a video clip, movie, or video game.

## ◆ SCREEN_CAPTURE_CONTENT_HINT_DETAILS

final int io.agora.rtc2.Constants.SCREEN_CAPTURE_CONTENT_HINT_DETAILS = 2
| static

2: Motionless content. Choose this option if you prefer sharpness or when you are sharing a picture, PowerPoint slide, or text.

## ◆ VIDEO_SOURCE_CAMERA_PRIMARY

final int io.agora.rtc2.Constants.VIDEO_SOURCE_CAMERA_PRIMARY = 0
| static

Video captured by the camera.

## ◆ VIDEO_SOURCE_CAMERA_SECONDARY

final int io.agora.rtc2.Constants.VIDEO_SOURCE_CAMERA_SECONDARY = 1
| static

Video captured by the secondary camera.

## ◆ VIDEO_SOURCE_SCREEN_PRIMARY

final int io.agora.rtc2.Constants.VIDEO_SOURCE_SCREEN_PRIMARY = 2
| static

Video for screen sharing.

## ◆ VIDEO_SOURCE_SCREEN_SECONDARY

final int io.agora.rtc2.Constants.VIDEO_SOURCE_SCREEN_SECONDARY = 3
| static

Video for secondary screen sharing.

## ◆ VIDEO_SOURCE_CUSTOM

final int io.agora.rtc2.Constants.VIDEO_SOURCE_CUSTOM = 4
| static

Not define.

## ◆ VIDEO_SOURCE_MEDIA_PLAYER

final int io.agora.rtc2.Constants.VIDEO_SOURCE_MEDIA_PLAYER = 5
| static

Video for media player sharing.

## ◆ VIDEO_SOURCE_RTC_IMAGE_PNG

final int io.agora.rtc2.Constants.VIDEO_SOURCE_RTC_IMAGE_PNG = 6
| static

Video for png image.

## ◆ VIDEO_SOURCE_RTC_IMAGE_JPEG

final int io.agora.rtc2.Constants.VIDEO_SOURCE_RTC_IMAGE_JPEG = 7
| static

Video for png image.

## ◆ VIDEO_SOURCE_RTC_IMAGE_GIF

final int io.agora.rtc2.Constants.VIDEO_SOURCE_RTC_IMAGE_GIF = 8
| static

Video for png image.

## ◆ VIDEO_SOURCE_REMOTE

final int io.agora.rtc2.Constants.VIDEO_SOURCE_REMOTE = 9
| static

Remote video received from network.

## ◆ VIDEO_SOURCE_TRANSCODED

final int io.agora.rtc2.Constants.VIDEO_SOURCE_TRANSCODED = 10
| static

Video for transcoded.

## ◆ LOG_FILTER_OFF

final int io.agora.rtc2.Constants.LOG_FILTER_OFF = 0
| static

Do not output any log.

## ◆ LOG_FILTER_DEBUG

final int io.agora.rtc2.Constants.LOG_FILTER_DEBUG = 0x80f
| static

Output all the API logs.

## ◆ LOG_FILTER_INFO

final int io.agora.rtc2.Constants.LOG_FILTER_INFO = 0x0f
| static

Output logs of the CRITICAL, ERROR, WARNING, and INFO level.

## ◆ LOG_FILTER_WARNING

final int io.agora.rtc2.Constants.LOG_FILTER_WARNING = 0x0e
| static

Output logs of the CRITICAL, ERROR, and WARNING level.

## ◆ LOG_FILTER_ERROR

final int io.agora.rtc2.Constants.LOG_FILTER_ERROR = 0x0c
| static

Output logs of the CRITICAL and ERROR level.

## ◆ LOG_FILTER_CRITICAL

final int io.agora.rtc2.Constants.LOG_FILTER_CRITICAL = 0x08
| static

Output logs of the CRITICAL level.

## ◆ LOG_LEVEL_NONE

final int io.agora.rtc2.Constants.LOG_LEVEL_NONE = 0x0000
| static

Do not output any log file.

## ◆ LOG_LEVEL_INFO

final int io.agora.rtc2.Constants.LOG_LEVEL_INFO = 0x0001
| static

(Recommended) Output log files of the Info level.

## ◆ LOG_LEVEL_WARNING

final int io.agora.rtc2.Constants.LOG_LEVEL_WARNING = 0x0002
| static

Output log files of the Warning level.

## ◆ LOG_LEVEL_ERROR

final int io.agora.rtc2.Constants.LOG_LEVEL_ERROR = 0x0004
| static

Output log files of the Error level.

## ◆ LOG_LEVEL_FATAL

final int io.agora.rtc2.Constants.LOG_LEVEL_FATAL = 0x0008
| static

Output log files of the Critical level.

## ◆ AUDIO_ROUTE_DEFAULT

final int io.agora.rtc2.Constants.AUDIO_ROUTE_DEFAULT = -1
| static

-1: The default audio route.

## ◆ AUDIO_ROUTE_HEADSET

final int io.agora.rtc2.Constants.AUDIO_ROUTE_HEADSET = 0
| static

0: Headset.

## ◆ AUDIO_ROUTE_EARPIECE

final int io.agora.rtc2.Constants.AUDIO_ROUTE_EARPIECE = 1
| static

1: Earpiece. The SDK uses the in-call volume.

## ◆ AUDIO_ROUTE_HEADSETNOMIC

final int io.agora.rtc2.Constants.AUDIO_ROUTE_HEADSETNOMIC = 2
| static

2: Headset with no microphone.

## ◆ AUDIO_ROUTE_SPEAKERPHONE

final int io.agora.rtc2.Constants.AUDIO_ROUTE_SPEAKERPHONE = 3
| static

3: Speakerphone.

## ◆ AUDIO_ROUTE_LOUDSPEAKER

final int io.agora.rtc2.Constants.AUDIO_ROUTE_LOUDSPEAKER = 4
| static

4: Loudspeaker

## ◆ AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP

final int io.agora.rtc2.Constants.AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP = 5
| static

5: Bluetooth Device HFP.

## ◆ AUDIO_ROUTE_USBDEVICE

final int io.agora.rtc2.Constants.AUDIO_ROUTE_USBDEVICE = 6
| static

6: USB device.

## ◆ AUDIO_ROUTE_HDMI

final int io.agora.rtc2.Constants.AUDIO_ROUTE_HDMI = 7
| static

7: HDMI device.

## ◆ AUDIO_ROUTE_USB_HEADSET

final int io.agora.rtc2.Constants.AUDIO_ROUTE_USB_HEADSET = 8
| static

8: USB headset.

## ◆ AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP

final int io.agora.rtc2.Constants.AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP = 10
| static

10: Bluetooth Device A2DP.

## ◆ VIDEO_STREAM_HIGH

final int io.agora.rtc2.Constants.VIDEO_STREAM_HIGH = 0
| static

0: The high-stream video, that is, the video stream featuring in high resolution and high bitrate.

## ◆ VIDEO_STREAM_LOW

final int io.agora.rtc2.Constants.VIDEO_STREAM_LOW = 1
| static

1: The low-stream video, that is, the video stream featuring in low resolution and low bitrate.

## ◆ USER_PRIORITY_HIGH

final int io.agora.rtc2.Constants.USER_PRIORITY_HIGH = 50
| static

High Priority, if you set a user with high priority, then streams of this user will have high priority than streams of other users with normal default priority. i.e., the SDK will take priority into account when deciding which user's stream need to fallback when network congestion occurs.

## ◆ USER_PRIORITY_NORANL

final int io.agora.rtc2.Constants.USER_PRIORITY_NORANL = 100
| static

Default priority.

## ◆ HARDWARE_ENCODER

final int io.agora.rtc2.Constants.HARDWARE_ENCODER = 0
| static

Hardware encoder.

## ◆ SOFTWARE_ENCODER

final int io.agora.rtc2.Constants.SOFTWARE_ENCODER = 1
| static

Software encoder.

## ◆ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY

final int io.agora.rtc2.Constants.RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0
| static

Read-only mode, users only read the AudioFrame data without modifying anything. For example, when users acquire data with the Agora SDK, and push RTMP streams by themselves.

## ◆ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE

final int io.agora.rtc2.Constants.RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2
| static

Read and write mode, users read the data from AudioFrame, modify it and then play it. For example, when users have their own sound-effect processing module, and want to do voice pre-processing, such as a voice change.

## ◆ POSITION_PLAYBACK

final int io.agora.rtc2.Constants.POSITION_PLAYBACK = 0x01
| static

`0x01`: The position for observing the playback audio of all remote users after mixing, which enables the SDK to trigger the onPlaybackFrame callback.

## ◆ POSITION_RECORD

final int io.agora.rtc2.Constants.POSITION_RECORD = 0x01 << 1
| static

`0x01 << 1`: The position for observing the recorded audio of the local user, which enables the SDK to trigger the onRecordFrame callback.

## ◆ POSITION_MIXED

final int io.agora.rtc2.Constants.POSITION_MIXED = 0x01 << 2
| static

`0x01 << 2`: The position for observing the mixed audio of the local user and all remote users, which enables the SDK to trigger the onMixedFrame callback.

## ◆ POSITION_BEFORE_MIXING

final int io.agora.rtc2.Constants.POSITION_BEFORE_MIXING = 0x01 << 3
| static

`0x01 << 3`: The position for observing the audio of a single remote user before mixing, which enables the SDK to trigger the onPlaybackFrameBeforeMixing or onPlaybackFrameBeforeMixingEx callback.

## ◆ POSITION_EAR_MONITORING

final int io.agora.rtc2.Constants.POSITION_EAR_MONITORING = 0x01 << 4
| static

`0x01 << 4`: The position for observing the ear monitoring audio of the local user, which enables the SDK to trigger the onEarMonitoringAudioFrame callback.

## ◆ NETWORK_TYPE_UNKNOWN

final int io.agora.rtc2.Constants.NETWORK_TYPE_UNKNOWN = -1
| static

-1: The network type is unknown.

## ◆ NETWORK_TYPE_DISCONNECTED

final int io.agora.rtc2.Constants.NETWORK_TYPE_DISCONNECTED = 0
| static

0: The SDK disconnects from the network.

## ◆ NETWORK_TYPE_LAN

final int io.agora.rtc2.Constants.NETWORK_TYPE_LAN = 1
| static

1: The network type is LAN.

## ◆ NETWORK_TYPE_WIFI

final int io.agora.rtc2.Constants.NETWORK_TYPE_WIFI = 2
| static

2: The network type is Wi-Fi (including hotspots).

## ◆ NETWORK_TYPE_MOBILE_2G

final int io.agora.rtc2.Constants.NETWORK_TYPE_MOBILE_2G = 3
| static

3: The network type is mobile 2G.

## ◆ NETWORK_TYPE_MOBILE_3G

final int io.agora.rtc2.Constants.NETWORK_TYPE_MOBILE_3G = 4
| static

4: The network type is mobile 3G.

## ◆ NETWORK_TYPE_MOBILE_4G

final int io.agora.rtc2.Constants.NETWORK_TYPE_MOBILE_4G = 5
| static

5: The network type is mobile 4G.

## ◆ NETWORK_TYPE_MOBILE_5G

final int io.agora.rtc2.Constants.NETWORK_TYPE_MOBILE_5G = 6
| static

6: The network type is mobile 5G.

## ◆ STREAM_LIFE_CYCLE_BIND2CHANNEL

final int io.agora.rtc2.Constants.STREAM_LIFE_CYCLE_BIND2CHANNEL = 1
| static

Bound to the channel lifecycle.

## ◆ STREAM_LIFE_CYCLE_BIND2OWNER

final int io.agora.rtc2.Constants.STREAM_LIFE_CYCLE_BIND2OWNER = 2
| static

Bound to the owner of the RTMP stream.

## ◆ AUDIO_FILE_RECORDING_MIC

final int io.agora.rtc2.Constants.AUDIO_FILE_RECORDING_MIC = 1
| static

1: mic audio file recording.

## ◆ AUDIO_FILE_RECORDING_PLAYBACK

final int io.agora.rtc2.Constants.AUDIO_FILE_RECORDING_PLAYBACK = 2
| static

2: playback audio file recording.

## ◆ AUDIO_FILE_RECORDING_MIXED

final int io.agora.rtc2.Constants.AUDIO_FILE_RECORDING_MIXED = 3
| static

3: mixed audio file recording, include mic and playback.

## ◆ AUDIO_RECORDING_QUALITY_LOW

final int io.agora.rtc2.Constants.AUDIO_RECORDING_QUALITY_LOW = 0
| static

Low quality, file size is around 1.2 MB after 10 minutes of recording.

## ◆ AUDIO_RECORDING_QUALITY_MEDIUM

final int io.agora.rtc2.Constants.AUDIO_RECORDING_QUALITY_MEDIUM = 1
| static

Medium quality, file size is around 2 MB after 10 minutes of recording.

## ◆ AUDIO_RECORDING_QUALITY_HIGH

final int io.agora.rtc2.Constants.AUDIO_RECORDING_QUALITY_HIGH = 2
| static

High quality, file size is around 3.75 MB after 10 minutes of recording.

## ◆ AUDIO_RECORDING_QUALITY_ULTRA_HIGH

final int io.agora.rtc2.Constants.AUDIO_RECORDING_QUALITY_ULTRA_HIGH = 3
| static

3: Ultra High quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 7.5 MB.

## ◆ AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC

final int io.agora.rtc2.Constants.AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC = 1
| static

1: mic audio frame observer

## ◆ AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK

final int io.agora.rtc2.Constants.AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK = 2
| static

2: playback audio frame observer

## ◆ AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED

final int io.agora.rtc2.Constants.AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED = 3
| static

3: mixed audio frame observer

## ◆ AUDIO_ENCODING_TYPE_AAC_16000_LOW

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_16000_LOW = 0x010101
| static

1: codecType AAC; sampleRate 16000; quality low which around 1.2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM = 0x010102
| static

2: codecType AAC; sampleRate 16000; quality medium which around 2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_AAC_32000_LOW

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_32000_LOW = 0x010201
| static

3: codecType AAC; sampleRate 32000; quality low which around 1.2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM = 0x010202
| static

4: codecType AAC; sampleRate 32000; quality medium which around 2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_AAC_32000_HIGH

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_32000_HIGH = 0x010203
| static

5: codecType AAC; sampleRate 32000; quality high which around 3.5 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM = 0x010302
| static

6: codecType AAC; sampleRate 48000; quality medium which around 2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_AAC_48000_HIGH

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_AAC_48000_HIGH = 0x010303
| static

7: codecType AAC; sampleRate 48000; quality high which around 3.5 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_OPUS_16000_LOW

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_OPUS_16000_LOW = 0x020101
| static

11: codecType OPUS; sampleRate 16000; quality low which around 1.2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM = 0x020102
| static

12: codecType OPUS; sampleRate 16000; quality medium which around 2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM = 0x020302
| static

13: codecType OPUS; sampleRate 48000; quality medium which around 2 MB after 10 minutes

## ◆ AUDIO_ENCODING_TYPE_OPUS_48000_HIGH

final int io.agora.rtc2.Constants.AUDIO_ENCODING_TYPE_OPUS_48000_HIGH = 0x020303
| static

14: codecType OPUS; sampleRate 48000; quality high which around 3.5 MB after 10 minutes

## ◆ MEDIA_TYPE_NONE

final int io.agora.rtc2.Constants.MEDIA_TYPE_NONE = 0
| static

None

## ◆ MEDIA_TYPE_AUDIO_ONLY

final int io.agora.rtc2.Constants.MEDIA_TYPE_AUDIO_ONLY = 1
| static

Audio only

## ◆ MEDIA_TYPE_VIDEO_ONLY

final int io.agora.rtc2.Constants.MEDIA_TYPE_VIDEO_ONLY = 2
| static

Video only

## ◆ MEDIA_TYPE_AUDIO_AND_VIDEO

final int io.agora.rtc2.Constants.MEDIA_TYPE_AUDIO_AND_VIDEO = 3
| static

Audio and video

## ◆ LOCAL_VIDEO_STREAM_STATE_STOPPED

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_STATE_STOPPED = 0
| static

Local video state types Initial state

## ◆ LOCAL_VIDEO_STREAM_STATE_CAPTURING

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_STATE_CAPTURING = 1
| static

The capturer starts successfully.

## ◆ LOCAL_VIDEO_STREAM_STATE_ENCODING

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_STATE_ENCODING = 2
| static

The first video frame is successfully encoded.

## ◆ LOCAL_VIDEO_STREAM_STATE_FAILED

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_STATE_FAILED = 3
| static

The local video fails to start.

## ◆ LOCAL_VIDEO_STREAM_REASON_OK

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_OK = 0
| static

Reasons for the local video failure. 0: The local video is normal.

## ◆ LOCAL_VIDEO_STREAM_REASON_FAILURE

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_FAILURE = 1
| static

1: No specified reason for the local video failure.

## ◆ LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_DEVICE_NO_PERMISSION = 2
| static

2: No permission to use the local video device.

## ◆ LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_DEVICE_BUSY = 3
| static

3: The local video capturer is in use.

## ◆ LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_CAPTURE_FAILURE = 4
| static

4: The local video capture fails. Check whether the capturer is working properly.

## ◆ LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_CODEC_NOT_SUPPORT = 5
| static

5: The local video encoding fails.

## ◆ LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_DEVICE_NOT_FOUND = 8
| static

8: The local video device not found.

## ◆ LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT = 14
| static

14: Video capture was interrupted, possibly due to the camera being occupied or some policy reasons such as background termination.

## ◆ LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR

final int io.agora.rtc2.Constants.LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR = 15
| static

15: The device may need to be shut down and restarted to restore camera function, or there may be a persistent hardware problem.

## ◆ LOCAL_AUDIO_STREAM_STATE_STOPPED

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_STATE_STOPPED = 0
| static

Local audio state types 0: The local audio is in the initial state.

## ◆ LOCAL_AUDIO_STREAM_STATE_RECORDING

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_STATE_RECORDING = 1
| static

1: The capturer starts successfully.

## ◆ LOCAL_AUDIO_STREAM_STATE_ENCODING

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_STATE_ENCODING = 2
| static

2: The first audio frame is successfully encoded.

## ◆ LOCAL_AUDIO_STREAM_STATE_FAILED

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_STATE_FAILED = 3
| static

3: The local audio fails to start.

## ◆ LOCAL_AUDIO_STREAM_REASON_OK

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_OK = 0
| static

Reasons for the local audio failure. 0: The local audio is normal.

## ◆ LOCAL_AUDIO_STREAM_REASON_FAILURE

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_FAILURE = 1
| static

1: No specified reason for the local audio failure.

## ◆ LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_DEVICE_NO_PERMISSION = 2
| static

2: No permission to use the local audio device.

## ◆ LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_DEVICE_BUSY = 3
| static

3: The microphone is in use.

## ◆ LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_CAPTURE_FAILURE = 4
| static

4: The local audio capture failed. Check whether the audio capture device is working properly.

## ◆ LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_ENCODE_FAILURE = 5
| static

5: The local audio encoding fails.

## ◆ LOCAL_AUDIO_STREAM_REASON_INTERRUPTED

final int io.agora.rtc2.Constants.LOCAL_AUDIO_STREAM_REASON_INTERRUPTED = 8
| static

8: The local audio capturing is interrupted by the system call.

## ◆ REMOTE_AUDIO_STATE_STOPPED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_STATE_STOPPED = 0
| static

Remote audio state 0: The remote audio is in the default state, probably due to REMOTE_AUDIO_REASON_LOCAL_DISABLE_AUDIO(3), REMOTE_AUDIO_REASON_REMOTE_MUTED(5), or REMOTE_AUDIO_REASON_REMOTE_OFFLINE(7).

## ◆ REMOTE_AUDIO_STATE_STARTING

final int io.agora.rtc2.Constants.REMOTE_AUDIO_STATE_STARTING = 1
| static

1: The first remote audio packet is received.

## ◆ REMOTE_AUDIO_STATE_DECODING

final int io.agora.rtc2.Constants.REMOTE_AUDIO_STATE_DECODING = 2
| static

2: The remote audio stream is decoded and plays normally, probably due to REMOTE_AUDIO_REASON_NETWORK_RECOVERY(2), REMOTE_AUDIO_REASON_LOCAL_ENABLE_AUDIO(4), or REMOTE_AUDIO_REASON_REMOTE_UNMUTED(6).

## ◆ REMOTE_AUDIO_STATE_FROZEN

final int io.agora.rtc2.Constants.REMOTE_AUDIO_STATE_FROZEN = 3
| static

3: The remote audio is frozen, probably due to REMOTE_AUDIO_REASON_NETWORK_CONGESTION(1).

## ◆ REMOTE_AUDIO_STATE_FAILED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_STATE_FAILED = 4
| static

4: The remote audio fails to start, probably due to REMOTE_AUDIO_REASON_INTERNAL(0).

## ◆ REMOTE_AUDIO_REASON_INTERNAL

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_INTERNAL = 0
| static

Reasons for a remote audio state change. 0: Internal reasons.

## ◆ REMOTE_AUDIO_REASON_NETWORK_CONGESTION

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_NETWORK_CONGESTION = 1
| static

1: Network congestion.

## ◆ REMOTE_AUDIO_REASON_NETWORK_RECOVERY

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_NETWORK_RECOVERY = 2
| static

2: Network recovery.

## ◆ REMOTE_AUDIO_REASON_LOCAL_MUTED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_LOCAL_MUTED = 3
| static

3: The local user stops receiving the remote audio stream or disables the audio module.

## ◆ REMOTE_AUDIO_REASON_LOCAL_UNMUTED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_LOCAL_UNMUTED = 4
| static

4: The local user resumes receiving the remote audio stream or enables the audio module.

## ◆ REMOTE_AUDIO_REASON_REMOTE_MUTED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_REMOTE_MUTED = 5
| static

5: The remote user stops sending the audio stream or disables the audio module.

## ◆ REMOTE_AUDIO_REASON_REMOTE_UNMUTED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_REMOTE_UNMUTED = 6
| static

6: The remote user resumes sending the audio stream or enables the audio module.

## ◆ REMOTE_AUDIO_REASON_REMOTE_OFFLINE

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_REMOTE_OFFLINE = 7
| static

7: The remote user leaves the channel.

## ◆ REMOTE_AUDIO_REASON_NO_PACKET_RECEIVE

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_NO_PACKET_RECEIVE = 8
| static

8: The local user does not receive any audio packet from remote user.

## ◆ REMOTE_AUDIO_REASON_LOCAL_PLAY_FAILED

final int io.agora.rtc2.Constants.REMOTE_AUDIO_REASON_LOCAL_PLAY_FAILED = 9
| static

9: The local user receives remote audio packet but fails to play.

## ◆ REMOTE_VIDEO_STATE_STOPPED

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_STOPPED = 0
| static

Remote video state. Default state

## ◆ REMOTE_VIDEO_STATE_STARTING

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_STARTING = 1
| static

1: video packet has been received, but not decoded yet.

## ◆ REMOTE_VIDEO_STATE_DECODING

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_DECODING = 2
| static

2: Remote video stream is decoded and plays normally.

## ◆ REMOTE_VIDEO_STATE_FROZEN

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_FROZEN = 3
| static

3: Remote video is frozen, probably due to network issue.

## ◆ REMOTE_VIDEO_STATE_FAILED

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_FAILED = 4
| static

4: Failed.

## ◆ REMOTE_VIDEO_STATE_REASON_INTERNAL

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_INTERNAL = 0
| static

Reasons for a remote video state change. 0: Internal reasons.

## ◆ REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION = 1
| static

1: Network congestion.

## ◆ REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY = 2
| static

2: Network recovery.

## ◆ REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED = 3
| static

3: The local user stops receiving the remote video stream or disables the video module.

## ◆ REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED = 4
| static

4: The local user resumes receiving the remote video stream or enables the video module.

## ◆ REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED = 5
| static

5: The remote user stops sending the video stream or disables the video module.

## ◆ REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED = 6
| static

6: The remote user resumes sending the video stream or enables the video module.

## ◆ REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE = 7
| static

7: The remote user leaves the channel.

## ◆ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK = 8
| static

8: The remote media stream falls back to the audio-only stream due to poor network conditions.

## ◆ REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY = 9
| static

9: The remote media stream switches back to the video stream after the network conditions improve.

## ◆ REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_SDK_IN_BACKGROUND = 12
| static

12: The remote user sdk(only for iOS) in background.

## ◆ REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT

final int io.agora.rtc2.Constants.REMOTE_VIDEO_STATE_REASON_CODEC_NOT_SUPPORT = 13
| static

13: The remote video stream is not supported by the decoder.

## ◆ AUDIO_MIXING_STATE_PLAYING

final int io.agora.rtc2.Constants.AUDIO_MIXING_STATE_PLAYING = 710
| static

The audio mixing state types 710: The audio mixing file is playing.

## ◆ AUDIO_MIXING_STATE_PAUSED

final int io.agora.rtc2.Constants.AUDIO_MIXING_STATE_PAUSED = 711
| static

711: The audio mixing file pauses playing.

## ◆ AUDIO_MIXING_STATE_STOPPED

final int io.agora.rtc2.Constants.AUDIO_MIXING_STATE_STOPPED = 713
| static

713: The audio mixing file stops playing.

## ◆ AUDIO_MIXING_STATE_FAILED

final int io.agora.rtc2.Constants.AUDIO_MIXING_STATE_FAILED = 714
| static

714: An exception occurs when playing the audio mixing file. See the errorCode for details.

## ◆ AUDIO_MIXING_REASON_CAN_NOT_OPEN

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_CAN_NOT_OPEN = 701
| static

The audio mixing error type. 701: An error occurs in opening the audio mixing file.

## ◆ AUDIO_MIXING_REASON_TOO_FREQUENT_CALL

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_TOO_FREQUENT_CALL = 702
| static

702: The SDK opens the audio mixing file too frequently.

## ◆ AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED = 721
| static

721: The audio mixing file is played once.

## ◆ AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED = 723
| static

723: The audio mixing file is all played out.

## ◆ AUDIO_MIXING_REASON_STOPPED_BY_USER

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_STOPPED_BY_USER = 724
| static

724: The audio mixing file stopped by user

## ◆ AUDIO_MIXING_REASON_RESUMED_BY_USER

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_RESUMED_BY_USER = 726
| static

726: The audio mixing playback has resumed by user

## ◆ AUDIO_MIXING_REASON_INTERRUPTED_EOF

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_INTERRUPTED_EOF = 703
| static

703: The audio mixing file playback is interrupted.

## ◆ AUDIO_MIXING_REASON_OK

final int io.agora.rtc2.Constants.AUDIO_MIXING_REASON_OK = 0
| static

0: No error.

## ◆ VIDEO_CODEC_VP8

final int io.agora.rtc2.Constants.VIDEO_CODEC_VP8 = 1
| static

Video codec types VIDEO_CODEC_TYPE

## ◆ TCC_ENABLED

final int io.agora.rtc2.Constants.TCC_ENABLED = 0
| static

Transport CC enabled

## ◆ PACKETIZE_MODE_H264_NON_INTERLEAVED

final int io.agora.rtc2.Constants.PACKETIZE_MODE_H264_NON_INTERLEAVED = 0
| static

Packetize Mode H264PacketizeMode

## ◆ VIDEO_FRAME_TYPE_BLANK_FRAME

final int io.agora.rtc2.Constants.VIDEO_FRAME_TYPE_BLANK_FRAME = 0
| static

Video Frame Type. VIDEO_FRAME_TYPE

## ◆ VIDEO_ORIENTATION_0

final int io.agora.rtc2.Constants.VIDEO_ORIENTATION_0 = 0
| static

clockwise rotation. VIDEO_ORIENTATION 0: No rotation.

## ◆ VIDEO_ORIENTATION_90

final int io.agora.rtc2.Constants.VIDEO_ORIENTATION_90 = 90
| static

90: 90 degrees.

## ◆ VIDEO_ORIENTATION_180

final int io.agora.rtc2.Constants.VIDEO_ORIENTATION_180 = 180
| static

180: 180 degrees.

## ◆ VIDEO_ORIENTATION_270

final int io.agora.rtc2.Constants.VIDEO_ORIENTATION_270 = 270
| static

270: 270 degrees.

## ◆ RHYTHM_PLAYER_STATE_IDLE

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_STATE_IDLE = 810
| static

The state of the rhythm player. 810: The rhythm player is idle.

## ◆ RHYTHM_PLAYER_STATE_OPENING

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_STATE_OPENING = 811
| static

811: The rhythm player is opening files.

## ◆ RHYTHM_PLAYER_STATE_DECODING

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_STATE_DECODING = 812
| static

812: Files opened successfully, the rhythm player starts decoding files.

## ◆ RHYTHM_PLAYER_STATE_PLAYING

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_STATE_PLAYING = 813
| static

813: Files decoded successfully, the rhythm player starts mixing the two files and playing back them locally.

## ◆ RHYTHM_PLAYER_STATE_FAILED

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_STATE_FAILED = 814
| static

814: The rhythm player is starting to fail, and you need to check the error code for detailed failure reasons

## ◆ LICENSE_ERR_INVALID

final int io.agora.rtc2.Constants.LICENSE_ERR_INVALID = 1
| static

Reasons for a license verify fail. 1: Invalid license

## ◆ LICENSE_ERR_EXPIRE

final int io.agora.rtc2.Constants.LICENSE_ERR_EXPIRE = 2
| static

2: License expired

## ◆ LICENSE_ERR_MINUTES_EXCEED

final int io.agora.rtc2.Constants.LICENSE_ERR_MINUTES_EXCEED = 3
| static

3: Exceed license minutes limit

## ◆ LICENSE_ERR_LIMITED_PERIOD

final int io.agora.rtc2.Constants.LICENSE_ERR_LIMITED_PERIOD = 4
| static

4: License use in limited period

## ◆ LICENSE_ERR_DIFF_DEVICES

final int io.agora.rtc2.Constants.LICENSE_ERR_DIFF_DEVICES = 5
| static

5: Same license used in different devices at the same time

## ◆ LICENSE_ERR_INTERNAL

final int io.agora.rtc2.Constants.LICENSE_ERR_INTERNAL = 99
| static

99: SDK internal error

## ◆ RHYTHM_PLAYER_REASON_OK

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_REASON_OK = 0
| static

The error codes of the rhythm player. 0: The rhythm player works well.

## ◆ RHYTHM_PLAYER_REASON_FAILED

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_REASON_FAILED = 1
| static

1: he rhythm player occurs a internal error.

## ◆ RHYTHM_PLAYER_REASON_CAN_NOT_OPEN

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_REASON_CAN_NOT_OPEN = 801
| static

801: The rhythm player can not open the file.

## ◆ RHYTHM_PLAYER_REASON_CAN_NOT_PLAY

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_REASON_CAN_NOT_PLAY = 802
| static

802: The rhythm player can not play the file.

## ◆ RHYTHM_PLAYER_REASON_FILE_OVER_DURATION_LIMIT

final int io.agora.rtc2.Constants.RHYTHM_PLAYER_REASON_FILE_OVER_DURATION_LIMIT = 803
| static

803: The file duration over the limit. The file duration limit is 1.2 seconds.

## ◆ PUB_STATE_IDLE

final int io.agora.rtc2.Constants.PUB_STATE_IDLE = 0
| static

The stream publish state. 0: The initial publishing state after joining the channel.

## ◆ PUB_STATE_NO_PUBLISHED

final int io.agora.rtc2.Constants.PUB_STATE_NO_PUBLISHED = 1
| static

1: Fails to publish the local stream.

## ◆ PUB_STATE_PUBLISHING

final int io.agora.rtc2.Constants.PUB_STATE_PUBLISHING = 2
| static

2: Publishing the local stream.

## ◆ PUB_STATE_PUBLISHED

final int io.agora.rtc2.Constants.PUB_STATE_PUBLISHED = 3
| static

3: Successfully publishes the local stream.

## ◆ SUB_STATE_IDLE

final int io.agora.rtc2.Constants.SUB_STATE_IDLE = 0
| static

The stream subscribe state. 0: The initial subscribing state after joining the channel.

## ◆ SUB_STATE_NO_SUBSCRIBED

final int io.agora.rtc2.Constants.SUB_STATE_NO_SUBSCRIBED = 1
| static

1: Fails to subscribing to the remote stream.

## ◆ SUB_STATE_SUBSCRIBING

final int io.agora.rtc2.Constants.SUB_STATE_SUBSCRIBING = 2
| static

2: Subscribing.

## ◆ SUB_STATE_SUBSCRIBED

final int io.agora.rtc2.Constants.SUB_STATE_SUBSCRIBED = 3
| static

3: Subscribes to and receives the remote stream successfully.

## ◆ RTMP_STREAMING_EVENT_FAILED_LOAD_IMAGE

final int io.agora.rtc2.Constants.RTMP_STREAMING_EVENT_FAILED_LOAD_IMAGE = 1
| static

Events during the RTMP or RTMPS streaming. 1: An error occurs when you add a background image or a watermark image to the RTMP or RTMPS stream.

## ◆ RTMP_STREAMING_EVENT_URL_ALREADY_IN_USE

final int io.agora.rtc2.Constants.RTMP_STREAMING_EVENT_URL_ALREADY_IN_USE = 2
| static

2: The streaming URL is already being used for CDN live streaming. If you want to start new streaming, use a new streaming URL.

Since
  v3.4.5

## ◆ RTMP_STREAMING_EVENT_ADVANCED_FEATURE_NOT_SUPPORT

final int io.agora.rtc2.Constants.RTMP_STREAMING_EVENT_ADVANCED_FEATURE_NOT_SUPPORT = 3
| static

3: advanced feature not support

## ◆ RTMP_STREAMING_EVENT_REQUEST_TOO_OFTEN

final int io.agora.rtc2.Constants.RTMP_STREAMING_EVENT_REQUEST_TOO_OFTEN = 4
| static

4: Client request too frequently.

## ◆ RTMP_STREAM_PUBLISH_STATE_IDLE

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_STATE_IDLE = 0
| static

The RTMP or RTMPS streaming state. 0: The RTMP streaming has not started or has ended.

This state is also reported after you remove an RTMP address from the CDN by calling `removePublishStreamUrl`.

## ◆ RTMP_STREAM_PUBLISH_STATE_CONNECTING

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1
| static

1: The SDK is connecting to the streaming server and the RTMP server.

This state is reported after you call `addPublishStreamUrl`.

## ◆ RTMP_STREAM_PUBLISH_STATE_RUNNING

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_STATE_RUNNING = 2
| static

2: The RTMP streaming publishes. The SDK successfully publishes the RTMP streaming and returns this state.

## ◆ RTMP_STREAM_PUBLISH_STATE_RECOVERING

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3
| static

3: The RTMP streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK tries to resume RTMP streaming and reports this state.

- If the SDK successfully resumes the streaming, `RTMP_STREAM_PUBLISH_STATE_RUNNING(2)` is reported.
- If the streaming does not resume within 60 seconds or server errors occur, `RTMP_STREAM_PUBLISH_STATE_FAILURE(4)` is reported. You can also reconnect to the server by calling `removePublishStreamUrl` and `addPublishStreamUrl`.

## ◆ RTMP_STREAM_PUBLISH_STATE_FAILURE

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_STATE_FAILURE = 4
| static

4: The RTMP streaming fails. See the `errCode` parameter for the detailed error information. You can also call `addPublishStreamUrl` to publish the RTMP streaming again.

## ◆ RTMP_STREAM_PUBLISH_STATE_DISCONNECTING

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_STATE_DISCONNECTING = 5
| static

5: The SDK is disconnecting to Agora's streaming server and the CDN server. This state is triggered after you call the removePublishStreamUrl method.

## ◆ RTMP_STREAM_PUBLISH_REASON_OK

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_OK = 0
| static

Error codes of the RTMP streaming. 0: The RTMP or RTMPS streaming publishes successfully.

## ◆ RTMP_STREAM_PUBLISH_REASON_INVALID_ARGUMENT

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_INVALID_ARGUMENT = 1
| static

1. Invalid argument used. If, for example, you do not call the setLiveTranscoding method to configure the LiveTranscoding parameters before calling the addPublishStreamUrl method, the SDK returns this error. Check whether you set the parameters in the setLiveTranscoding method properly.

## ◆ RTMP_STREAM_PUBLISH_REASON_ENCRYPTED_STREAM_NOT_ALLOWED

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_ENCRYPTED_STREAM_NOT_ALLOWED = 2
| static

2: The RTMP or RTMPS streaming is encrypted and cannot be published.

## ◆ RTMP_STREAM_PUBLISH_REASON_CONNECTION_TIMEOUT

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_CONNECTION_TIMEOUT = 3
| static

1. Timeout for the RTMP or RTMPS streaming. Call the addPublishStreamUrl method to publish the streaming again.

## ◆ RTMP_STREAM_PUBLISH_REASON_INTERNAL_SERVER_ERROR

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_INTERNAL_SERVER_ERROR = 4
| static

1. An error occurs in Agora's streaming server. Call the `addPublishStreamUrl` method to publish the streaming again.

## ◆ RTMP_STREAM_PUBLISH_REASON_RTMP_SERVER_ERROR

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_RTMP_SERVER_ERROR = 5
| static

5: An error occurs in the CDN server.

## ◆ RTMP_STREAM_PUBLISH_REASON_TOO_OFTEN

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_TOO_OFTEN = 6
| static

6: The RTMP or RTMPS streaming publishes too frequently.

## ◆ RTMP_STREAM_PUBLISH_REASON_REACH_LIMIT

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_REACH_LIMIT = 7
| static

7: The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones.

## ◆ RTMP_STREAM_PUBLISH_REASON_NOT_AUTHORIZED

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_NOT_AUTHORIZED = 8
| static

8: The host manipulates other hosts' URLs. Check your app logic.

## ◆ RTMP_STREAM_PUBLISH_REASON_STREAM_NOT_FOUND

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_STREAM_NOT_FOUND = 9
| static

9: Agora server fails to find the RTMP or RTMPS streaming.

## ◆ RTMP_STREAM_PUBLISH_REASON_FORMAT_NOT_SUPPORTED

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_FORMAT_NOT_SUPPORTED = 10
| static

10: The format of the RTMP or RTMPS streaming URL is not supported. Check whether the URL format is correct.

## ◆ RTMP_STREAM_PUBLISH_REASON_NOT_BROADCASTER

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_NOT_BROADCASTER = 11
| static

11: Current role is not broadcaster. Check whether the role of the current channel.

## ◆ RTMP_STREAM_PUBLISH_REASON_TRANSCODING_NO_MIX_STREAM

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_TRANSCODING_NO_MIX_STREAM = 13
| static

13: Call updateTranscoding, but no mix stream.

## ◆ RTMP_STREAM_PUBLISH_REASON_NET_DOWN

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_NET_DOWN = 14
| static

14: Network error.

## ◆ RTMP_STREAM_PUBLISH_REASON_INVALID_APPID

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_INVALID_APPID = 15
| static

15: User AppId have not authorized to push stream.

## ◆ RTMP_STREAM_PUBLISH_REASON_INVALID_PRIVILEGE

final int io.agora.rtc2.Constants.RTMP_STREAM_PUBLISH_REASON_INVALID_PRIVILEGE = 16
| static

16: invalid privilege.

## ◆ RTMP_STREAM_UNPUBLISH_REASON_OK

final int io.agora.rtc2.Constants.RTMP_STREAM_UNPUBLISH_REASON_OK = 100
| static

100: The streaming has been stopped normally. After you call removePublishStreamUrl to stop streaming, the SDK returns this value.

Since
  v3.4.5

## ◆ ENCRYPTION_ERROR_INTERNAL_FAILURE

final int io.agora.rtc2.Constants.ENCRYPTION_ERROR_INTERNAL_FAILURE = 0
| static

Error type of encryption. 0: Internal reason.

## ◆ ENCRYPTION_ERROR_DECRYPTION_FAILURE

final int io.agora.rtc2.Constants.ENCRYPTION_ERROR_DECRYPTION_FAILURE = 1
| static

1: MediaStream decryption errors. Ensure that the receiver and the sender use the same encryption mode and key.

## ◆ ENCRYPTION_ERROR_ENCRYPTION_FAILURE

final int io.agora.rtc2.Constants.ENCRYPTION_ERROR_ENCRYPTION_FAILURE = 2
| static

2: MediaStream encryption errors.

## ◆ ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE

final int io.agora.rtc2.Constants.ENCRYPTION_ERROR_DATASTREAM_DECRYPTION_FAILURE = 3
| static

3: DataStream decryption errors. Ensure that the receiver and the sender use the same encryption mode and key.

## ◆ ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE

final int io.agora.rtc2.Constants.ENCRYPTION_ERROR_DATASTREAM_ENCRYPTION_FAILURE = 4
| static

4: DataStream encryption errors.

## ◆ RECORD_AUDIO

final int io.agora.rtc2.Constants.RECORD_AUDIO = 0
| static

Type of permission.

## ◆ DEFAULT_CONNECTION_ID

final int io.agora.rtc2.Constants.DEFAULT_CONNECTION_ID = 0
| static

The default connection ID.

## ◆ CONNECTION_STATE_DISCONNECTED

final int io.agora.rtc2.Constants.CONNECTION_STATE_DISCONNECTED = 1
| static

1: The SDK is disconnected from Agora edge server.

- This is the initial state before calling the `joinChannel` method.
- The SDK also enters this state when the app calls the leaveChannel method.

## ◆ CONNECTION_STATE_CONNECTING

final int io.agora.rtc2.Constants.CONNECTION_STATE_CONNECTING = 2
| static

2: The SDK is connecting to Agora edge server.

- When the app calls the `joinChannel` method, the SDK starts to establish a connection to the specified channel, triggers the onConnectionStateChanged callback, and switches to the {CONNECTION_STATE_CONNECTING} state. When a user successfully joins a channel, the SDK triggers the {onConnectionStateChanged} callback and switches to the Constants#CONNECTION_STATE_CONNECTED CONNECTION_STATE_CONNECTED} state. After the SDK joins the channel and when it finishes initializing the media engine, the SDK triggers the onJoinChannelSuccess callback.

## ◆ CONNECTION_STATE_CONNECTED

final int io.agora.rtc2.Constants.CONNECTION_STATE_CONNECTED = 3
| static

3: The SDK is connected to Agora edge server and has joined a channel. You can now publish or subscribe to a media stream in the channel. If the connection to the channel is lost because, for example, the network is down or switched, the SDK triggers:

- The onConnectionInterrupted (deprecated) callback.
- The onConnectionStateChanged callback, and switches to the {CONNECTION_STATE_RECONNECTING} state.

## ◆ CONNECTION_STATE_RECONNECTING

final int io.agora.rtc2.Constants.CONNECTION_STATE_RECONNECTING = 4
| static

4: The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.

- If the SDK cannot join the channel within 10 seconds after being disconnected from Agora edge server, the SDK triggers the {onConnectionLost} (deprecated) callback, stays in the Constants#CONNECTION_STATE_RECONNECTING CONNECTION_STATE_RECONNECTING} state, and keeps rejoining the channel. If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora edge server, the SDK triggers the {onConnectionStateChanged} callback, switches to the Constants#CONNECTION_STATE_FAILED CONNECTION_STATE_FAILED} state, and stops rejoining the channel.

## ◆ CONNECTION_STATE_FAILED

final int io.agora.rtc2.Constants.CONNECTION_STATE_FAILED = 5
| static

5: The SDK fails to connect to Agora edge server or join the channel. You must call the leaveChannel method to leave this state and call the `joinChannel` method again to rejoin the channel. If the SDK is banned from joining the channel by the Agora server (through the RESTful API), the SDK triggers the {onConnectionBanned} and { IRtcEngineEventHandler#onConnectionStateChanged onConnectionStateChanged} callbacks.

## ◆ CONNECTION_CHANGED_CONNECTING

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_CONNECTING = 0
| static

0: The SDK is connecting to Agora edge server.

## ◆ CONNECTION_CHANGED_JOIN_SUCCESS

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_JOIN_SUCCESS = 1
| static

1: The SDK has joined the channel successfully.

## ◆ CONNECTION_CHANGED_INTERRUPTED

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_INTERRUPTED = 2
| static

2: The connection between the SDK and Agora edge server is interrupted.

## ◆ CONNECTION_CHANGED_BANNED_BY_SERVER

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_BANNED_BY_SERVER = 3
| static

3: The connection between the SDK and Agora edge server is banned by Agora edge server.

## ◆ CONNECTION_CHANGED_JOIN_FAILED

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_JOIN_FAILED = 4
| static

4: The SDK fails to join the channel for more than 20 minutes and stops reconnecting to the channel.

## ◆ CONNECTION_CHANGED_LEAVE_CHANNEL

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_LEAVE_CHANNEL = 5
| static

5: The SDK has left the channel.

## ◆ CONNECTION_CHANGED_INVALID_APP_ID

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_INVALID_APP_ID = 6
| static

6: The specified App ID is invalid. Try to rejoin the channel with a valid App ID.

## ◆ CONNECTION_CHANGED_INVALID_CHANNEL_NAME

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_INVALID_CHANNEL_NAME = 7
| static

7: The specified channel name is invalid. Try to rejoin the channel with a valid channel name.

## ◆ CONNECTION_CHANGED_INVALID_TOKEN

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_INVALID_TOKEN = 8
| static

8: The generated token is invalid probably due to the following reasons:

- The App Certificate for the project is enabled in Console, but you do not use the token.
- The uid that you specify in the `joinChannel` method is different from the uid that you pass for generating the token.

## ◆ CONNECTION_CHANGED_TOKEN_EXPIRED

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_TOKEN_EXPIRED = 9
| static

9: The token has expired. Generate a new token from your server.

## ◆ CONNECTION_CHANGED_REJECTED_BY_SERVER

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_REJECTED_BY_SERVER = 10
| static

10: The user is banned by the server.

## ◆ CONNECTION_CHANGED_SETTING_PROXY_SERVER

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_SETTING_PROXY_SERVER = 11
| static

11: The SDK tries to reconnect after setting a proxy server.

## ◆ CONNECTION_CHANGED_RENEW_TOKEN

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_RENEW_TOKEN = 12
| static

12: The token renews.

## ◆ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED = 13
| static

13: The client IP address has changed, probably due to a change of the network type, IP address, or network port.

## ◆ CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT = 14
| static

14: Timeout for the keep-alive of the connection between the SDK and Agora edge server. The connection state changes to Constants#CONNECTION_STATE_RECONNECTING(4).

## ◆ CONNECTION_CHANGED_REJOIN_SUCCESS

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_REJOIN_SUCCESS = 15
| static

15: The SDK has rejoined the channel successfully.

## ◆ CONNECTION_CHANGED_LOST

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_LOST = 16
| static

16: The connection between the SDK and the server is lost.

## ◆ CONNECTION_CHANGED_ECHO_TEST

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_ECHO_TEST = 17
| static

17: The change of connection state is caused by echo test.

## ◆ CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED_BY_USER = 18
| static

18: The local IP Address is changed by user.

## ◆ CONNECTION_CHANGED_SAME_UID_LOGIN

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_SAME_UID_LOGIN = 19
| static

/* 19: There is a disconnection due to joining channel on another device with the same uid.

## ◆ CONNECTION_CHANGED_TOO_MANY_BROADCASTERS

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_TOO_MANY_BROADCASTERS = 20
| static

20: The connection is failed due to too many broadcasters in the channel.

## ◆ CONNECTION_CHANGED_LICENSE_VALIDATION_FAILURE

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_LICENSE_VALIDATION_FAILURE = 21
| static

21: The connection is failed due to license validation failure.

## ◆ CONNECTION_CHANGED_CERTIFICATION_VERYFY_FAILURE

final int io.agora.rtc2.Constants.CONNECTION_CHANGED_CERTIFICATION_VERYFY_FAILURE = 22
| static

22: The connection is failed due to certification verify failure.

## ◆ WLACC_MESSAGE_REASON_WEAK_SIGNAL

final int io.agora.rtc2.Constants.WLACC_MESSAGE_REASON_WEAK_SIGNAL = 0
| static

0: WIFI signal is weak.

## ◆ WLACC_MESSAGE_REASON_CHANNEL_CONGESTION

final int io.agora.rtc2.Constants.WLACC_MESSAGE_REASON_CHANNEL_CONGESTION = 1
| static

1: Channel congestion.

## ◆ WLACC_SUGGEST_ACTION_CLOSE_TO_WIFI

final int io.agora.rtc2.Constants.WLACC_SUGGEST_ACTION_CLOSE_TO_WIFI = 0
| static

0: Please get close to AP.

## ◆ WLACC_SUGGEST_ACTION_CONNECT_SSID

final int io.agora.rtc2.Constants.WLACC_SUGGEST_ACTION_CONNECT_SSID = 1
| static

1: The user is advised to connect to the prompted SSID.

## ◆ WLACC_SUGGEST_ACTION_CHECK_5G

final int io.agora.rtc2.Constants.WLACC_SUGGEST_ACTION_CHECK_5G = 2
| static

2: The user is advised to check whether the AP supports 5G band and enable 5G band (the aciton link is attached), or purchases an AP that supports 5G. AP does not support 5G band.

## ◆ WLACC_SUGGEST_ACTION_MODIFY_SSID

final int io.agora.rtc2.Constants.WLACC_SUGGEST_ACTION_MODIFY_SSID = 3
| static

3: The user is advised to change the SSID of the 2.4G or 5G band (the aciton link is attached). The SSID of the 2.4G band AP is the same as that of the 5G band.

## ◆ RELAY_OK

final int io.agora.rtc2.Constants.RELAY_OK = 0
| static

0: The state is normal.

## ◆ RELAY_ERROR_SERVER_ERROR_RESPONSE

final int io.agora.rtc2.Constants.RELAY_ERROR_SERVER_ERROR_RESPONSE = 1
| static

1: An error occurs in the server response.

## ◆ RELAY_ERROR_SERVER_NO_RESPONSE

final int io.agora.rtc2.Constants.RELAY_ERROR_SERVER_NO_RESPONSE = 2
| static

2: No server response. You can call the leaveChannel method to leave the channel.

## ◆ RELAY_ERROR_NO_RESOURCE_AVAILABLE

final int io.agora.rtc2.Constants.RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3
| static

3: The SDK fails to access the service, probably due to limited resources of the server.

## ◆ RELAY_ERROR_FAILED_JOIN_SRC

final int io.agora.rtc2.Constants.RELAY_ERROR_FAILED_JOIN_SRC = 4
| static

4: Fails to send the relay request.

## ◆ RELAY_ERROR_FAILED_JOIN_DEST

final int io.agora.rtc2.Constants.RELAY_ERROR_FAILED_JOIN_DEST = 5
| static

5: Fails to accept the relay request.

## ◆ RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC

final int io.agora.rtc2.Constants.RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC = 6
| static

6: The server fails to receive the media stream.

## ◆ RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST

final int io.agora.rtc2.Constants.RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST = 7
| static

7: The server fails to send the media stream.

## ◆ RELAY_ERROR_SERVER_CONNECTION_LOST

final int io.agora.rtc2.Constants.RELAY_ERROR_SERVER_CONNECTION_LOST = 8
| static

8: The SDK disconnects from the server due to poor network connections. You can call the leaveChannel method to leave the channel.

## ◆ RELAY_ERROR_INTERNAL_ERROR

final int io.agora.rtc2.Constants.RELAY_ERROR_INTERNAL_ERROR = 9
| static

9: An internal error occurs in the server.

## ◆ RELAY_ERROR_SRC_TOKEN_EXPIRED

final int io.agora.rtc2.Constants.RELAY_ERROR_SRC_TOKEN_EXPIRED = 10
| static

10: The token of the source channel has expired.

## ◆ RELAY_ERROR_DEST_TOKEN_EXPIRED

final int io.agora.rtc2.Constants.RELAY_ERROR_DEST_TOKEN_EXPIRED = 11
| static

11: The token of the destination channel has expired.

## ◆ RELAY_EVENT_NETWORK_DISCONNECTED

final int io.agora.rtc2.Constants.RELAY_EVENT_NETWORK_DISCONNECTED = 0
| static

0: The user disconnects from the server due to poor network connections.

## ◆ RELAY_EVENT_NETWORK_CONNECTED

final int io.agora.rtc2.Constants.RELAY_EVENT_NETWORK_CONNECTED = 1
| static

1: The network reconnects.

## ◆ RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2
| static

2: The user joins the source channel.

## ◆ RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3
| static

3: The user joins the destination channel.

## ◆ RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4
| static

4: The SDK starts relaying the media stream to the destination channel.

## ◆ RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5
| static

5: The server receives the video stream from the source channel.

## ◆ RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6
| static

6: The server receives the audio stream from the source channel.

## ◆ RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7
| static

7: The destination channel is updated.

## ◆ RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8
| static

8: The destination channel update fails due to internal reasons. Deprecated from 4.1.0

## ◆ RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9
| static

9: The destination channel does not change, which means that the destination channel fails to be updated.

## ◆ RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL

final int io.agora.rtc2.Constants.RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10
| static

10: The destination channel name is NULL.

## ◆ RELAY_EVENT_VIDEO_PROFILE_UPDATE

final int io.agora.rtc2.Constants.RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11
| static

11: The video profile is sent to the server.

## ◆ RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS

final int io.agora.rtc2.Constants.RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 12
| static

12: pause send packet to dest channel success.

## ◆ RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED

final int io.agora.rtc2.Constants.RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 13
| static

13: pause send packet to dest channel failed.

## ◆ RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS

final int io.agora.rtc2.Constants.RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS = 14
| static

14: resume send packet to dest channel success.

## ◆ RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED

final int io.agora.rtc2.Constants.RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED = 15
| static

15: pause send packet to dest channel failed.

## ◆ RELAY_STATE_IDLE

final int io.agora.rtc2.Constants.RELAY_STATE_IDLE = 0
| static

0: The SDK is initializing.

## ◆ RELAY_STATE_CONNECTING

final int io.agora.rtc2.Constants.RELAY_STATE_CONNECTING = 1
| static

1: The SDK tries to relay the media stream to the destination channel.

## ◆ RELAY_STATE_RUNNING

final int io.agora.rtc2.Constants.RELAY_STATE_RUNNING = 2
| static

2: The SDK successfully relays the media stream to the destination channel.

## ◆ RELAY_STATE_FAILURE

final int io.agora.rtc2.Constants.RELAY_STATE_FAILURE = 3
| static

3: A failure occurs.

## ◆ EAR_MONITORING_FILTER_NONE

final int io.agora.rtc2.Constants.EAR_MONITORING_FILTER_NONE = (1 << 0)
| static

1: Do not add an audio filter to the in-ear monitor.

## ◆ EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS

final int io.agora.rtc2.Constants.EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS = (1 << 1)
| static

2: Add an audio filter to the in-ear monitor.

## ◆ EAR_MONITORING_FILTER_NOISE_SUPPRESSION

final int io.agora.rtc2.Constants.EAR_MONITORING_FILTER_NOISE_SUPPRESSION = (1 << 2)
| static

4: Enable noise suppression to the in-ear monitor.

## ◆ EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER

final int io.agora.rtc2.Constants.EAR_MONITORING_FILTER_REUSE_POST_PROCESSING_FILTER = (1 << 15)
| static

32768: Enable audio filters by reuse post-processing filter to the in-ear monitor. This bit is intended to be used in exclusive mode, which means, if this bit is set, all other bits will be disregarded.

## ◆ LOCAL_RPOXY_CONNECTIVITY_FIRST

final int io.agora.rtc2.Constants.LOCAL_RPOXY_CONNECTIVITY_FIRST = 0
| static

0: connectivity first

## ◆ LOCAL_RPOXY_LOCAL_ONLY

final int io.agora.rtc2.Constants.LOCAL_RPOXY_LOCAL_ONLY = 1
| static

1: local only

## ◆ EXPERIENCE_QUALITY_GOOD

final int io.agora.rtc2.Constants.EXPERIENCE_QUALITY_GOOD = 0
| static

0: QoE of the local user is good.

## ◆ EXPERIENCE_QUALITY_BAD

final int io.agora.rtc2.Constants.EXPERIENCE_QUALITY_BAD = 1
| static

1: QoE of the local user is poor.

## ◆ EXPERIENCE_REASON_NONE

final int io.agora.rtc2.Constants.EXPERIENCE_REASON_NONE = 0
| static

0: No reason, indicating good QoE of the local user.

## ◆ REMOTE_NETWORK_QUALITY_POOR

final int io.agora.rtc2.Constants.REMOTE_NETWORK_QUALITY_POOR = 1
| static

1: The remote user's network quality is poor.

## ◆ LOCAL_NETWORK_QUALITY_POOR

final int io.agora.rtc2.Constants.LOCAL_NETWORK_QUALITY_POOR = 2
| static

2: The local user's network quality is poor.

## ◆ WIRELESS_SIGNAL_POOR

final int io.agora.rtc2.Constants.WIRELESS_SIGNAL_POOR = 4
| static

4: The local user's Wi-Fi or mobile network signal is weak.

## ◆ WIFI_BLUETOOTH_COEXIST

final int io.agora.rtc2.Constants.WIFI_BLUETOOTH_COEXIST = 8
| static

8: The local user enables both Wi-Fi and bluetooth, and their signals interfere with each other. As a result, audio transmission quality is undermined.

## ◆ TRANSPORT_TYPE_NONE_PROXY

final int io.agora.rtc2.Constants.TRANSPORT_TYPE_NONE_PROXY = 0
| static

0: The automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN, and automatically switches to TLS 443 if the attempt fails. As of v3.6.2, the SDK has this mode enabled by default.

## ◆ TRANSPORT_TYPE_UDP_PROXY

final int io.agora.rtc2.Constants.TRANSPORT_TYPE_UDP_PROXY = 1
| static

1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.

## ◆ TRANSPORT_TYPE_TCP_PROXY

final int io.agora.rtc2.Constants.TRANSPORT_TYPE_TCP_PROXY = 2
| static

2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TLS 443.

Since
  v3.6.2

## ◆ PROXY_TYPE_NONE_PROXY

final int io.agora.rtc2.Constants.PROXY_TYPE_NONE_PROXY = 0
| static

0: Reserved for future use.

Since
  v3.6.2

## ◆ PROXY_TYPE_UDP_CLOUD_PROXY

final int io.agora.rtc2.Constants.PROXY_TYPE_UDP_CLOUD_PROXY = 1
| static

1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.

Since
  v3.6.2

## ◆ PROXY_TYPE_TCP_CLOUD_PROXY

final int io.agora.rtc2.Constants.PROXY_TYPE_TCP_CLOUD_PROXY = 2
| static

2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TLS 443.

Since
  v3.6.2

## ◆ PROXY_TYPE_LOCAL_PROXY

final int io.agora.rtc2.Constants.PROXY_TYPE_LOCAL_PROXY = 3
| static

3: Reserved for future use.

Since
  v3.6.2

## ◆ PROXY_TYPE_TCP_AUTO_FALLBACK

final int io.agora.rtc2.Constants.PROXY_TYPE_TCP_AUTO_FALLBACK = 4
| static

4: The automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN, and automatically switches to TLS 443 if the attempt fails.

Since
  v3.6.2

## ◆ PROXY_TYPE_HTTP

final int io.agora.rtc2.Constants.PROXY_TYPE_HTTP = 5
| static

5: The http proxy.

Since
  v4.2.0

## ◆ PROXY_TYPE_HTTPS

final int io.agora.rtc2.Constants.PROXY_TYPE_HTTPS = 6
| static

6: The https proxy.

Since
  v4.2.0

## ◆ ERR_SCREEN_CAPTURE_PERMISSION_DENIED

final int io.agora.rtc2.Constants.ERR_SCREEN_CAPTURE_PERMISSION_DENIED = 16
| static

16: The user refuses to grant screen capture permission to the application.

Since
  v3.7.0

## ◆ ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED

final int io.agora.rtc2.Constants.ERR_SCREEN_CAPTURE_SYSTEM_NOT_SUPPORTED = 2
| static

2: Due to system limitations, screen capture is not available on systems earlier than Android 5 (that is, Android API level 21). The SDK reports this error code when you call startScreenCapture on systems earlier than Android 5.

Since
  v3.7.0

## ◆ ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED

final int io.agora.rtc2.Constants.ERR_SCREEN_CAPTURE_SYSTEM_AUDIO_NOT_SUPPORTED = 3
| static

3: Due to system limitations, system audio cannot be captured on systems earlier than Android 10 (that is, API level 29). The SDK reports this error when you call {startScreenCapture} and set `captureAudio` as `true` on systems later than Android 5 (API level 21) and earlier than Android 10 (API level 29). v3.7.0

## ◆ CODEC_CAPABILITY_LEVEL_UNSPECIFIED

final int io.agora.rtc2.Constants.CODEC_CAPABILITY_LEVEL_UNSPECIFIED = -1
| static

Video codec capability levels.

Since
  v4.2.2 No specified level

## ◆ CODEC_CAPABILITY_LEVEL_BASIC_SUPPORT

final int io.agora.rtc2.Constants.CODEC_CAPABILITY_LEVEL_BASIC_SUPPORT = 5
| static

Only provide basic support for the codec type

## ◆ CODEC_CAPABILITY_LEVEL_1080P30FPS

final int io.agora.rtc2.Constants.CODEC_CAPABILITY_LEVEL_1080P30FPS = 10
| static

Can process 1080p video at a rate of approximately 30 fps.

## ◆ CODEC_CAPABILITY_LEVEL_1080P60FPS

final int io.agora.rtc2.Constants.CODEC_CAPABILITY_LEVEL_1080P60FPS = 20
| static

Can process 1080p video at a rate of approximately 60 fps.

## ◆ CODEC_CAPABILITY_LEVEL_4K60FPS

final int io.agora.rtc2.Constants.CODEC_CAPABILITY_LEVEL_4K60FPS = 30
| static

Can process 4k video at a rate of approximately 30 fps.

## ◆ FEATURE_VIDEO_VIRTUAL_BACKGROUND

final int io.agora.rtc2.Constants.FEATURE_VIDEO_VIRTUAL_BACKGROUND = 1
| static

FeatureType

Since
  v4.1.1.3

## ◆ VT_ERR_VIDEO_SOURCE_NOT_READY

final int io.agora.rtc2.Constants.VT_ERR_VIDEO_SOURCE_NOT_READY = 1
| static

The video track of the video source is not started.

## ◆ VT_ERR_INVALID_VIDEO_SOURCE_TYPE

final int io.agora.rtc2.Constants.VT_ERR_INVALID_VIDEO_SOURCE_TYPE = 2
| static

The video source type is not supported.

## ◆ VT_ERR_INVALID_IMAGE_PATH

final int io.agora.rtc2.Constants.VT_ERR_INVALID_IMAGE_PATH = 3
| static

The image url is not correctly of image source.

## ◆ VT_ERR_UNSUPPORT_IMAGE_FORMAT

final int io.agora.rtc2.Constants.VT_ERR_UNSUPPORT_IMAGE_FORMAT = 4
| static

The image format not the type png/jpeg/gif of image source.

## ◆ VT_ERR_INVALID_LAYOUT

final int io.agora.rtc2.Constants.VT_ERR_INVALID_LAYOUT = 5
| static

The layout is invalid such as width is zero.

## ◆ VT_ERR_INTERNAL

final int io.agora.rtc2.Constants.VT_ERR_INTERNAL = 20
| static

Internal error.