io.agora.rtc

## Class Constants

- java.lang.Object
- - io.agora.rtc.Constants

-     public class Constants
      extends java.lang.Object

  Rating of the media or network quality.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY` The audio equalization band frequency.
    `static class` | `Constants.AUDIO_REVERB_TYPE`
    `static class` | `Constants.AudioProfile` Sets the audio profile sampling rate, bitrate, encode mode, and the number of channels.
    `static class` | `Constants.AudioScenario` Sets the audio application scenarios.
    `(package private) static class` | `Constants.ClientRoleType` User role types.
    `static class` | `Constants.ConnectionChangedReasonType` Reasons causing the change of the connection state.
    `static class` | `Constants.ContentInspectResult`
    `static class` | `Constants.EncryptionErrorType` Encryption error type.
    `static class` | `Constants.ErrorCodeType` The error codes.
    `static class` | `Constants.ExternalVideoSourceType` External video source types definition.
    `static class` | `Constants.LogLevel` Log Level.
    `static class` | `Constants.MatrixID`
    `static class` | `Constants.MediaSourceType` The type of media device.
    `static class` | `Constants.MediaType` Media type.
    `static class` | `Constants.NetworkType` The network type.
    `static class` | `Constants.PrimaryID`
    `static class` | `Constants.QualityType` The network quality types.
    `static class` | `Constants.RangeID`
    `static class` | `Constants.RemoteAudioState` Remote audio states.
    `static class` | `Constants.RemoteAudioStateReason` Reasons for a remote audio state change.
    `static class` | `Constants.ThreadPriorityType` Thread priority type.
    `static class` | `Constants.TMixMode` The audio mixing mode.
    `static class` | `Constants.TransferID`
    `static class` | `Constants.UploadErrorReason` The upload error reasons.
    `static class` | `Constants.UserOfflineReasonType` Reasons for a user being offline.
    `static class` | `Constants.VadState`
    `static class` | `Constants.VideoSourceType` Video source types definition.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `AREA_CODE_AS` Asia, excluding Mainland China.
    `static int` | `AREA_CODE_CN` Mainland China.
    `static int` | `AREA_CODE_EU` Europe.
    `static int` | `AREA_CODE_GLOB` (Default) Global.
    `static int` | `AREA_CODE_IN` India.
    `static int` | `AREA_CODE_JP` Japan.
    `static int` | `AREA_CODE_NA` North America.
    `static int` | `AUDIENCE_LATENCY_LEVEL_LOW_LATENCY` 1: Low latency.
    `static int` | `AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY` 2: Ultra low latency.
    `static int` | `AUDIO_CODEC_AACLC`
    `static int` | `AUDIO_CODEC_HEAAC`
    `static int` | `AUDIO_CODEC_HEAAC2`
    `static int` | `AUDIO_CODEC_OPUS`
    `static int` | `AUDIO_CONSUMER_FAILED` 4: Failed.
    `static int` | `AUDIO_CONSUMER_INVALID_PARAM` 1: Invalid parameter.
    `static int` | `AUDIO_CONSUMER_NOT_READY` 2: Not ready.
    `static int` | `AUDIO_CONSUMER_PENDING` 3: Pending.
    `static int` | `AUDIO_EFFECT_OFF` Turn off audio effects and use the original voice.
    `static int` | `AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC` 1: mic audio frame observer
    `static int` | `AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED` 3: mixed audio frame observer
    `static int` | `AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK` 2: playback audio frame observer
    `static int` | `AUDIO_ENCODING_TYPE_AAC_16000_LOW` 1: codecType AAC; sampleRate 16000; quality low which around 1.2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM` 2: codecType AAC; sampleRate 16000; quality medium which around 2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_AAC_32000_HIGH` 5: codecType AAC; sampleRate 32000; quality high which around 3.5 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_AAC_32000_LOW` 3: codecType AAC; sampleRate 32000; quality low which around 1.2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM` 4: codecType AAC; sampleRate 32000; quality medium which around 2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_AAC_48000_HIGH` 7: codecType AAC; sampleRate 48000; quality high which around 3.5 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM` 6: codecType AAC; sampleRate 48000; quality medium which around 2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_OPUS_16000_LOW` 11: codecType OPUS; sampleRate 16000; quality low which around 1.2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM` 12: codecType OPUS; sampleRate 16000; quality medium which around 2 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_OPUS_48000_HIGH` 14: codecType OPUS; sampleRate 48000; quality high which around 3.5 MB after 10 minutes
    `static int` | `AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM` 13: codecType OPUS; sampleRate 48000; quality medium which around 2 MB after 10 minutes
    `static int` | `AUDIO_FILE_RECORDING_MIC` 1: mic audio file recording.
    `static int` | `AUDIO_FILE_RECORDING_MIXED` 3: mixed audio file recording, include mic and playback.
    `static int` | `AUDIO_FILE_RECORDING_PLAYBACK` 2: playback audio file recording.
    `static int` | `AUDIO_MIXING_ERROR_CAN_NOT_OPEN` 701: An error occurs in opening the audio mixing file.
    `static int` | `AUDIO_MIXING_ERROR_INTERRUPTED_EOF` 703: The audio mixing file playback is interrupted.
    `static int` | `AUDIO_MIXING_ERROR_OK` 0: No error.
    `static int` | `AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL` 702: The SDK opens the audio mixing file too frequently.
    `static int` | `AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED` 716: The audio mixing file is all played out.
    `static int` | `AUDIO_MIXING_STATE_COMPLETED` 715: The audio mixing file is played once.
    `static int` | `AUDIO_MIXING_STATE_FAILED` 714: An exception occurs when playing the audio mixing file.
    `static int` | `AUDIO_MIXING_STATE_PAUSED` 711: The audio mixing file pauses playing.
    `static int` | `AUDIO_MIXING_STATE_PLAYING` 710: The audio mixing file is playing.
    `static int` | `AUDIO_MIXING_STATE_STOPPED` 713: The audio mixing file stops playing.
    `static int` | `AUDIO_PROFILE_DEFAULT` 0: The default audio profile.
    `static int` | `AUDIO_PROFILE_MUSIC_HIGH_QUALITY` 4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.
    `static int` | `AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO` 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
    `static int` | `AUDIO_PROFILE_MUSIC_STANDARD` 2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
    `static int` | `AUDIO_PROFILE_MUSIC_STANDARD_STEREO` 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
    `static int` | `AUDIO_PROFILE_SPEECH_STANDARD` 1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate up to 18 Kbps.
    `static int` | `AUDIO_RECORDING_QUALITY_HIGH` High quality, file size is around 3.75 MB after 10 minutes of recording.
    `static int` | `AUDIO_RECORDING_QUALITY_LOW` Low quality, file size is around 1.2 MB after 10 minutes of recording.
    `static int` | `AUDIO_RECORDING_QUALITY_MEDIUM` Medium quality, file size is around 2 MB after 10 minutes of recording.
    `static int` | `AUDIO_REVERB_FX_KTV` The reverberation style typical of a KTV venue (enhanced).
    `static int` | `AUDIO_REVERB_FX_PHONOGRAPH` The reverberation style typical of the vintage phonograph.
    `static int` | `AUDIO_REVERB_FX_POPULAR` The reverberation style typical of popular music (enhanced).
    `static int` | `AUDIO_REVERB_FX_RNB` The reverberation style typical of RNB music (enhanced).
    `static int` | `AUDIO_REVERB_FX_SISTER` The reverberation style typical of a little sister's voice.
    `static int` | `AUDIO_REVERB_FX_STUDIO` The reverberation style typical of a recording studio (enhanced).
    `static int` | `AUDIO_REVERB_FX_UNCLE` The reverberation style typical of an uncle's voice.
    `static int` | `AUDIO_REVERB_FX_VOCAL_CONCERT` The reverberation style typical of a concert hall (enhanced).
    `static int` | `AUDIO_REVERB_OFF` Turn off local voice reverberation, that is, to use the original voice.
    `static int` | `AUDIO_ROUTE_DEFAULT` -1: The default audio route.
    `static int` | `AUDIO_ROUTE_EARPIECE` 1: Earpiece.
    `static int` | `AUDIO_ROUTE_HEADSET` 0: Headset.
    `static int` | `AUDIO_ROUTE_HEADSETBLUETOOTH` 5: Bluetooth headset.
    `static int` | `AUDIO_ROUTE_HEADSETNOMIC` 2: Headset with no microphone.
    `static int` | `AUDIO_ROUTE_LOUDSPEAKER` 4: Loudspeaker
    `static int` | `AUDIO_ROUTE_SPEAKERPHONE` 3: Speakerphone.
    `static int` | `AUDIO_SCENARIO_CHATROOM` 5: The chatroom scenario, which needs to keep recording when setClientRole to audience.
    `static int` | `AUDIO_SCENARIO_CHORUS` 7: The chorus scenario.
    `static int` | `AUDIO_SCENARIO_DEFAULT` 0: (Recommended) The default audio scenario.
    `static int` | `AUDIO_SCENARIO_GAME_STREAMING` 3: (Recommended) The live gaming scenario, which needs to enable the gaming audio effects in the speaker mode in a live broadcast scenario.
    `static int` | `AUDIO_SCENARIO_HIGH_DEFINITION` 6: (Recommended) The scenario requiring high-quality audio.
    `static int` | `CHANNEL_PROFILE_CLOUD_GAMING` Deprecated.
    `static int` | `CHANNEL_PROFILE_COMMUNICATION` 0: Communication.
    `static int` | `CHANNEL_PROFILE_COMMUNICATION_1v1` Deprecated.
    `static int` | `CHANNEL_PROFILE_GAME` Deprecated.
    `static int` | `CHANNEL_PROFILE_LIVE_BROADCASTING` 1: (Default) Live Broadcast.
    `static int` | `CHANNEL_PROFILE_LIVE_BROADCASTING_2` 5: Live Broadcast 2.
    `static int` | `CHAT_BEAUTIFIER_FRESH` A fresher voice.
    `static int` | `CHAT_BEAUTIFIER_MAGNETIC` A more magnetic voice.
    `static int` | `CHAT_BEAUTIFIER_VITALITY` A more vital voice.
    `static int` | `CLIENT_ROLE_AUDIENCE` The audience.
    `static int` | `CLIENT_ROLE_BROADCASTER` The broadcaster.
    `static int` | `CONNECTION_STATE_CONNECTED` 3: The SDK is connected to Agora edge server and has joined a channel.
    `static int` | `CONNECTION_STATE_CONNECTING` 2: The SDK is connecting to Agora edge server.
    `static int` | `CONNECTION_STATE_DISCONNECTED` 1: The SDK is disconnected from Agora edge server.
    `static int` | `CONNECTION_STATE_FAILED` 5: The SDK fails to connect to Agora edge server or join the channel.
    `static int` | `CONNECTION_STATE_RECONNECTING` 4: The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.
    `static int` | `DEFAULT_CONNECTION_ID` The default connection ID.
    `static int` | `EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS` 2: Add an audio filter to the in-ear monitor.
    `static int` | `EAR_MONITORING_FILTER_NOISE_SUPPRESSION` 4: Enable noise suppression to the in-ear monitor.
    `static int` | `EAR_MONITORING_FILTER_NONE` 1: Do not add an audio filter to the in-ear monitor.
    `static int` | `ENCRYPTION_MODE_AES_128_ECB` 2: 128-bit AES encryption, ECB mode.
    `static int` | `ENCRYPTION_MODE_AES_128_GCM` 5: 128-bit AES encryption, GCM mode.
    `static int` | `ENCRYPTION_MODE_AES_128_GCM2` 7: (Default) 128-bit AES encryption, GCM mode, with KDF salt.
    `static int` | `ENCRYPTION_MODE_AES_128_XTS`
    `static int` | `ENCRYPTION_MODE_AES_256_GCM` 6: 256-bit AES encryption, GCM mode.
    `static int` | `ENCRYPTION_MODE_AES_256_GCM2` 8: 256-bit AES encryption, GCM mode, with KDF salt.
    `static int` | `ENCRYPTION_MODE_AES_256_XTS` 3: 256-bit AES encryption, XTS mode.
    `static int` | `ENCRYPTION_MODE_SM4_128_ECB` 4: 128-bit SM4 encryption, ECB mode.
    `static int` | `EXTERNAL_VIDEO_FRAME_BUFFER_TYPE_RAW_DATA`
    `static int` | `EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_BGRA`
    `static int` | `EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_I420`
    `static int` | `EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_I422`
    `static int` | `EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_NV12`
    `static int` | `EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_NV21`
    `static int` | `EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_RGBA`
    `static int` | `GENERAL_BEAUTY_VOICE_FEMALE_FRESH` (For female only) A fresher voice.
    `static int` | `GENERAL_BEAUTY_VOICE_FEMALE_VITALITY` (For female only) A more vital voice.
    `static int` | `GENERAL_BEAUTY_VOICE_MALE_MAGNETIC` (For male only) A more magnetic voice.
    `static int` | `HARDWARE_ENCODER` Hardware encoder.
    `static int` | `INJECT_STREAM_STATUS_BROKEN` The external video stream is broken.
    `static int` | `INJECT_STREAM_STATUS_START_ALREADY_EXISTS` The external video stream already exists.
    `static int` | `INJECT_STREAM_STATUS_START_FAILED` The external video stream failed to import.
    `static int` | `INJECT_STREAM_STATUS_START_SUCCESS` The external video stream imported successfully.
    `static int` | `INJECT_STREAM_STATUS_START_TIMEDOUT` Import external video stream timeout.
    `static int` | `INJECT_STREAM_STATUS_START_UNAUTHORIZED` The external video stream import is unauthorized
    `static int` | `INJECT_STREAM_STATUS_STOP_FAILED` Importing the external video stream failed.
    `static int` | `INJECT_STREAM_STATUS_STOP_NOT_FOUND` No external video stream is found.
    `static int` | `INJECT_STREAM_STATUS_STOP_SUCCESS` The xternal video stream imports successfully.
    `static int` | `INJECT_STREAM_STATUS_STOP_TIMEDOUT` Importing the external video stream timeout.
    `static int` | `INJECT_STREAM_STATUS_STOP_UNAUTHORIZED` The external video stream is stopped from being unauthorized.
    `static int` | `LASTMILE_PROBE_RESULT_COMPLETE` 1: The last-mile probe result is complete.
    `static int` | `LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE` 2: The last-mile network probe test is incomplete and the bandwidth estimation is not available, probably due to limited test resources.
    `static int` | `LASTMILE_PROBE_RESULT_UNAVAILABLE` 3: The last-mile network probe test is not carried out, probably due to poor network conditions.
    `static int` | `LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE` 4: The local video capture fails.
    `static int` | `LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY` 3: The local video capturer is in use.
    `static int` | `LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION` 2: No permission to use the local video device.
    `static int` | `LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE` 5: The local video encoding fails.
    `static int` | `LOCAL_VIDEO_STREAM_ERROR_FAILURE` 1: No specified reason for the local video failure.
    `static int` | `LOCAL_VIDEO_STREAM_ERROR_OK` 0: The local video is normal.
    `static int` | `LOCAL_VIDEO_STREAM_STATE_CAPTURING` The capturer starts successfully.
    `static int` | `LOCAL_VIDEO_STREAM_STATE_ENCODING` The first video frame is successfully encoded.
    `static int` | `LOCAL_VIDEO_STREAM_STATE_FAILED` The local video fails to start.
    `static int` | `LOCAL_VIDEO_STREAM_STATE_STOPPED` Initial state
    `static int` | `LOG_FILTER_CRITICAL` Output logs of the CRITICAL level.
    `static int` | `LOG_FILTER_DEBUG` Output all the API logs.
    `static int` | `LOG_FILTER_ERROR` Output logs of the CRITICAL and ERROR level.
    `static int` | `LOG_FILTER_INFO` Output logs of the CRITICAL, ERROR, WARNING, and INFO level.
    `static int` | `LOG_FILTER_OFF` Do not output any log.
    `static int` | `LOG_FILTER_WARNING` Output logs of the CRITICAL, ERROR, and WARNING level.
    `static int` | `MAX_CROSS_DEST_CHANNEL_SIZE` media relay max dest channel size
    `static int` | `MEDIA_ENGINE_AUDIO_FILE_MIX_FINISH`
    `static int` | `MEDIA_ENGINE_PLAYOUT_ERROR`
    `static int` | `MEDIA_ENGINE_PLAYOUT_WARNING`
    `static int` | `MEDIA_ENGINE_RECORDING_ERROR`
    `static int` | `MEDIA_ENGINE_RECORDING_WARNING`
    `static int` | `MEDIA_ENGINE_ROLE_AUDIENCE`
    `static int` | `MEDIA_ENGINE_ROLE_BROADCASTER_INTERACTIVE`
    `static int` | `MEDIA_ENGINE_ROLE_BROADCASTER_SOLO`
    `static int` | `MEDIA_ENGINE_ROLE_COMM_PEER`
    `static int` | `MEDIA_TYPE_AUDIO_AND_VIDEO` Audio and video
    `static int` | `MEDIA_TYPE_AUDIO_ONLY` Audio only
    `static int` | `MEDIA_TYPE_NONE` None
    `static int` | `MEDIA_TYPE_VIDEO_ONLY` Video only
    `static int` | `PACKETIZE_MODE_H264_NON_INTERLEAVED` Packetize Mode H264PacketizeMode
    `static int` | `PACKETIZE_MODE_H264_SINGLE_NAL_UNIT`
    `static int` | `PITCH_CORRECTION` A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale.
    `static int` | `PUB_STATE_IDLE` 0: The initial publishing state after joining the channel.
    `static int` | `PUB_STATE_NO_PUBLISHED` 1: Fails to publish the local stream.
    `static int` | `PUB_STATE_PUBLISHED` 3: Publishes successfully.
    `static int` | `PUB_STATE_PUBLISHING` 2: Publishing.
    `static int` | `QUALITY_REPORT_FORMAT_HTML` The quality report in HTML format.
    `static int` | `QUALITY_REPORT_FORMAT_JSON` The quality report in JSON format.
    `static int` | `RAW_AUDIO_FRAME_OP_MODE_READ_ONLY` Read-only mode, users only read the AudioFrame data without modifying anything.
    `static int` | `RAW_AUDIO_FRAME_OP_MODE_READ_WRITE` Read and write mode, users read the data from AudioFrame, modify it and then play it.
    `static int` | `RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY` Write-only mode, users replace the AudioFrame data with their own data and pass it to the SDK for encoding.
    `static int` | `RELAY_ERROR_DEST_TOKEN_EXPIRED` 11: The token of the destination channel has expired.
    `static int` | `RELAY_ERROR_FAILED_JOIN_DEST` 5: Fails to accept the relay request.
    `static int` | `RELAY_ERROR_FAILED_JOIN_SRC` 4: Fails to send the relay request.
    `static int` | `RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC` 6: The server fails to receive the media stream.
    `static int` | `RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST` 7: The server fails to send the media stream.
    `static int` | `RELAY_ERROR_INTERNAL_ERROR` 9: An internal error occurs in the server.
    `static int` | `RELAY_ERROR_NO_RESOURCE_AVAILABLE` 3: The SDK fails to access the service, probably due to limited resources of the server.
    `static int` | `RELAY_ERROR_SERVER_CONNECTION_LOST` 8: The SDK disconnects from the server due to poor network connections.
    `static int` | `RELAY_ERROR_SERVER_ERROR_RESPONSE` 1: An error occurs in the server response.
    `static int` | `RELAY_ERROR_SERVER_NO_RESPONSE` 2: No server response.
    `static int` | `RELAY_ERROR_SRC_TOKEN_EXPIRED` 10: The token of the source channel has expired.
    `static int` | `RELAY_EVENT_NETWORK_CONNECTED` 1: The network reconnects.
    `static int` | `RELAY_EVENT_NETWORK_DISCONNECTED` 0: The user disconnects from the server due to poor network connections.
    `static int` | `RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL` 3: The user joins the destination channel.
    `static int` | `RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL` 2: The user joins the source channel.
    `static int` | `RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC` 6: The server receives the audio stream from the source channel.
    `static int` | `RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC` 5: The server receives the video stream from the source channel.
    `static int` | `RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL` 4: The SDK starts relaying the media stream to the destination channel.
    `static int` | `RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL` 7: The destination channel is updated.
    `static int` | `RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL` 10: The destination channel name is NULL.
    `static int` | `RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE` 9: The destination channel does not change, which means that the destination channel fails to be updated.
    `static int` | `RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED` 8: The destination channel update fails due to internal reasons.
    `static int` | `RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED` 13: pause send packet to dest channel failed.
    `static int` | `RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS` 12: pause send packet to dest channel success.
    `static int` | `RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED` 15: pause send packet to dest channel failed.
    `static int` | `RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS` 14: resume send packet to dest channel success.
    `static int` | `RELAY_EVENT_VIDEO_PROFILE_UPDATE` 11: The video profile is sent to the server.
    `static int` | `RELAY_OK` 0: The state is normal.
    `static int` | `RELAY_STATE_CONNECTING` 1: The SDK tries to relay the media stream to the destination channel.
    `static int` | `RELAY_STATE_FAILURE` 3: A failure occurs.
    `static int` | `RELAY_STATE_IDLE` 0: The SDK is initializing.
    `static int` | `RELAY_STATE_RUNNING` 2: The SDK successfully relays the media stream to the destination channel.
    `static int` | `REMOTE_VIDEO_STATE_FAILED` 4: Failed.
    `static int` | `REMOTE_VIDEO_STATE_FROZEN` 3: Remote video is frozen, probably due to network issue.
    `static int` | `REMOTE_VIDEO_STATE_PLAYING` 2: Remote video is playing.
    `static int` | `REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK` 8: The remote media stream falls back to the audio-only stream due to poor network conditions.
    `static int` | `REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY` 9: The remote media stream switches back to the video stream after the network conditions improve.
    `static int` | `REMOTE_VIDEO_STATE_REASON_INTERNAL` 0: Internal reasons.
    `static int` | `REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED` 3: The local user stops receiving the remote video stream or disables the video module.
    `static int` | `REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED` 4: The local user resumes receiving the remote video stream or enables the video module.
    `static int` | `REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION` 1: Network congestion.
    `static int` | `REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY` 2: Network recovery.
    `static int` | `REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED` 5: The remote user stops sending the video stream or disables the video module.
    `static int` | `REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE` 7: The remote user leaves the channel.
    `static int` | `REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED` 6: The remote user resumes sending the video stream or enables the video module.
    `static int` | `REMOTE_VIDEO_STATE_STARTING` 1: video packet has been received, but not decoded yet.
    `static int` | `REMOTE_VIDEO_STATE_STOPPED` Default state
    `static int` | `RENDER_MODE_ADAPTIVE` Deprecated.
    `static int` | `RENDER_MODE_FIT` 2: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit).
    `static int` | `RENDER_MODE_HIDDEN` 1: Uniformly scale the video until it fills the visible boundaries (cropped).
    `static int` | `ROOM_ACOUSTICS_3D_VOICE` A 3D voice effect that makes the voice appear to be moving around the user.
    `static int` | `ROOM_ACOUSTICS_ETHEREAL` A more ethereal audio effect.
    `static int` | `ROOM_ACOUSTICS_KTV` An audio effect typical of a KTV venue.
    `static int` | `ROOM_ACOUSTICS_PHONOGRAPH` An audio effect typical of a vintage phonograph.
    `static int` | `ROOM_ACOUSTICS_SPACIAL` A more spatial audio effect.
    `static int` | `ROOM_ACOUSTICS_STUDIO` An audio effect typical of a recording studio.
    `static int` | `ROOM_ACOUSTICS_VIRTUAL_STEREO` A virtual stereo effect that renders monophonic audio as stereo audio.
    `static int` | `ROOM_ACOUSTICS_VOCAL_CONCERT` An audio effect typical of a concert hall.
    `static int` | `SINGING_BEAUTIFIER` Singing beautifier effect.
    `static int` | `SOFTWARE_ENCODER` Software encoder.
    `static int` | `STREAM_FALLBACK_OPTION_AUDIO_ONLY`
    `static int` | `STREAM_FALLBACK_OPTION_DISABLED`
    `static int` | `STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW`
    `static int` | `STREAM_LIFE_CYCLE_BIND2CHANNEL` Bound to the channel lifecycle.
    `static int` | `STREAM_LIFE_CYCLE_BIND2OWNER` Bound to the owner of the RTMP stream.
    `static int` | `STYLE_TRANSFORMATION_POPULAR` An audio effect typical of popular music.
    `static int` | `STYLE_TRANSFORMATION_RNB` An audio effect typical of RNB music.
    `static int` | `TCC_DISABLED`
    `static int` | `TCC_ENABLED` Transport CC enabled
    `static int` | `TIMBRE_TRANSFORMATION_CLEAR` A clearer voice.
    `static int` | `TIMBRE_TRANSFORMATION_DEEP` A deeper voice.
    `static int` | `TIMBRE_TRANSFORMATION_FALSETTO` A falsetto voice.
    `static int` | `TIMBRE_TRANSFORMATION_FULL` A fuller voice.
    `static int` | `TIMBRE_TRANSFORMATION_MELLOW` A mellower voice.
    `static int` | `TIMBRE_TRANSFORMATION_RESOUNDING` A more resounding voice.
    `static int` | `TIMBRE_TRANSFORMATION_RINGING` A more ringing voice.
    `static int` | `TIMBRE_TRANSFORMATION_VIGOROUS` A more vigorous voice.
    `static int` | `ULTRA_HIGH_QUALITY_VOICE` A ultra high quality voice.
    `static int` | `USER_PRIORITY_HIGH` 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.
    `static int` | `USER_PRIORITY_NORANL` Default priority.
    `static int` | `VIDEO_CODEC_GENERIC`
    `static int` | `VIDEO_CODEC_GENERIC_H264`
    `static int` | `VIDEO_CODEC_GENERIC_JPEG`
    `static int` | `VIDEO_CODEC_H264`
    `static int` | `VIDEO_CODEC_H265`
    `static int` | `VIDEO_CODEC_VP8` Video codec types VIDEO_CODEC_TYPE
    `static int` | `VIDEO_CODEC_VP9`
    `static int` | `VIDEO_FRAME_TYPE_B_FRAME`
    `static int` | `VIDEO_FRAME_TYPE_BLANK_FRAME` Video Frame Type.
    `static int` | `VIDEO_FRAME_TYPE_DELTA_FRAME`
    `static int` | `VIDEO_FRAME_TYPE_KEY_FRAME`
    `static int` | `VIDEO_FRAME_TYPE_UNKNOWN`
    `static int` | `VIDEO_MIRROR_MODE_AUTO` The default mirror mode, that is, the mode set by the SDK.
    `static int` | `VIDEO_MIRROR_MODE_DISABLED` Disable the mirror mode
    `static int` | `VIDEO_MIRROR_MODE_ENABLED` Enable the mirror mode.
    `static int` | `VIDEO_ORIENTATION_0` 0: No rotation.
    `static int` | `VIDEO_ORIENTATION_180` 180: 180 degrees.
    `static int` | `VIDEO_ORIENTATION_270` 270: 270 degrees.
    `static int` | `VIDEO_ORIENTATION_90` 90: 90 degrees.
    `static int` | `VIDEO_PROFILE_1080P` Deprecated.
    `static int` | `VIDEO_PROFILE_1080P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_1080P_5` Deprecated.
    `static int` | `VIDEO_PROFILE_120P` Deprecated.
    `static int` | `VIDEO_PROFILE_120P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_1440P` Deprecated.
    `static int` | `VIDEO_PROFILE_1440P_2` Deprecated.
    `static int` | `VIDEO_PROFILE_180P` Deprecated.
    `static int` | `VIDEO_PROFILE_180P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_180P_4` Deprecated.
    `static int` | `VIDEO_PROFILE_240P` Deprecated.
    `static int` | `VIDEO_PROFILE_240P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_240P_4` Deprecated.
    `static int` | `VIDEO_PROFILE_360P` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_10` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_11` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_4` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_6` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_7` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_8` Deprecated.
    `static int` | `VIDEO_PROFILE_360P_9` Deprecated.
    `static int` | `VIDEO_PROFILE_480P` Deprecated.
    `static int` | `VIDEO_PROFILE_480P_10` Deprecated.
    `static int` | `VIDEO_PROFILE_480P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_480P_4` Deprecated.
    `static int` | `VIDEO_PROFILE_480P_6` Deprecated.
    `static int` | `VIDEO_PROFILE_480P_8` Deprecated.
    `static int` | `VIDEO_PROFILE_480P_9` Deprecated.
    `static int` | `VIDEO_PROFILE_4K` Deprecated.
    `static int` | `VIDEO_PROFILE_4K_3` Deprecated.
    `static int` | `VIDEO_PROFILE_720P` Deprecated.
    `static int` | `VIDEO_PROFILE_720P_3` Deprecated.
    `static int` | `VIDEO_PROFILE_720P_5` Deprecated.
    `static int` | `VIDEO_PROFILE_720P_6` Deprecated.
    `static int` | `VIDEO_PROFILE_DEFAULT` Deprecated.
    `static int` | `VIDEO_SOURCE_CAMERA_PRIMARY` Video captured by the camera.
    `static int` | `VIDEO_SOURCE_CAMERA_SECONDARY` Video captured by the secondary camera.
    `static int` | `VIDEO_SOURCE_CUSTOM` Not define.
    `static int` | `VIDEO_SOURCE_MEDIA_PLAYER` Video for media player sharing.
    `static int` | `VIDEO_SOURCE_REMOTE` Remote video received from network.
    `static int` | `VIDEO_SOURCE_RTC_IMAGE_GIF` Video for png image.
    `static int` | `VIDEO_SOURCE_RTC_IMAGE_JPEG` Video for png image.
    `static int` | `VIDEO_SOURCE_RTC_IMAGE_PNG` Video for png image.
    `static int` | `VIDEO_SOURCE_SCREEN_PRIMARY` Video for screen sharing.
    `static int` | `VIDEO_SOURCE_SCREEN_SECONDARY` Video for secondary screen sharing.
    `static int` | `VIDEO_SOURCE_TRANSCODED` Video for transcoded.
    `static int` | `VIDEO_SOURCE_UNKNOWN`
    `static int` | `VIDEO_STREAM_HIGH` 0: The high-stream video, that is, the video stream featuring in high resolution and high bitrate.
    `static int` | `VIDEO_STREAM_LOW` 1: The low-stream video, that is, the video stream featuring in low resolution and low bitrate.
    `static int` | `VOICE_BEAUTIFIER_OFF` Turn off voice beautifier effects and use the original voice.
    `static int` | `VOICE_BEAUTY_CLEAR` A clearer voice.
    `static int` | `VOICE_BEAUTY_DEEP` A deeper voice.
    `static int` | `VOICE_BEAUTY_FALSETTO` Falsetto.
    `static int` | `VOICE_BEAUTY_FULL` A fuller voice.
    `static int` | `VOICE_BEAUTY_MELLOW` A mellower voice.
    `static int` | `VOICE_BEAUTY_RESOUNDING` A more resounding voice.
    `static int` | `VOICE_BEAUTY_RINGING` A more ringing voice.
    `static int` | `VOICE_BEAUTY_SPACIAL` A more spatially resonant voice.
    `static int` | `VOICE_BEAUTY_VIGOROUS` A more vigorous voice.
    `static int` | `VOICE_CHANGER_BABYBOY` The voice of a little boy.
    `static int` | `VOICE_CHANGER_BABYGIRL` The voice of a little girl.
    `static int` | `VOICE_CHANGER_BASS` A deep voice.
    `static int` | `VOICE_CHANGER_EFFECT_BOY` The voice of a boy.
    `static int` | `VOICE_CHANGER_EFFECT_GIRL` The voice of a girl.
    `static int` | `VOICE_CHANGER_EFFECT_HULK` The voice of Hulk.
    `static int` | `VOICE_CHANGER_EFFECT_OLDMAN` The voice of an old man.
    `static int` | `VOICE_CHANGER_EFFECT_PIGKING` The voice of Pig King, a character in Journey to the West who has a voice like a growling bear.
    `static int` | `VOICE_CHANGER_EFFECT_SISTER` The voice of a young woman.
    `static int` | `VOICE_CHANGER_EFFECT_UNCLE` The voice of a middle-aged man.
    `static int` | `VOICE_CHANGER_ETHEREAL` The ethereal voice.
    `static int` | `VOICE_CHANGER_HULK` The voice of Hulk.
    `static int` | `VOICE_CHANGER_NEUTRAL` A gender-neutral voice.
    `static int` | `VOICE_CHANGER_OFF` Turn off the local voice changer, that is, to use the original voice.
    `static int` | `VOICE_CHANGER_OLDMAN` The voice of an old man.
    `static int` | `VOICE_CHANGER_SOLID` A steady voice.
    `static int` | `VOICE_CHANGER_SWEET` A sweet voice.
    `static int` | `VOICE_CHANGER_ZHUBAJIE` The voice of Zhu Bajie, a character in Journey to the West who has a voice like that of a growling bear.
    `static int` | `VOICE_CONVERSION_OFF` Turn off voice conversion effects and use the original voice.
    `static int` | `WARN_ADM_GLITCH_STATE` Audio Device Module: The device is in the glitch state.
    `static int` | `WARN_ADM_IMPROPER_SETTINGS` Audio Device Module: The settings are improper.
    `static int` | `WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL` Audio Device Module: The playback audio volume is too low.
    `static int` | `WARN_ADM_RECORD_AUDIO_LOWLEVEL` Audio Device Module: The recorded audio volume is too low.
    `static int` | `WARN_ADM_RECORD_AUDIO_SILENCE` Audio Device Module: No valid audio data is collected.
    `static int` | `WARN_ADM_RECORD_IS_OCCUPIED` Audio Device Module: The recording device is occupied.
    `static int` | `WARN_ADM_RUNTIME_PLAYOUT_WARNING` Audio Device Module: A warning in the runtime playback device.
    `static int` | `WARN_ADM_RUNTIME_RECORDING_WARNING` Audio Device Module: A warning in the runtime recording device.
    `static int` | `WARN_APM_HOWLING` Audio Device Module: Howling is detected.
    `static int` | `WARN_AUDIO_MIXING_OPEN_ERROR` Error in opening the audio mixing.
    `static int` | `WARN_INIT_VIDEO` Failed to initialize the video function.
    `static int` | `WARN_INVALID_VIEW` The specified view is invalid.
    `static int` | `WARN_LOOKUP_CHANNEL_REJECTED` The server rejected the request to look up the channel.
    `static int` | `WARN_LOOKUP_CHANNEL_TIMEOUT` A timeout when looking up the channel.
    `static int` | `WARN_NO_AVAILABLE_CHANNEL` No channel resources are available.
    `static int` | `WARN_OPEN_CHANNEL_INVALID_TICKET` The ticket to open the channel is invalid.
    `static int` | `WARN_OPEN_CHANNEL_REJECTED` The server rejected the request to open the channel.
    `static int` | `WARN_OPEN_CHANNEL_TIMEOUT` A timeout when opening the channel.
    `static int` | `WARN_OPEN_CHANNEL_TRY_NEXT_VOS` Try connecting to another server.
    `static int` | `WARN_PENDING` The request is pending, usually due to some module not being ready, and the SDK postponed processing the request.
    `static int` | `WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED` The client role is not authorized.
    `static int` | `WARN_SET_CLIENT_ROLE_TIMEOUT` A timeout when setting the client role in the broadcast mode.
    `static int` | `WARN_SWITCH_LIVE_VIDEO_TIMEOUT` A timeout when switching the live video.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Constants()`

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### LASTMILE_PROBE_RESULT_COMPLETE

          public static final int LASTMILE_PROBE_RESULT_COMPLETE

      1: The last-mile probe result is complete.
      See Also:
        Constant Field Values

    - #### LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE

          public static final int LASTMILE_PROBE_RESULT_INCOMPLETE_NO_BWE

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

    - #### LASTMILE_PROBE_RESULT_UNAVAILABLE

          public static final int LASTMILE_PROBE_RESULT_UNAVAILABLE

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

    - #### WARN_INVALID_VIEW

          public static final int WARN_INVALID_VIEW

      The specified view is invalid. It is required to specify a view when using the video call function.
      See Also:
        Constant Field Values

    - #### WARN_INIT_VIDEO

          public static final int WARN_INIT_VIDEO

      Failed to initialize the video function.
      See Also:
        Constant Field Values

    - #### WARN_PENDING

          public static final int WARN_PENDING

      The request is pending, usually due to some module not being ready, and the SDK postponed processing the request.
      See Also:
        Constant Field Values

    - #### WARN_NO_AVAILABLE_CHANNEL

          public static final int WARN_NO_AVAILABLE_CHANNEL

      No channel resources are available. Maybe because the server cannot allocate any channel resource.
      See Also:
        Constant Field Values

    - #### WARN_LOOKUP_CHANNEL_TIMEOUT

          public static final int WARN_LOOKUP_CHANNEL_TIMEOUT

      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.
      See Also:
        Constant Field Values

    - #### WARN_LOOKUP_CHANNEL_REJECTED

          public static final int WARN_LOOKUP_CHANNEL_REJECTED

      The server rejected the request to look up the channel. The server cannot process this request or the request is illegal.
      See Also:
        Constant Field Values

    - #### WARN_OPEN_CHANNEL_TIMEOUT

          public static final int WARN_OPEN_CHANNEL_TIMEOUT

      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.
      See Also:
        Constant Field Values

    - #### WARN_OPEN_CHANNEL_REJECTED

          public static final int WARN_OPEN_CHANNEL_REJECTED

      The server rejected the request to open the channel. The server cannot process this request or the request is illegal.
      See Also:
        Constant Field Values

    - #### WARN_SWITCH_LIVE_VIDEO_TIMEOUT

          public static final int WARN_SWITCH_LIVE_VIDEO_TIMEOUT

      A timeout when switching the live video.
      See Also:
        Constant Field Values

    - #### WARN_SET_CLIENT_ROLE_TIMEOUT

          public static final int WARN_SET_CLIENT_ROLE_TIMEOUT

      A timeout when setting the client role in the broadcast mode.
      See Also:
        Constant Field Values

    - #### WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED

          public static final int WARN_SET_CLIENT_ROLE_NOT_AUTHORIZED

      The client role is not authorized.
      See Also:
        Constant Field Values

    - #### WARN_OPEN_CHANNEL_INVALID_TICKET

          public static final int WARN_OPEN_CHANNEL_INVALID_TICKET

      The ticket to open the channel is invalid.
      See Also:
        Constant Field Values

    - #### WARN_OPEN_CHANNEL_TRY_NEXT_VOS

          public static final int WARN_OPEN_CHANNEL_TRY_NEXT_VOS

      Try connecting to another server.
      See Also:
        Constant Field Values

    - #### WARN_AUDIO_MIXING_OPEN_ERROR

          public static final int WARN_AUDIO_MIXING_OPEN_ERROR

      Error in opening the audio mixing.
      See Also:
        Constant Field Values

    - #### WARN_ADM_RUNTIME_PLAYOUT_WARNING

          public static final int WARN_ADM_RUNTIME_PLAYOUT_WARNING

      Audio Device Module: A warning in the runtime playback device.
      See Also:
        Constant Field Values

    - #### WARN_ADM_RUNTIME_RECORDING_WARNING

          public static final int WARN_ADM_RUNTIME_RECORDING_WARNING

      Audio Device Module: A warning in the runtime recording device.
      See Also:
        Constant Field Values

    - #### WARN_ADM_RECORD_AUDIO_SILENCE

          public static final int WARN_ADM_RECORD_AUDIO_SILENCE

      Audio Device Module: No valid audio data is collected.
      See Also:
        Constant Field Values

    - #### WARN_ADM_RECORD_AUDIO_LOWLEVEL

          public static final int WARN_ADM_RECORD_AUDIO_LOWLEVEL

      Audio Device Module: The recorded audio volume is too low.
      See Also:
        Constant Field Values

    - #### WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL

          public static final int WARN_ADM_PLAYOUT_AUDIO_LOWLEVEL

      Audio Device Module: The playback audio volume is too low.
      See Also:
        Constant Field Values

    - #### WARN_ADM_RECORD_IS_OCCUPIED

          public static final int WARN_ADM_RECORD_IS_OCCUPIED

      Audio Device Module: The recording device is occupied.
      See Also:
        Constant Field Values

    - #### WARN_APM_HOWLING

          public static final int WARN_APM_HOWLING

      Audio Device Module: Howling is detected.
      See Also:
        Constant Field Values

    - #### WARN_ADM_GLITCH_STATE

          public static final int WARN_ADM_GLITCH_STATE

      Audio Device Module: The device is in the glitch state.
      See Also:
        Constant Field Values

    - #### WARN_ADM_IMPROPER_SETTINGS

          public static final int WARN_ADM_IMPROPER_SETTINGS

      Audio Device Module: The settings are improper.
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_120P

          @Deprecated
          public static final int VIDEO_PROFILE_120P

      Deprecated.
      0, 160 x 120 @ 15 fps, 65 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_120P_3

          @Deprecated
          public static final int VIDEO_PROFILE_120P_3

      Deprecated.
      120 x 120 @ 15 fps, 50 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_180P

          @Deprecated
          public static final int VIDEO_PROFILE_180P

      Deprecated.
      320 x 180 @ 15 fps, 140 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_180P_3

          @Deprecated
          public static final int VIDEO_PROFILE_180P_3

      Deprecated.
      180 x 180 @ 15 fps, 100 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_180P_4

          @Deprecated
          public static final int VIDEO_PROFILE_180P_4

      Deprecated.
      240 x 180 @ 15 fps, 120 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_240P

          @Deprecated
          public static final int VIDEO_PROFILE_240P

      Deprecated.
      320 x 240 @ 15 fps, 200 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_240P_3

          @Deprecated
          public static final int VIDEO_PROFILE_240P_3

      Deprecated.
      240 x 240 @ 15 fps, 140 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_240P_4

          @Deprecated
          public static final int VIDEO_PROFILE_240P_4

      Deprecated.
      424 x 240 @ 15 fps, 220 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P

          @Deprecated
          public static final int VIDEO_PROFILE_360P

      Deprecated.
      640 x 360 @ 15 fps, 400 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_3

          @Deprecated
          public static final int VIDEO_PROFILE_360P_3

      Deprecated.
      360 x 360 @ 15 fps, 260 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_4

          @Deprecated
          public static final int VIDEO_PROFILE_360P_4

      Deprecated.
      640 x 360 @ 30 fps, 600 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_6

          @Deprecated
          public static final int VIDEO_PROFILE_360P_6

      Deprecated.
      360 x 360 @ 30 fps, 400 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_7

          @Deprecated
          public static final int VIDEO_PROFILE_360P_7

      Deprecated.
      480 x 360 @ 15 fps, 320 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_8

          @Deprecated
          public static final int VIDEO_PROFILE_360P_8

      Deprecated.
      480 x 360 @ 30 fps, 490 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_9

          @Deprecated
          public static final int VIDEO_PROFILE_360P_9

      Deprecated.
      640 x 360 @ 15 fps, 600 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_10

          @Deprecated
          public static final int VIDEO_PROFILE_360P_10

      Deprecated.
      640 x 360 @ 24 fps, 800 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_360P_11

          @Deprecated
          public static final int VIDEO_PROFILE_360P_11

      Deprecated.
      640 x 360 @ 24 fps, 1000 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P

          @Deprecated
          public static final int VIDEO_PROFILE_480P

      Deprecated.
      640 x 480 @ 15 fps, 500 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P_3

          @Deprecated
          public static final int VIDEO_PROFILE_480P_3

      Deprecated.
      480 x 480 @ 15 fps, 400 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P_4

          @Deprecated
          public static final int VIDEO_PROFILE_480P_4

      Deprecated.
      640 x 480 @ 30 fps, 750 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P_6

          @Deprecated
          public static final int VIDEO_PROFILE_480P_6

      Deprecated.
      480 x 480 @ 30 fps, 600 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P_8

          @Deprecated
          public static final int VIDEO_PROFILE_480P_8

      Deprecated.
      848 x 480 @ 15 fps, 610 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P_9

          @Deprecated
          public static final int VIDEO_PROFILE_480P_9

      Deprecated.
      848 x 480 @ 30 fps, 930 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_480P_10

          @Deprecated
          public static final int VIDEO_PROFILE_480P_10

      Deprecated.
      640 x 480 @ 10 fps, 400 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_720P

          @Deprecated
          public static final int VIDEO_PROFILE_720P

      Deprecated.
      1280 x 720 @ 15 fps, 1130 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_720P_3

          @Deprecated
          public static final int VIDEO_PROFILE_720P_3

      Deprecated.
      1280 x 720 @ 30 fps, 1710 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_720P_5

          @Deprecated
          public static final int VIDEO_PROFILE_720P_5

      Deprecated.
      960 x 720 @ 15 fps, 910 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_720P_6

          @Deprecated
          public static final int VIDEO_PROFILE_720P_6

      Deprecated.
      960 x 720 @ 30 fps, 1380 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_1080P

          @Deprecated
          public static final int VIDEO_PROFILE_1080P

      Deprecated.
      1920 x 1080 @ 15 fps, 2080 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_1080P_3

          @Deprecated
          public static final int VIDEO_PROFILE_1080P_3

      Deprecated.
      1920 x 1080 @ 30 fps, 3150 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_1080P_5

          @Deprecated
          public static final int VIDEO_PROFILE_1080P_5

      Deprecated.
      1920 x 1080 @ 60 fps, 4780 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_1440P

          @Deprecated
          public static final int VIDEO_PROFILE_1440P

      Deprecated.
      2560 x 1440 @ 30 fps, 4850 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_1440P_2

          @Deprecated
          public static final int VIDEO_PROFILE_1440P_2

      Deprecated.
      2560 x 1440 @ 60 fps, 7350 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_4K

          @Deprecated
          public static final int VIDEO_PROFILE_4K

      Deprecated.
      3840 x 2160 @ 30 fps, 8910 kbit/s
      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_4K_3

          @Deprecated
          public static final int VIDEO_PROFILE_4K_3

      Deprecated.

      3840 x 2160 @ 60 fps, 13500 kbit/s

      See Also:
        Constant Field Values

    - #### VIDEO_PROFILE_DEFAULT

          @Deprecated
          public static final int VIDEO_PROFILE_DEFAULT

      Deprecated.

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

      See Also:
        Constant Field Values

    - #### AUDIO_PROFILE_DEFAULT

          public static final int AUDIO_PROFILE_DEFAULT

      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.
      See Also:
        Constant Field Values

    - #### AUDIO_PROFILE_SPEECH_STANDARD

          public static final int AUDIO_PROFILE_SPEECH_STANDARD

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

    - #### AUDIO_PROFILE_MUSIC_STANDARD

          public static final int AUDIO_PROFILE_MUSIC_STANDARD

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

    - #### AUDIO_PROFILE_MUSIC_STANDARD_STEREO

          public static final int AUDIO_PROFILE_MUSIC_STANDARD_STEREO

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

    - #### AUDIO_PROFILE_MUSIC_HIGH_QUALITY

          public static final int AUDIO_PROFILE_MUSIC_HIGH_QUALITY

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

    - #### AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO

          public static final int AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO

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

    - #### AUDIO_SCENARIO_DEFAULT

          public static final int AUDIO_SCENARIO_DEFAULT

      0: (Recommended) The default audio scenario.
      See Also:
        Constant Field Values

    - #### AUDIO_SCENARIO_GAME_STREAMING

          public static final int AUDIO_SCENARIO_GAME_STREAMING

      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.
      See Also:
        Constant Field Values

    - #### AUDIO_SCENARIO_CHATROOM

          public static final int AUDIO_SCENARIO_CHATROOM

      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.
      See Also:
        Constant Field Values

    - #### AUDIO_SCENARIO_HIGH_DEFINITION

          public static final int AUDIO_SCENARIO_HIGH_DEFINITION

      6: (Recommended) The scenario requiring high-quality audio.
      See Also:
        Constant Field Values

    - #### AUDIO_SCENARIO_CHORUS

          public static final int AUDIO_SCENARIO_CHORUS

      7: The chorus scenario.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_OFF

          public static final int VOICE_CHANGER_OFF

      Turn off the local voice changer, that is, to use the original voice.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_OLDMAN

          public static final int VOICE_CHANGER_OLDMAN

      The voice of an old man.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_BABYBOY

          public static final int VOICE_CHANGER_BABYBOY

      The voice of a little boy.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_BABYGIRL

          public static final int VOICE_CHANGER_BABYGIRL

      The voice of a little girl.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_ZHUBAJIE

          public static final int VOICE_CHANGER_ZHUBAJIE

      The voice of Zhu Bajie, a character in Journey to the West who has a voice like that of a growling bear.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_ETHEREAL

          public static final int VOICE_CHANGER_ETHEREAL

      The ethereal voice.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_HULK

          public static final int VOICE_CHANGER_HULK

      The voice of Hulk.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_VIGOROUS

          public static final int VOICE_BEAUTY_VIGOROUS

      A more vigorous voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_DEEP

          public static final int VOICE_BEAUTY_DEEP

      A deeper voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_MELLOW

          public static final int VOICE_BEAUTY_MELLOW

      A mellower voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_FALSETTO

          public static final int VOICE_BEAUTY_FALSETTO

      Falsetto.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_FULL

          public static final int VOICE_BEAUTY_FULL

      A fuller voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_CLEAR

          public static final int VOICE_BEAUTY_CLEAR

      A clearer voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_RESOUNDING

          public static final int VOICE_BEAUTY_RESOUNDING

      A more resounding voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_RINGING

          public static final int VOICE_BEAUTY_RINGING

      A more ringing voice.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTY_SPACIAL

          public static final int VOICE_BEAUTY_SPACIAL

      A more spatially resonant voice.
      See Also:
        Constant Field Values

    - #### GENERAL_BEAUTY_VOICE_MALE_MAGNETIC

          public static final int GENERAL_BEAUTY_VOICE_MALE_MAGNETIC

      (For male only) A more magnetic voice. Do not use it when the speaker is a female; otherwise, voice distortion occurs.
      See Also:
        Constant Field Values

    - #### GENERAL_BEAUTY_VOICE_FEMALE_FRESH

          public static final int GENERAL_BEAUTY_VOICE_FEMALE_FRESH

      (For female only) A fresher voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs.
      See Also:
        Constant Field Values

    - #### GENERAL_BEAUTY_VOICE_FEMALE_VITALITY

          public static final int GENERAL_BEAUTY_VOICE_FEMALE_VITALITY

      (For female only) A more vital voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs.
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_OFF

          public static final int AUDIO_REVERB_OFF

      Turn off local voice reverberation, that is, to use the original voice.
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_KTV

          public static final int AUDIO_REVERB_FX_KTV

      The reverberation style typical of a KTV venue (enhanced).
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_VOCAL_CONCERT

          public static final int AUDIO_REVERB_FX_VOCAL_CONCERT

      The reverberation style typical of a concert hall (enhanced).
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_UNCLE

          public static final int AUDIO_REVERB_FX_UNCLE

      The reverberation style typical of an uncle's voice.
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_SISTER

          public static final int AUDIO_REVERB_FX_SISTER

      The reverberation style typical of a little sister's voice.
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_STUDIO

          public static final int AUDIO_REVERB_FX_STUDIO

      The reverberation style typical of a recording studio (enhanced).
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_POPULAR

          public static final int AUDIO_REVERB_FX_POPULAR

      The reverberation style typical of popular music (enhanced).
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_RNB

          public static final int AUDIO_REVERB_FX_RNB

      The reverberation style typical of RNB music (enhanced).
      See Also:
        Constant Field Values

    - #### AUDIO_REVERB_FX_PHONOGRAPH

          public static final int AUDIO_REVERB_FX_PHONOGRAPH

      The reverberation style typical of the vintage phonograph.
      See Also:
        Constant Field Values

    - #### VOICE_BEAUTIFIER_OFF

          public static final int VOICE_BEAUTIFIER_OFF

      Turn off voice beautifier effects and use the original voice.
      See Also:
        Constant Field Values

    - #### AUDIO_EFFECT_OFF

          public static final int AUDIO_EFFECT_OFF

      Turn off audio effects and use the original voice.
      See Also:
        Constant Field Values

    - #### CHAT_BEAUTIFIER_MAGNETIC

          public static final int CHAT_BEAUTIFIER_MAGNETIC

      A more magnetic voice. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
      See Also:
        Constant Field Values

    - #### CHAT_BEAUTIFIER_FRESH

          public static final int CHAT_BEAUTIFIER_FRESH

      A fresher voice. Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
      See Also:
        Constant Field Values

    - #### CHAT_BEAUTIFIER_VITALITY

          public static final int CHAT_BEAUTIFIER_VITALITY

      A more vital voice. Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
      See Also:
        Constant Field Values

    - #### SINGING_BEAUTIFIER

          public static final int SINGING_BEAUTIFIER

      Singing beautifier effect.
      Since:
        v3.3.0
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_VIGOROUS

          public static final int TIMBRE_TRANSFORMATION_VIGOROUS

      A more vigorous voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_DEEP

          public static final int TIMBRE_TRANSFORMATION_DEEP

      A deeper voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_MELLOW

          public static final int TIMBRE_TRANSFORMATION_MELLOW

      A mellower voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_FALSETTO

          public static final int TIMBRE_TRANSFORMATION_FALSETTO

      A falsetto voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_FULL

          public static final int TIMBRE_TRANSFORMATION_FULL

      A fuller voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_CLEAR

          public static final int TIMBRE_TRANSFORMATION_CLEAR

      A clearer voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_RESOUNDING

          public static final int TIMBRE_TRANSFORMATION_RESOUNDING

      A more resounding voice.
      See Also:
        Constant Field Values

    - #### TIMBRE_TRANSFORMATION_RINGING

          public static final int TIMBRE_TRANSFORMATION_RINGING

      A more ringing voice.
      See Also:
        Constant Field Values

    - #### ULTRA_HIGH_QUALITY_VOICE

          public static final int ULTRA_HIGH_QUALITY_VOICE

      A ultra high quality voice.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_KTV

          public static final int ROOM_ACOUSTICS_KTV

      An audio effect typical of a KTV venue.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_VOCAL_CONCERT

          public static final int ROOM_ACOUSTICS_VOCAL_CONCERT

      An audio effect typical of a concert hall.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_STUDIO

          public static final int ROOM_ACOUSTICS_STUDIO

      An audio effect typical of a recording studio.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_PHONOGRAPH

          public static final int ROOM_ACOUSTICS_PHONOGRAPH

      An audio effect typical of a vintage phonograph.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_VIRTUAL_STEREO

          public static final int ROOM_ACOUSTICS_VIRTUAL_STEREO

      A virtual stereo effect that renders monophonic audio as stereo audio.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_SPACIAL

          public static final int ROOM_ACOUSTICS_SPACIAL

      A more spatial audio effect.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_ETHEREAL

          public static final int ROOM_ACOUSTICS_ETHEREAL

      A more ethereal audio effect.
      See Also:
        Constant Field Values

    - #### ROOM_ACOUSTICS_3D_VOICE

          public static final int ROOM_ACOUSTICS_3D_VOICE

      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.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_UNCLE

          public static final int VOICE_CHANGER_EFFECT_UNCLE

      The voice of a middle-aged man.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_OLDMAN

          public static final int VOICE_CHANGER_EFFECT_OLDMAN

      The voice of an old man.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_BOY

          public static final int VOICE_CHANGER_EFFECT_BOY

      The voice of a boy.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_SISTER

          public static final int VOICE_CHANGER_EFFECT_SISTER

      The voice of a young woman.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_GIRL

          public static final int VOICE_CHANGER_EFFECT_GIRL

      The voice of a girl.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_PIGKING

          public static final int VOICE_CHANGER_EFFECT_PIGKING

      The voice of Pig King, a character in Journey to the West who has a voice like a growling bear.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_EFFECT_HULK

          public static final int VOICE_CHANGER_EFFECT_HULK

      The voice of Hulk.
      See Also:
        Constant Field Values

    - #### STYLE_TRANSFORMATION_RNB

          public static final int STYLE_TRANSFORMATION_RNB

      An audio effect typical of RNB music.
      See Also:
        Constant Field Values

    - #### STYLE_TRANSFORMATION_POPULAR

          public static final int STYLE_TRANSFORMATION_POPULAR

      An audio effect typical of popular music.
      See Also:
        Constant Field Values

    - #### PITCH_CORRECTION

          public static final int PITCH_CORRECTION

      A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale.
      See Also:
        Constant Field Values

    - #### VOICE_CONVERSION_OFF

          public static final int VOICE_CONVERSION_OFF

      Turn off voice conversion effects and use the original voice.
      Since:
        v3.3.1.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_NEUTRAL

          public static final int VOICE_CHANGER_NEUTRAL

      A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
      Since:
        v3.3.1.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_SWEET

          public static final int VOICE_CHANGER_SWEET

      A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
      Since:
        v3.3.1.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_SOLID

          public static final int VOICE_CHANGER_SOLID

      A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
      Since:
        v3.3.1.
      See Also:
        Constant Field Values

    - #### VOICE_CHANGER_BASS

          public static final int VOICE_CHANGER_BASS

      A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
      Since:
        v3.3.1.
      See Also:
        Constant Field Values

    - #### CHANNEL_PROFILE_COMMUNICATION

          public static final int CHANNEL_PROFILE_COMMUNICATION

      0: Communication. Use this profile when there are two users in the channel.
      See Also:
        Constant Field Values

    - #### CHANNEL_PROFILE_LIVE_BROADCASTING

          public static final int CHANNEL_PROFILE_LIVE_BROADCASTING

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

    - #### CHANNEL_PROFILE_GAME

          @Deprecated
          public static final int CHANNEL_PROFILE_GAME

      Deprecated.
      2: Gaming. This profile is deprecated.
      See Also:
        Constant Field Values

    - #### CHANNEL_PROFILE_CLOUD_GAMING

          @Deprecated
          public static final int CHANNEL_PROFILE_CLOUD_GAMING

      Deprecated.
      3: Cloud Gaming. This profile is for the interactive streaming scenario, which is highly sensitive to end-to-end latency, and any delay in render impacts the end-user experience. These use cases prioritize reducing delay over any smoothing done at the receiver. We recommend using this profile in scenarios there users need to interact with each other.
      See Also:
        Constant Field Values

    - #### CHANNEL_PROFILE_COMMUNICATION_1v1

          @Deprecated
          public static final int CHANNEL_PROFILE_COMMUNICATION_1v1

      Deprecated.
      4: Communication 1v1. This profile uses a special network transport strategy for communication 1v1
      See Also:
        Constant Field Values

    - #### CHANNEL_PROFILE_LIVE_BROADCASTING_2

          public static final int CHANNEL_PROFILE_LIVE_BROADCASTING_2

      5: Live Broadcast 2. This profile technical preview.
      See Also:
        Constant Field Values

    - #### CLIENT_ROLE_BROADCASTER

          public static final int CLIENT_ROLE_BROADCASTER

      The broadcaster.
      See Also:
        Constant Field Values

    - #### CLIENT_ROLE_AUDIENCE

          public static final int CLIENT_ROLE_AUDIENCE

      The audience.
      See Also:
        Constant Field Values

    - #### AUDIENCE_LATENCY_LEVEL_LOW_LATENCY

          public static final int AUDIENCE_LATENCY_LEVEL_LOW_LATENCY

      1: Low latency. A low latency audience's jitter buffer is 1.2 second.
      See Also:
        Constant Field Values

    - #### AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY

          public static final int AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY

      2: Ultra low latency. An ultra low latency audience's jitter buffer is 0.5 second.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_START_SUCCESS

          public static final int INJECT_STREAM_STATUS_START_SUCCESS

      The external video stream imported successfully.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_START_ALREADY_EXISTS

          public static final int INJECT_STREAM_STATUS_START_ALREADY_EXISTS

      The external video stream already exists.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_START_UNAUTHORIZED

          public static final int INJECT_STREAM_STATUS_START_UNAUTHORIZED

      The external video stream import is unauthorized
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_START_TIMEDOUT

          public static final int INJECT_STREAM_STATUS_START_TIMEDOUT

      Import external video stream timeout.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_START_FAILED

          public static final int INJECT_STREAM_STATUS_START_FAILED

      The external video stream failed to import.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_STOP_SUCCESS

          public static final int INJECT_STREAM_STATUS_STOP_SUCCESS

      The xternal video stream imports successfully.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_STOP_NOT_FOUND

          public static final int INJECT_STREAM_STATUS_STOP_NOT_FOUND

      No external video stream is found.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_STOP_UNAUTHORIZED

          public static final int INJECT_STREAM_STATUS_STOP_UNAUTHORIZED

      The external video stream is stopped from being unauthorized.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_STOP_TIMEDOUT

          public static final int INJECT_STREAM_STATUS_STOP_TIMEDOUT

      Importing the external video stream timeout.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_STOP_FAILED

          public static final int INJECT_STREAM_STATUS_STOP_FAILED

      Importing the external video stream failed.
      See Also:
        Constant Field Values

    - #### INJECT_STREAM_STATUS_BROKEN

          public static final int INJECT_STREAM_STATUS_BROKEN

      The external video stream is broken.
      See Also:
        Constant Field Values

    - #### QUALITY_REPORT_FORMAT_JSON

          public static final int QUALITY_REPORT_FORMAT_JSON

      The quality report in JSON format.
      See Also:
        Constant Field Values

    - #### QUALITY_REPORT_FORMAT_HTML

          public static final int QUALITY_REPORT_FORMAT_HTML

      The quality report in HTML format.
      See Also:
        Constant Field Values

    - #### RENDER_MODE_HIDDEN

          public static final int RENDER_MODE_HIDDEN

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

    - #### RENDER_MODE_FIT

          public static final int RENDER_MODE_FIT

      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.
      See Also:
        Constant Field Values

    - #### RENDER_MODE_ADAPTIVE

          @Deprecated
          public static final int RENDER_MODE_ADAPTIVE

      Deprecated.
      3: This mode is deprecated.
      See Also:
        Constant Field Values

    - #### VIDEO_MIRROR_MODE_AUTO

          public static final int VIDEO_MIRROR_MODE_AUTO

      The default mirror mode, that is, the mode set by the SDK.
      See Also:
        Constant Field Values

    - #### VIDEO_MIRROR_MODE_ENABLED

          public static final int VIDEO_MIRROR_MODE_ENABLED

      Enable the mirror mode.
      See Also:
        Constant Field Values

    - #### VIDEO_MIRROR_MODE_DISABLED

          public static final int VIDEO_MIRROR_MODE_DISABLED

      Disable the mirror mode
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_CAMERA_PRIMARY

          public static final int VIDEO_SOURCE_CAMERA_PRIMARY

      Video captured by the camera.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_CAMERA_SECONDARY

          public static final int VIDEO_SOURCE_CAMERA_SECONDARY

      Video captured by the secondary camera.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_SCREEN_PRIMARY

          public static final int VIDEO_SOURCE_SCREEN_PRIMARY

      Video for screen sharing.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_SCREEN_SECONDARY

          public static final int VIDEO_SOURCE_SCREEN_SECONDARY

      Video for secondary screen sharing.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_CUSTOM

          public static final int VIDEO_SOURCE_CUSTOM

      Not define.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_MEDIA_PLAYER

          public static final int VIDEO_SOURCE_MEDIA_PLAYER

      Video for media player sharing.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_RTC_IMAGE_PNG

          public static final int VIDEO_SOURCE_RTC_IMAGE_PNG

      Video for png image.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_RTC_IMAGE_JPEG

          public static final int VIDEO_SOURCE_RTC_IMAGE_JPEG

      Video for png image.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_RTC_IMAGE_GIF

          public static final int VIDEO_SOURCE_RTC_IMAGE_GIF

      Video for png image.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_REMOTE

          public static final int VIDEO_SOURCE_REMOTE

      Remote video received from network.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_TRANSCODED

          public static final int VIDEO_SOURCE_TRANSCODED

      Video for transcoded.
      See Also:
        Constant Field Values

    - #### VIDEO_SOURCE_UNKNOWN

          public static final int VIDEO_SOURCE_UNKNOWN

      See Also:
        Constant Field Values

    - #### LOG_FILTER_OFF

          public static final int LOG_FILTER_OFF

      Do not output any log.
      See Also:
        Constant Field Values

    - #### LOG_FILTER_DEBUG

          public static final int LOG_FILTER_DEBUG

      Output all the API logs.
      See Also:
        Constant Field Values

    - #### LOG_FILTER_INFO

          public static final int LOG_FILTER_INFO

      Output logs of the CRITICAL, ERROR, WARNING, and INFO level.
      See Also:
        Constant Field Values

    - #### LOG_FILTER_WARNING

          public static final int LOG_FILTER_WARNING

      Output logs of the CRITICAL, ERROR, and WARNING level.
      See Also:
        Constant Field Values

    - #### LOG_FILTER_ERROR

          public static final int LOG_FILTER_ERROR

      Output logs of the CRITICAL and ERROR level.
      See Also:
        Constant Field Values

    - #### LOG_FILTER_CRITICAL

          public static final int LOG_FILTER_CRITICAL

      Output logs of the CRITICAL level.
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_DEFAULT

          public static final int AUDIO_ROUTE_DEFAULT

      -1: The default audio route.
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_HEADSET

          public static final int AUDIO_ROUTE_HEADSET

      0: Headset.
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_EARPIECE

          public static final int AUDIO_ROUTE_EARPIECE

      1: Earpiece. The SDK uses the in-call volume.
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_HEADSETNOMIC

          public static final int AUDIO_ROUTE_HEADSETNOMIC

      2: Headset with no microphone.
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_SPEAKERPHONE

          public static final int AUDIO_ROUTE_SPEAKERPHONE

      3: Speakerphone.
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_LOUDSPEAKER

          public static final int AUDIO_ROUTE_LOUDSPEAKER

      4: Loudspeaker
      See Also:
        Constant Field Values

    - #### AUDIO_ROUTE_HEADSETBLUETOOTH

          public static final int AUDIO_ROUTE_HEADSETBLUETOOTH

      5: Bluetooth headset.
      See Also:
        Constant Field Values

    - #### VIDEO_STREAM_HIGH

          public static final int VIDEO_STREAM_HIGH

      0: The high-stream video, that is, the video stream featuring in high resolution and high bitrate.
      See Also:
        Constant Field Values

    - #### VIDEO_STREAM_LOW

          public static final int VIDEO_STREAM_LOW

      1: The low-stream video, that is, the video stream featuring in low resolution and low bitrate.
      See Also:
        Constant Field Values

    - #### USER_PRIORITY_HIGH

          public static final int USER_PRIORITY_HIGH

      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.
      See Also:
        Constant Field Values

    - #### USER_PRIORITY_NORANL

          public static final int USER_PRIORITY_NORANL

      Default priority.
      See Also:
        Constant Field Values

    - #### HARDWARE_ENCODER

          public static final int HARDWARE_ENCODER

      Hardware encoder.
      See Also:
        Constant Field Values

    - #### SOFTWARE_ENCODER

          public static final int SOFTWARE_ENCODER

      Software encoder.
      See Also:
        Constant Field Values

    - #### RAW_AUDIO_FRAME_OP_MODE_READ_ONLY

          public static final int RAW_AUDIO_FRAME_OP_MODE_READ_ONLY

      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.
      See Also:
        Constant Field Values

    - #### RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY

          public static final int RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY

      Write-only mode, users replace the AudioFrame data with their own data and pass it to the SDK for encoding. For example, when users acquire data by themselves.
      See Also:
        Constant Field Values

    - #### RAW_AUDIO_FRAME_OP_MODE_READ_WRITE

          public static final int RAW_AUDIO_FRAME_OP_MODE_READ_WRITE

      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.
      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_RECORDING_ERROR

          public static final int MEDIA_ENGINE_RECORDING_ERROR

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_PLAYOUT_ERROR

          public static final int MEDIA_ENGINE_PLAYOUT_ERROR

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_RECORDING_WARNING

          public static final int MEDIA_ENGINE_RECORDING_WARNING

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_PLAYOUT_WARNING

          public static final int MEDIA_ENGINE_PLAYOUT_WARNING

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_AUDIO_FILE_MIX_FINISH

          public static final int MEDIA_ENGINE_AUDIO_FILE_MIX_FINISH

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_ROLE_BROADCASTER_SOLO

          public static final int MEDIA_ENGINE_ROLE_BROADCASTER_SOLO

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_ROLE_BROADCASTER_INTERACTIVE

          public static final int MEDIA_ENGINE_ROLE_BROADCASTER_INTERACTIVE

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_ROLE_AUDIENCE

          public static final int MEDIA_ENGINE_ROLE_AUDIENCE

      See Also:
        Constant Field Values

    - #### MEDIA_ENGINE_ROLE_COMM_PEER

          public static final int MEDIA_ENGINE_ROLE_COMM_PEER

      See Also:
        Constant Field Values

    - #### STREAM_LIFE_CYCLE_BIND2CHANNEL

          public static final int STREAM_LIFE_CYCLE_BIND2CHANNEL

      Bound to the channel lifecycle.
      See Also:
        Constant Field Values

    - #### STREAM_LIFE_CYCLE_BIND2OWNER

          public static final int STREAM_LIFE_CYCLE_BIND2OWNER

      Bound to the owner of the RTMP stream.
      See Also:
        Constant Field Values

    - #### AUDIO_FILE_RECORDING_MIC

          public static final int AUDIO_FILE_RECORDING_MIC

      1: mic audio file recording.
      See Also:
        Constant Field Values

    - #### AUDIO_FILE_RECORDING_PLAYBACK

          public static final int AUDIO_FILE_RECORDING_PLAYBACK

      2: playback audio file recording.
      See Also:
        Constant Field Values

    - #### AUDIO_FILE_RECORDING_MIXED

          public static final int AUDIO_FILE_RECORDING_MIXED

      3: mixed audio file recording, include mic and playback.
      See Also:
        Constant Field Values

    - #### AUDIO_RECORDING_QUALITY_LOW

          public static final int AUDIO_RECORDING_QUALITY_LOW

      Low quality, file size is around 1.2 MB after 10 minutes of recording.
      See Also:
        Constant Field Values

    - #### AUDIO_RECORDING_QUALITY_MEDIUM

          public static final int AUDIO_RECORDING_QUALITY_MEDIUM

      Medium quality, file size is around 2 MB after 10 minutes of recording.
      See Also:
        Constant Field Values

    - #### AUDIO_RECORDING_QUALITY_HIGH

          public static final int AUDIO_RECORDING_QUALITY_HIGH

      High quality, file size is around 3.75 MB after 10 minutes of recording.
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC

          public static final int AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC

      1: mic audio frame observer
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK

          public static final int AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK

      2: playback audio frame observer
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED

          public static final int AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED

      3: mixed audio frame observer
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_16000_LOW

          public static final int AUDIO_ENCODING_TYPE_AAC_16000_LOW

      1: codecType AAC; sampleRate 16000; quality low which around 1.2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM

          public static final int AUDIO_ENCODING_TYPE_AAC_16000_MEDIUM

      2: codecType AAC; sampleRate 16000; quality medium which around 2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_32000_LOW

          public static final int AUDIO_ENCODING_TYPE_AAC_32000_LOW

      3: codecType AAC; sampleRate 32000; quality low which around 1.2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM

          public static final int AUDIO_ENCODING_TYPE_AAC_32000_MEDIUM

      4: codecType AAC; sampleRate 32000; quality medium which around 2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_32000_HIGH

          public static final int AUDIO_ENCODING_TYPE_AAC_32000_HIGH

      5: codecType AAC; sampleRate 32000; quality high which around 3.5 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM

          public static final int AUDIO_ENCODING_TYPE_AAC_48000_MEDIUM

      6: codecType AAC; sampleRate 48000; quality medium which around 2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_AAC_48000_HIGH

          public static final int AUDIO_ENCODING_TYPE_AAC_48000_HIGH

      7: codecType AAC; sampleRate 48000; quality high which around 3.5 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_OPUS_16000_LOW

          public static final int AUDIO_ENCODING_TYPE_OPUS_16000_LOW

      11: codecType OPUS; sampleRate 16000; quality low which around 1.2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM

          public static final int AUDIO_ENCODING_TYPE_OPUS_16000_MEDIUM

      12: codecType OPUS; sampleRate 16000; quality medium which around 2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM

          public static final int AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM

      13: codecType OPUS; sampleRate 48000; quality medium which around 2 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### AUDIO_ENCODING_TYPE_OPUS_48000_HIGH

          public static final int AUDIO_ENCODING_TYPE_OPUS_48000_HIGH

      14: codecType OPUS; sampleRate 48000; quality high which around 3.5 MB after 10 minutes
      See Also:
        Constant Field Values

    - #### MEDIA_TYPE_NONE

          public static final int MEDIA_TYPE_NONE

      None
      See Also:
        Constant Field Values

    - #### MEDIA_TYPE_AUDIO_ONLY

          public static final int MEDIA_TYPE_AUDIO_ONLY

      Audio only
      See Also:
        Constant Field Values

    - #### MEDIA_TYPE_VIDEO_ONLY

          public static final int MEDIA_TYPE_VIDEO_ONLY

      Video only
      See Also:
        Constant Field Values

    - #### MEDIA_TYPE_AUDIO_AND_VIDEO

          public static final int MEDIA_TYPE_AUDIO_AND_VIDEO

      Audio and video
      See Also:
        Constant Field Values

    - #### STREAM_FALLBACK_OPTION_DISABLED

          public static final int STREAM_FALLBACK_OPTION_DISABLED

      See Also:
        Constant Field Values

    - #### STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW

          public static final int STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW

      See Also:
        Constant Field Values

    - #### STREAM_FALLBACK_OPTION_AUDIO_ONLY

          public static final int STREAM_FALLBACK_OPTION_AUDIO_ONLY

      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_STATE_STOPPED

          public static final int LOCAL_VIDEO_STREAM_STATE_STOPPED

      Initial state
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_STATE_CAPTURING

          public static final int LOCAL_VIDEO_STREAM_STATE_CAPTURING

      The capturer starts successfully.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_STATE_ENCODING

          public static final int LOCAL_VIDEO_STREAM_STATE_ENCODING

      The first video frame is successfully encoded.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_STATE_FAILED

          public static final int LOCAL_VIDEO_STREAM_STATE_FAILED

      The local video fails to start.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_ERROR_OK

          public static final int LOCAL_VIDEO_STREAM_ERROR_OK

      0: The local video is normal.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_ERROR_FAILURE

          public static final int LOCAL_VIDEO_STREAM_ERROR_FAILURE

      1: No specified reason for the local video failure.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION

          public static final int LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION

      2: No permission to use the local video device.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY

          public static final int LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY

      3: The local video capturer is in use.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE

          public static final int LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE

      4: The local video capture fails. Check whether the capturer is working properly.
      See Also:
        Constant Field Values

    - #### LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE

          public static final int LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE

      5: The local video encoding fails.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_STOPPED

          public static final int REMOTE_VIDEO_STATE_STOPPED

      Default state
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_STARTING

          public static final int REMOTE_VIDEO_STATE_STARTING

      1: video packet has been received, but not decoded yet.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_PLAYING

          public static final int REMOTE_VIDEO_STATE_PLAYING

      2: Remote video is playing.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_FROZEN

          public static final int REMOTE_VIDEO_STATE_FROZEN

      3: Remote video is frozen, probably due to network issue.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_FAILED

          public static final int REMOTE_VIDEO_STATE_FAILED

      4: Failed.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_INTERNAL

          public static final int REMOTE_VIDEO_STATE_REASON_INTERNAL

      0: Internal reasons.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION

          public static final int REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION

      1: Network congestion.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY

          public static final int REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY

      2: Network recovery.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED

          public static final int REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED

      3: The local user stops receiving the remote video stream or disables the video module.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED

          public static final int REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED

      4: The local user resumes receiving the remote video stream or enables the video module.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED

          public static final int REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED

      5: The remote user stops sending the video stream or disables the video module.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED

          public static final int REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED

      6: The remote user resumes sending the video stream or enables the video module.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE

          public static final int REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE

      7: The remote user leaves the channel.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK

          public static final int REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK

      8: The remote media stream falls back to the audio-only stream due to poor network conditions.
      See Also:
        Constant Field Values

    - #### REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY

          public static final int REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY

      9: The remote media stream switches back to the video stream after the network conditions improve.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_STATE_PLAYING

          public static final int AUDIO_MIXING_STATE_PLAYING

      710: The audio mixing file is playing.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_STATE_PAUSED

          public static final int AUDIO_MIXING_STATE_PAUSED

      711: The audio mixing file pauses playing.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_STATE_STOPPED

          public static final int AUDIO_MIXING_STATE_STOPPED

      713: The audio mixing file stops playing.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_STATE_FAILED

          public static final int AUDIO_MIXING_STATE_FAILED

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

    - #### AUDIO_MIXING_STATE_COMPLETED

          public static final int AUDIO_MIXING_STATE_COMPLETED

      715: The audio mixing file is played once.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED

          public static final int AUDIO_MIXING_STATE_ALL_LOOPS_COMPLETED

      716: The audio mixing file is all played out.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_ERROR_CAN_NOT_OPEN

          public static final int AUDIO_MIXING_ERROR_CAN_NOT_OPEN

      701: An error occurs in opening the audio mixing file.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL

          public static final int AUDIO_MIXING_ERROR_TOO_FREQUENT_CALL

      702: The SDK opens the audio mixing file too frequently.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_ERROR_INTERRUPTED_EOF

          public static final int AUDIO_MIXING_ERROR_INTERRUPTED_EOF

      703: The audio mixing file playback is interrupted.
      See Also:
        Constant Field Values

    - #### AUDIO_MIXING_ERROR_OK

          public static final int AUDIO_MIXING_ERROR_OK

      0: No error.
      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_VP8

          public static final int VIDEO_CODEC_VP8

      Video codec types VIDEO_CODEC_TYPE
      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_H264

          public static final int VIDEO_CODEC_H264

      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_H265

          public static final int VIDEO_CODEC_H265

      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_VP9

          public static final int VIDEO_CODEC_VP9

      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_GENERIC

          public static final int VIDEO_CODEC_GENERIC

      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_GENERIC_H264

          public static final int VIDEO_CODEC_GENERIC_H264

      See Also:
        Constant Field Values

    - #### VIDEO_CODEC_GENERIC_JPEG

          public static final int VIDEO_CODEC_GENERIC_JPEG

      See Also:
        Constant Field Values

    - #### TCC_ENABLED

          public static final int TCC_ENABLED

      Transport CC enabled
      See Also:
        Constant Field Values

    - #### TCC_DISABLED

          public static final int TCC_DISABLED

      See Also:
        Constant Field Values

    - #### AUDIO_CODEC_OPUS

          public static final int AUDIO_CODEC_OPUS

      See Also:
        Constant Field Values

    - #### AUDIO_CODEC_AACLC

          public static final int AUDIO_CODEC_AACLC

      See Also:
        Constant Field Values

    - #### AUDIO_CODEC_HEAAC

          public static final int AUDIO_CODEC_HEAAC

      See Also:
        Constant Field Values

    - #### AUDIO_CODEC_HEAAC2

          public static final int AUDIO_CODEC_HEAAC2

      See Also:
        Constant Field Values

    - #### PACKETIZE_MODE_H264_NON_INTERLEAVED

          public static final int PACKETIZE_MODE_H264_NON_INTERLEAVED

      Packetize Mode H264PacketizeMode
      See Also:
        Constant Field Values

    - #### PACKETIZE_MODE_H264_SINGLE_NAL_UNIT

          public static final int PACKETIZE_MODE_H264_SINGLE_NAL_UNIT

      See Also:
        Constant Field Values

    - #### VIDEO_FRAME_TYPE_BLANK_FRAME

          public static final int VIDEO_FRAME_TYPE_BLANK_FRAME

      Video Frame Type. VIDEO_FRAME_TYPE
      See Also:
        Constant Field Values

    - #### VIDEO_FRAME_TYPE_KEY_FRAME

          public static final int VIDEO_FRAME_TYPE_KEY_FRAME

      See Also:
        Constant Field Values

    - #### VIDEO_FRAME_TYPE_DELTA_FRAME

          public static final int VIDEO_FRAME_TYPE_DELTA_FRAME

      See Also:
        Constant Field Values

    - #### VIDEO_FRAME_TYPE_B_FRAME

          public static final int VIDEO_FRAME_TYPE_B_FRAME

      See Also:
        Constant Field Values

    - #### VIDEO_FRAME_TYPE_UNKNOWN

          public static final int VIDEO_FRAME_TYPE_UNKNOWN

      See Also:
        Constant Field Values

    - #### VIDEO_ORIENTATION_0

          public static final int VIDEO_ORIENTATION_0

      0: No rotation.
      See Also:
        Constant Field Values

    - #### VIDEO_ORIENTATION_90

          public static final int VIDEO_ORIENTATION_90

      90: 90 degrees.
      See Also:
        Constant Field Values

    - #### VIDEO_ORIENTATION_180

          public static final int VIDEO_ORIENTATION_180

      180: 180 degrees.
      See Also:
        Constant Field Values

    - #### VIDEO_ORIENTATION_270

          public static final int VIDEO_ORIENTATION_270

      270: 270 degrees.
      See Also:
        Constant Field Values

    - #### DEFAULT_CONNECTION_ID

          public static final int DEFAULT_CONNECTION_ID

      The default connection ID.
      See Also:
        Constant Field Values

    - #### CONNECTION_STATE_DISCONNECTED

          public static final int CONNECTION_STATE_DISCONNECTED

      1: The SDK is disconnected from Agora edge server.
      See Also:
        Constant Field Values

    - #### CONNECTION_STATE_CONNECTING

          public static final int CONNECTION_STATE_CONNECTING

      2: The SDK is connecting to Agora edge server.
      See Also:
        Constant Field Values

    - #### CONNECTION_STATE_CONNECTED

          public static final int CONNECTION_STATE_CONNECTED

      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.
      See Also:
        Constant Field Values

    - #### CONNECTION_STATE_RECONNECTING

          public static final int CONNECTION_STATE_RECONNECTING

      4: The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.
      See Also:
        Constant Field Values

    - #### CONNECTION_STATE_FAILED

          public static final int CONNECTION_STATE_FAILED

      5: The SDK fails to connect to Agora edge server or join the channel.
      See Also:
        Constant Field Values

    - #### RELAY_OK

          public static final int RELAY_OK

      0: The state is normal.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_SERVER_ERROR_RESPONSE

          public static final int RELAY_ERROR_SERVER_ERROR_RESPONSE

      1: An error occurs in the server response.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_SERVER_NO_RESPONSE

          public static final int RELAY_ERROR_SERVER_NO_RESPONSE

      2: No server response. You can call the leaveChannel method to leave the channel.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_NO_RESOURCE_AVAILABLE

          public static final int RELAY_ERROR_NO_RESOURCE_AVAILABLE

      3: The SDK fails to access the service, probably due to limited resources of the server.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_FAILED_JOIN_SRC

          public static final int RELAY_ERROR_FAILED_JOIN_SRC

      4: Fails to send the relay request.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_FAILED_JOIN_DEST

          public static final int RELAY_ERROR_FAILED_JOIN_DEST

      5: Fails to accept the relay request.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC

          public static final int RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC

      6: The server fails to receive the media stream.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST

          public static final int RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST

      7: The server fails to send the media stream.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_SERVER_CONNECTION_LOST

          public static final int RELAY_ERROR_SERVER_CONNECTION_LOST

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

    - #### RELAY_ERROR_INTERNAL_ERROR

          public static final int RELAY_ERROR_INTERNAL_ERROR

      9: An internal error occurs in the server.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_SRC_TOKEN_EXPIRED

          public static final int RELAY_ERROR_SRC_TOKEN_EXPIRED

      10: The token of the source channel has expired.
      See Also:
        Constant Field Values

    - #### RELAY_ERROR_DEST_TOKEN_EXPIRED

          public static final int RELAY_ERROR_DEST_TOKEN_EXPIRED

      11: The token of the destination channel has expired.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_NETWORK_DISCONNECTED

          public static final int RELAY_EVENT_NETWORK_DISCONNECTED

      0: The user disconnects from the server due to poor network connections.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_NETWORK_CONNECTED

          public static final int RELAY_EVENT_NETWORK_CONNECTED

      1: The network reconnects.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL

          public static final int RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL

      2: The user joins the source channel.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL

          public static final int RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL

      3: The user joins the destination channel.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL

          public static final int RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL

      4: The SDK starts relaying the media stream to the destination channel.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC

          public static final int RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC

      5: The server receives the video stream from the source channel.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC

          public static final int RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC

      6: The server receives the audio stream from the source channel.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL

          public static final int RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL

      7: The destination channel is updated.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED

          public static final int RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED

      8: The destination channel update fails due to internal reasons.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE

          public static final int RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE

      9: The destination channel does not change, which means that the destination channel fails to be updated.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL

          public static final int RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL

      10: The destination channel name is NULL.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_VIDEO_PROFILE_UPDATE

          public static final int RELAY_EVENT_VIDEO_PROFILE_UPDATE

      11: The video profile is sent to the server.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS

          public static final int RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS

      12: pause send packet to dest channel success.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED

          public static final int RELAY_EVENT_PAUSE_SEND_PACKET_TO_DEST_CHANNEL_FAILED

      13: pause send packet to dest channel failed.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS

          public static final int RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_SUCCESS

      14: resume send packet to dest channel success.
      See Also:
        Constant Field Values

    - #### RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED

          public static final int RELAY_EVENT_RESUME_SEND_PACKET_TO_DEST_CHANNEL_FAILED

      15: pause send packet to dest channel failed.
      See Also:
        Constant Field Values

    - #### RELAY_STATE_IDLE

          public static final int RELAY_STATE_IDLE

      0: The SDK is initializing.
      See Also:
        Constant Field Values

    - #### RELAY_STATE_CONNECTING

          public static final int RELAY_STATE_CONNECTING

      1: The SDK tries to relay the media stream to the destination channel.
      See Also:
        Constant Field Values

    - #### RELAY_STATE_RUNNING

          public static final int RELAY_STATE_RUNNING

      2: The SDK successfully relays the media stream to the destination channel.
      See Also:
        Constant Field Values

    - #### RELAY_STATE_FAILURE

          public static final int RELAY_STATE_FAILURE

      3: A failure occurs.
      See Also:
        Constant Field Values

    - #### MAX_CROSS_DEST_CHANNEL_SIZE

          public static final int MAX_CROSS_DEST_CHANNEL_SIZE

      media relay max dest channel size
      See Also:
        Constant Field Values

    - #### EAR_MONITORING_FILTER_NONE

          public static final int EAR_MONITORING_FILTER_NONE

      1: Do not add an audio filter to the in-ear monitor.
      See Also:
        Constant Field Values

    - #### EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS

          public static final int EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS

      2: Add an audio filter to the in-ear monitor.
      See Also:
        Constant Field Values

    - #### EAR_MONITORING_FILTER_NOISE_SUPPRESSION

          public static final int EAR_MONITORING_FILTER_NOISE_SUPPRESSION

      4: Enable noise suppression to the in-ear monitor.
      See Also:
        Constant Field Values

    - #### PUB_STATE_IDLE

          public static final int PUB_STATE_IDLE

      0: The initial publishing state after joining the channel.
      See Also:
        Constant Field Values

    - #### PUB_STATE_NO_PUBLISHED

          public static final int PUB_STATE_NO_PUBLISHED

      1: Fails to publish the local stream.
      See Also:
        Constant Field Values

    - #### PUB_STATE_PUBLISHING

          public static final int PUB_STATE_PUBLISHING

      2: Publishing.
      See Also:
        Constant Field Values

    - #### PUB_STATE_PUBLISHED

          public static final int PUB_STATE_PUBLISHED

      3: Publishes successfully.
      See Also:
        Constant Field Values

    - #### AREA_CODE_CN

          public static final int AREA_CODE_CN

      Mainland China.
      See Also:
        Constant Field Values

    - #### AREA_CODE_NA

          public static final int AREA_CODE_NA

      North America.
      See Also:
        Constant Field Values

    - #### AREA_CODE_EU

          public static final int AREA_CODE_EU

      Europe.
      See Also:
        Constant Field Values

    - #### AREA_CODE_AS

          public static final int AREA_CODE_AS

      Asia, excluding Mainland China.
      See Also:
        Constant Field Values

    - #### AREA_CODE_JP

          public static final int AREA_CODE_JP

      Japan.
      See Also:
        Constant Field Values

    - #### AREA_CODE_IN

          public static final int AREA_CODE_IN

      India.
      See Also:
        Constant Field Values

    - #### AREA_CODE_GLOB

          public static final int AREA_CODE_GLOB

      (Default) Global.
      See Also:
        Constant Field Values

    - #### AUDIO_CONSUMER_INVALID_PARAM

          public static final int AUDIO_CONSUMER_INVALID_PARAM

      1: Invalid parameter.
      See Also:
        Constant Field Values

    - #### AUDIO_CONSUMER_NOT_READY

          public static final int AUDIO_CONSUMER_NOT_READY

      2: Not ready.
      See Also:
        Constant Field Values

    - #### AUDIO_CONSUMER_PENDING

          public static final int AUDIO_CONSUMER_PENDING

      3: Pending.
      See Also:
        Constant Field Values

    - #### AUDIO_CONSUMER_FAILED

          public static final int AUDIO_CONSUMER_FAILED

      4: Failed.
      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_BUFFER_TYPE_RAW_DATA

          public static final int EXTERNAL_VIDEO_FRAME_BUFFER_TYPE_RAW_DATA

      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_I420

          public static final int EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_I420

      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_I422

          public static final int EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_I422

      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_BGRA

          public static final int EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_BGRA

      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_NV21

          public static final int EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_NV21

      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_RGBA

          public static final int EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_RGBA

      See Also:
        Constant Field Values

    - #### EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_NV12

          public static final int EXTERNAL_VIDEO_FRAME_PIXEL_FORMAT_NV12

      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_128_XTS

          public static final int ENCRYPTION_MODE_AES_128_XTS

      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_128_ECB

          public static final int ENCRYPTION_MODE_AES_128_ECB

      2: 128-bit AES encryption, ECB mode.
      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_256_XTS

          public static final int ENCRYPTION_MODE_AES_256_XTS

      3: 256-bit AES encryption, XTS mode.
      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_SM4_128_ECB

          public static final int ENCRYPTION_MODE_SM4_128_ECB

      4: 128-bit SM4 encryption, ECB mode.
      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_128_GCM

          public static final int ENCRYPTION_MODE_AES_128_GCM

      5: 128-bit AES encryption, GCM mode.
      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_256_GCM

          public static final int ENCRYPTION_MODE_AES_256_GCM

      6: 256-bit AES encryption, GCM mode.
      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_128_GCM2

          public static final int ENCRYPTION_MODE_AES_128_GCM2

      7: (Default) 128-bit AES encryption, GCM mode, with KDF salt.
      See Also:
        Constant Field Values

    - #### ENCRYPTION_MODE_AES_256_GCM2

          public static final int ENCRYPTION_MODE_AES_256_GCM2

      8: 256-bit AES encryption, GCM mode, with KDF salt.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Constants

          public Constants()