Agora Java API Reference for Android
|
Classes | |
enum | AudioExternalSourcePos |
enum | AudioMixingDualMonoMode |
enum | AudioProfile |
enum | AudioScenario |
enum | LogLevel |
enum | MediaType |
The Constants Class.
|
static |
Indicates the adaption of current media quality, i.e., video bitrate or video framerate. The quality of the local video stays the same.
|
static |
The quality improves because the network bandwidth increases.
|
static |
The quality worsens because the network bandwidth decreases.
|
static |
1: The last-mile probe result is complete.
|
static |
2: The last-mile network probe test is incomplete and the bandwidth estimation is not available, probably due to limited test resources.
|
static |
3: The last-mile network probe test is not carried out, probably due to poor network conditions.
|
static |
0: The quality is unknown.
|
static |
1: The quality is excellent.
|
static |
2: The quality is quite good, but the bitrate may be slightly lower than excellent.
|
static |
3: Users can feel the communication slightly impaired.
|
static |
4: Users can communicate not very smoothly.
|
static |
5: The quality is so bad that users can barely communicate.
|
static |
6: The network is disconnected and users cannot communicate at all.
|
static |
7: Users cannot detect the network quality. (Not in use.)
|
static |
8: Detecting the network quality.
|
static |
0: QoE of the local user is good.
|
static |
1: QoE of the local user is poor.
|
static |
0: No reason, indicating good QoE of the local user.
|
static |
1: The remote user's network quality is poor.
|
static |
2: The local user's network quality is poor.
|
static |
4: The local user's Wi-Fi or mobile network signal is weak.
|
static |
8: The local user enables both Wi-Fi and bluetooth, and their signals interfere with each other. As a result, audio transmission quality is undermined.
|
static |
8: The specified view is invalid. Specify a view when using the video call function.
|
static |
16: Fails to initialize the video function, possibly caused by a lack of resources. The users cannot see the video while the voice communication is not affected.
|
static |
20: The request is pending, usually due to some module not being ready, and the SDK postponed processing the request.
|
static |
103: No channel resources are available. Maybe because the server cannot allocate any channel resource.
|
static |
104: A timeout occurs when looking up the channel. When joining a channel, the SDK looks up the specified channel. This warning usually occurs when the network condition is too poor for the SDK to connect to the server.
|
static |
CONNECTION_CHANGED_REJECTED_BY_SERVER(10)
in the onConnectionStateChanged
callback instead. 105: The server rejects the request to look up the channel. The server cannot process this request or the request is illegal.
|
static |
106: A timeout occurs when opening the channel. Once the specific channel is found, the SDK opens the channel. This warning usually occurs when the network condition is too poor for the SDK to connect to the server.
|
static |
107: The server rejects the request to open the channel. The server cannot process this request or the request is illegal.
|
static |
111: A timeout occurs when switching to the live video.
|
static |
118: A timeout occurs when setting the user role in the LIVE_BROADCASTING
profile.
|
static |
119: The user role is unauthorized.
reason
reported in onClientRoleChangeFailed
instead.
|
static |
121: The SDK fails to join a channel.
|
static |
122: Try connecting to another server.
|
static |
701: An error occurs in opening the audio mixing file.
|
static |
1014: Audio Device Module: A warning occurs in the playback device.
|
static |
1016: Audio Device Module: A warning occurs in the sampling device.
|
static |
1019: Audio Device Module: No valid audio data is collected.
|
static |
1020: Audio device module: The audio playback frequency is abnormal, which may cause audio freezes. This abnormality is caused by high CPU usage. Agora recommends stopping other apps.
|
static |
1021: Audio device module: The audio sampling frequency is abnormal, which may cause audio freezes. This abnormality is caused by high CPU usage. Agora recommends stopping other apps.
|
static |
1025: The local audio capture is interrupted by a system call or alarm clock. Remind your user to end the phone call or alarm clock if the local audio capture is required.
|
static |
1031: Audio Device Module: The recorded audio volume is too low.
|
static |
1032: Audio Device Module: The playback audio volume is too low.
|
static |
1033: The local audio capture device is occupied by another application. Remind your user to leave the channel, stop the audio capture in another application, and rejoin the channel in sequence.
|
static |
1051: (Communication profile only) Audio processing module: A howling sound is detected when sampling the audio data.
|
static |
1052: Audio Device Module: The device is in the glitch state.
|
static |
1053: Audio Processing Module: Possible residual echo can be perceived.
|
static |
1610: Super-resolution warning: the original video dimensions of the remote user exceed 640 × 360.
|
static |
1611: Super-resolution warning: another user is using super resolution.
|
static |
1612: Super-resolution warning: The device is not supported.
|
static |
0: No error occurs.
|
static |
1: A general error occurs (no specified reason).
|
static |
2: An invalid parameter is used. For example, the specific channel name includes illegal characters.
|
static |
3: The SDK module is not ready. We recommend the following methods to solve this error:
|
static |
4: The SDK does not support this function.
|
static |
5: The request is rejected.
|
static |
6: The buffer size is not big enough to store the returned data.
|
static |
7: The SDK is not initialized before calling this method.
|
static |
9: No permission exists. Check if the user has granted access to the audio or video device.
|
static |
10: An API timeout occurs. Some API methods require the SDK to return the execution result, and this error occurs if the request takes too long for the SDK to process.
|
static |
11: The request is canceled. This is for internal SDK use only, and is not returned to the app through any API method or callback.
|
static |
12: This method is called too often. This is for internal SDK use only, and is not returned to the app through any API method or callback.
|
static |
13: The SDK fails to bind to the network socket. This is for internal SDK use only, and is not returned to the app through any API method or callback.
|
static |
14: The network is unavailable. This is for internal SDK use only, and is not returned to the app through any API method or callback.
|
static |
15: No network buffers are available. This is for internal SDK use only, and is not returned to the app through any API method or callback.
|
static |
17: The request to join the channel is rejected. This error usually occurs when the user is already in the channel and still calls the joinChannel
method to join the channel, or when the user tries to join the channel with a token that is expired.
|
static |
18: The request to leave the channel is rejected. This error usually occurs:
leaveChannel
method to leave the channel. This error stops once the user stops calling this method. leaveChannel
method before joining a channel. No extra operation is needed.
|
static |
19: The resources are occupied and cannot be reused.
|
static |
101: The specified App ID is invalid. Please try to rejoin the channel with a valid App ID.
|
static |
102: The specified channel name is invalid. Please try to rejoin the channel with a valid channel name.
|
static |
103: Fails to get server resources in the specified region. Please try to specify another region when calling create
.
|
static |
109: The token expired due to one of the following reasons:
CONNECTION_CHANGED_TOKEN_EXPIRED(9)
in the onConnectionStateChanged
callback instead.
|
static |
110: The token is invalid due to one of the following reasons:
joinChannel
method. CONNECTION_CHANGED_INVALID_TOKEN(8)
in the onConnectionStateChanged
callback instead.
|
static |
111: The Internet connection is interrupted. This applies to the Agora Web SDK only.
|
static |
112: The Internet connection is lost. This applies to the Agora Web SDK only.
|
static |
113: The user is not in the channel.
|
static |
114: The size of the sent data is over 1024 bytes when the user calls the sendStreamMessage
method.
|
static |
115: The bitrate of the sent data exceeds the limit of 6 Kbps when the user calls the sendStreamMessage
method.
|
static |
116: Too many data streams (over five streams) are created when the user calls the createDataStream
method.
|
static |
120: Decryption fails. The user may have used a different encryption password to join the channel. Check your settings or try rejoining the channel.
|
static |
123: The user is banned by the server. This error occurs when the user is kicked out the channel from the server.
|
static |
124: Incorrect watermark file parameter.
|
static |
125: Incorrect watermark file path.
|
static |
126: Incorrect watermark file format.
|
static |
127: Incorrect watermark file information.
|
static |
128: Incorrect watermark file data format.
|
static |
129: An error occurs in reading the watermark file.
|
static |
130: Encryption is enabled when the user calls the addPublishStreamUrl
method (CDN live streaming does not support encrypted streams).
|
static |
134: The user account is invalid.
|
static |
151: CDN related errors. Remove the original URL address and add a new one by calling the removePublishStreamUrl
and addPublishStreamUrl
methods.
|
static |
152: The host manipulates more than 10 URLs. Delete the unnecessary URLs before adding new ones.
|
static |
153: The host manipulates other hosts' URLs. Check your app logic.
|
static |
154: An error occurs in Agora streaming server. Call the addPublishStreamUrl
method to publish the streaming again.
|
static |
155: The server fails to find the stream.
|
static |
156: The format of the CDN streaming URL is not supported. Check whether the URL format is correct.
|
static |
157: The extension library is not integrated, such as the library for enabling noise suppression.
|
static |
160: The client is already recording audio. To start a new recording, call stopAudioRecording
to stop the current recording first, and then call startAudioRecording
.
|
static |
1: An error occurs when you add a background image or a watermark image to the RTMP or RTMPS stream.
|
static |
2: The streaming URL is already being used for CDN live streaming. If you want to start new streaming, use a new streaming URL.
|
static |
3: The feature is not supported.
|
static |
4: Reserved.
|
static |
1001: Fails to load the media engine.
|
static |
1002: Fails to start the call after enabling the media engine.
|
static |
1003: Fails to start the camera.
LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE(4)
in the onLocalVideoStateChanged
callback instead.
|
static |
1004: Fails to start the video rendering module.
|
static |
1005: Audio Device Module: A general error occurs in the Audio Device Module (no classified reason). Check if the audio device is used by another application, or try rejoining the channel.
|
static |
1006: Audio Device Module: An error occurs in using the Java resources.
|
static |
1007: Audio Device Module: An error occurs in setting the sampling frequency.
|
static |
1008: Audio Device Module: An error occurs in initializing the playback device.
|
static |
1009: Audio Device Module: An error occurs in starting the playback device.
|
static |
1010: Audio Device Module: An error occurs in stopping the playback device.
|
static |
1011: Audio Device Module: An error occurs in initializing the sampling device.
|
static |
1012: Audio Device Module: An error occurs in starting the sampling device.
|
static |
1013: Audio Device Module: An error occurs in stopping the sampling device.
|
static |
1015: Audio Device Module: A playback error occurs. Check your playback device or try rejoining the channel.
|
static |
1017: Audio Device Module: A sampling error occurs.
|
static |
1018: Audio Device Module: Fails to record.
|
static |
1022: Audio Device Module: An error occurs in initializing the loopback device.
|
static |
1023: Audio Device Module: An error occurs in starting the loopback device.
|
static |
1030: Audio Routing: Fails to route the audio to the connected Bluetooth device. The default route is used.
|
static |
1359: Audio Device Module: No sampling device exists.
|
static |
1360: Audio Device Module: No playback device exists.
|
static |
1501: Video Device Module: The camera is unauthorized.
|
static |
1600: Video Device Module: Unknown error.
|
static |
1601: Video Device Module: Error in initializing the video encoder. This is a serious error and you can try to rejoin the channel.
|
static |
1602: Video Device Module: Error in the video encoder. This is a serious error and you can try to rejoin the channel.
|
static |
|
static |
1800: Audio Routing: neither a2dp nor sco could be used for bluetooth
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
LIVE_BROADCASTING
profile only.
|
static |
LIVE_BROADCASTING
profile only.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
0: Default audio profile.
COMMUNICATION
profile, the default audio profile represents a sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.LIVE_BROADCASTING
profile, the default audio profile represents a sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
|
static |
1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
|
static |
2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
|
static |
3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
|
static |
4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.
|
static |
5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
|
static |
0: Default audio scenario.
|
static |
1: Entertainment scenario where users need to frequently switch the user role.
|
static |
2: Education scenario where users want smoothness and stability.
|
static |
3: High-quality audio chatroom scenario where hosts mainly play music.
|
static |
4: Showroom scenario where a single host wants high-quality audio.
|
static |
5: Gaming scenario for group chat that only contains the human voice.
|
static |
6: IoT (Internet of Things) scenario where users use IoT devices with low power consumption.
|
static |
8: Meeting scenario that mainly contains the human voice.
|
static |
The number of elements in the enumeration.
|
static |
0: 31 Hz
|
static |
1: 62 Hz
|
static |
2: 125 Hz
|
static |
3: 250 Hz
|
static |
4: 500 Hz
|
static |
5: 1 kHz
|
static |
6: 2 kHz
|
static |
7: 4 kHz
|
static |
8: 8 kHz
|
static |
9: 16 kHz
|
static |
0: Level of the dry signal (-20 to 10 dB).
|
static |
1: Level of the early reflection signal (wet signal) (-20 to 10 dB).
|
static |
2: Room size of the reflection (0 to 100 dB).
|
static |
3: Length of the initial delay of the wet signal (0 to 200 ms).
|
static |
4: Strength of the late reverberation (0 to 100).
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
setAudioProfile
as AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO
.
|
static |
|
static |
|
static |
Turn off voice beautifier effects and use the original voice.
|
static |
Turn off audio effects and use the original voice.
|
static |
A more magnetic voice.
|
static |
A fresher voice.
|
static |
A more vital voice.
|
static |
Singing beautifier effect.
setVoiceBeautifierPreset(SINGING_BEAUTIFIER)
, you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends not using setVoiceBeautifierPreset(SINGING_BEAUTIFIER)
to process a female-sounding voice; otherwise, you may experience vocal distortion.setVoiceBeautifierParameters(SINGING_BEAUTIFIER, param1, param2)
, you can beautify a male- or female-sounding voice and add a reverberation effect.
|
static |
A more vigorous voice.
|
static |
A deeper voice.
|
static |
A mellower voice.
|
static |
A falsetto voice.
|
static |
A fuller voice.
|
static |
A clearer voice.
|
static |
A more resounding voice.
|
static |
A more ringing voice.
|
static |
An audio effect typical of a KTV venue.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
An audio effect typical of a concert hall.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
An audio effect typical of a recording studio.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
An audio effect typical of a vintage phonograph.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
A virtual stereo effect that renders monophonic audio as stereo audio.
setAudioProfile
and set the profile
parameter to AUDIO_PROFILE_MUSIC_STANDARD_STEREO(3)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator; otherwise, the enumerator setting does not take effect.
|
static |
A more spatial audio effect.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
A more ethereal audio effect.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
A 3D voice effect that makes the voice appear to be moving around the user. The default cycle period of the 3D voice effect is 10 seconds. To change the cycle period, call setAudioEffectParameters
after this method.
setAudioProfile
and set the profile
parameter to AUDIO_PROFILE_MUSIC_STANDARD_STEREO(3)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator; otherwise, the enumerator setting does not take effect
|
static |
The voice of a middle-aged man.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
The voice of an old man.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
The voice of a boy.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
The voice of a young woman.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
The voice of a girl.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
The voice of Pig King, a character in Journey to the West who has a voice like a growling bear.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
The voice of Hulk.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
An audio effect typical of R&B music.
setAudioProfile
and set the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator; otherwise, the enumerator setting does not take effect.
|
static |
An audio effect typical of popular music.
setAudioProfile
and set the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator; otherwise, the enumerator setting does not take effect.
|
static |
A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. To change the basic mode and tonic pitch, call setAudioEffectParameters
after this method.
setAudioProfile
and setting the profile
parameter to AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
or AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
before setting this enumerator.
|
static |
Turn off voice conversion effects and use the original voice.
|
static |
A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
|
static |
A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
|
static |
A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
|
static |
A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
|
static |
0: The channel profile is Communication.
This is used in one-on-one calls or group calls, where all users in the channel can talk freely.
|
static |
1: The channel profile is LIVE_BROADCASTING
.
Host and audience roles that can be set by calling the setClientRole
method. The host sends and receives voice/video, while the audience only receives voice/video.
|
static |
2: The Gaming profile. Agora does not recommend using this profile.
|
static |
1: Host. A host can both send and receive streams.
|
static |
2: Audience. An audience member can only receive streams.
|
static |
1: Low latency.
|
static |
2: (Default) Ultra low latency.
|
static |
1: The standard VP8.
|
static |
2: The standard H264.
|
static |
3: The enhanced VP8.
|
static |
4: The enhanced H264.
|
static |
0: The user quits the call.
|
static |
1: The SDK timed out and the user dropped offline because it has not received any data packet for a period of time.
USER_OFFLINE_DROPPED(1)
instead of USER_OFFLINE_QUIT(0)
due to system limitations.
|
static |
2: The client role switches from a host to an audience.
|
static |
-1: The SDK does not detect the brightness level of the video image. Wait a few seconds to get the brightness level from CAPTURE_BRIGHTNESS_LEVEL_TYPE
in the next callback.
|
static |
0: The brightness level of the video image is normal.
|
static |
1: The brightness level of the video image is too bright.
|
static |
2: The brightness level of the video image is too dark.
|
static |
0: The quality report is in JSON format.
|
static |
1: The quality report is in HTML format.
|
static |
1: Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
|
static |
2: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
|
static |
RENDER_MODE_HIDDEN
mode applies; if they use different screen orientations, such as one vertical and one horizontal, the RENDER_MODE_FIT
mode applies.
|
static |
0: The default mirror mode (the SDK determines the mirror mode).
|
static |
1: Enable the mirror mode.
|
static |
2: Disable the mirror mode
|
static |
0: No content hint.
|
static |
1: Motion-intensive content. Choose this option if you prefer smoothness or when you are sharing a video clip, movie, or video game.
|
static |
2: Motionless content. Choose this option if you prefer sharpness or when you are sharing a picture, PowerPoint slide, or text.
|
static |
0: Do not output any log.
|
static |
0x80f: Output all API logs. Set your log filter as DEBUG if you want to get the most complete log file.
|
static |
0x0f: Output logs of the CRITICAL, ERROR, WARNING, and INFO level. We recommend setting your log filter as this level.
|
static |
0x0e: Output logs of the CRITICAL, ERROR, and WARNING level.
|
static |
0x0c: Output logs of the CRITICAL and ERROR level.
|
static |
0x08: Output logs of the CRITICAL level.
|
static |
-1: Default audio route.
|
static |
0: The audio route is a headset with a microphone.
|
static |
1: The audio route is an earpiece.
|
static |
2: The audio route is a headset without a microphone.
|
static |
3: The audio route is the speaker that comes with the device.
|
static |
4: (For future use) The audio route is an external speaker.
|
static |
5: The audio route is a Bluetooth headset.
|
static |
0: High-stream (high-resolution, high-bitrate) video.
|
static |
1: Low-stream (low-resolution, low-bitrate) video.
|
static |
High Priority, if you set a user with high priority, then streams of this user will have high priority than streams of other users with normal default priority. i.e., the SDK will take priority into account when deciding which user's stream need to fallback when network congestion occurs.
|
static |
Default priority.
|
static |
0: Hardware encoder.
|
static |
1: Software encoder.
|
static |
0: Read-only mode. Users only read the Agora Audio Frame data without modifying anything. For example, when users acquire data with the Agora SDK and push RTMP or RTMPS streams by themselves.
|
static |
1: Write-only mode. Users replace the Agora Audio Frame data with their own data and pass it to the SDK for encoding. For example, when users acquire data by themselves.
|
static |
2: Read and write mode. Users read the data from the Agora Audio Frame, 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.
|
static |
701: The SDK cannot open the audio mixing file.
AUDIO_MIXING_REASON
instead.
|
static |
702: The SDK opens the audio mixing file too frequently.
AUDIO_MIXING_REASON
instead.
|
static |
703: The audio mixing file playback is interrupted.
AUDIO_MIXING_REASON
instead.
|
static |
710: The music file is playing. This state comes with one of the following associated reasons:
AUDIO_MIXING_REASON_STARTED_BY_USER(720)
: Successfully calls startAudioMixing
to play a music file.AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED(721)
: The music file completes a loop playback.AUDIO_MIXING_REASON_START_NEW_LOOP(722)
: The music file starts a new loop playback.AUDIO_MIXING_REASON_RESUMED_BY_USER(726)
: Successfully calls resumeAudioMixing
to resume playing the music file.
|
static |
711: The audio mixing file pauses playing after the method call of pauseAudioMixing
succeeds.
|
static |
713: The audio mixing file stops playing after the method call of stopAudioMixing
succeeds.
|
static |
714: An exception occurs during the playback of the music file. This state comes with one of the following associated reasons:
AUDIO_MIXING_REASON_CAN_NOT_OPEN(701)
: The SDK cannot open the music file. Possible causes include the local music file does not exist, the SDK does not support the file format, or the SDK cannot access the music file URL.AUDIO_MIXING_REASON_TOO_FREQUENT_CALL(702)
: The SDK opens the music file too frequently. If you need to call startAudioMixing
multiple times, ensure that the call interval is longer than 500 ms.AUDIO_MIXING_REASON_INTERRUPTED_EOF(703)
: The music file playback is interrupted.
|
static |
720: For internal use.
|
static |
721: For internal use.
|
static |
722: For internal use.
|
static |
723: For internal use.
|
static |
724: For internal use.
|
static |
725: For internal use.
|
static |
726: For internal use.
|
static |
701: The SDK cannot open the music file. Possible causes include the local music file does not exist, the SDK does not support the file format, or the SDK cannot access the music file URL.
|
static |
702: The SDK opens the music file too frequently. If you need to call startAudioMixing
multiple times, ensure that the call interval is longer than 500 ms.
|
static |
703: The music file playback is interrupted.
|
static |
720: Successfully calls startAudioMixing
to play a music file.
|
static |
721: The music file completes a loop playback.
|
static |
722: The music file starts a new loop playback.
|
static |
723: The music file completes all loop playback.
|
static |
724: Successfully calls stopAudioMixing
to stop playing the music file.
|
static |
725: Successfully calls pauseAudioMixing
to pause playing the music file.
|
static |
726: Successfully calls resumeAudioMixing
to resume playing the music file.
|
static |
1: The SDK is disconnected from Agora edge server.
joinChannel
method. leaveChannel
method.
|
static |
2: The SDK is connecting to Agora edge server.
joinChannel
method, the SDK starts to establish a connection to the specified channel, triggers the onConnectionStateChanged
callback, and switches to the CONNECTION_STATE_CONNECTING
state. onConnectionStateChanged
callback and switches to the CONNECTION_STATE_CONNECTED
state. onJoinChannelSuccess
callback.
|
static |
3: The SDK is connected to Agora edge server and has joined a channel. You can now publish or subscribe to a media stream in the channel. If the connection to the channel is lost because, for example, the network is down or switched, the SDK triggers:
onConnectionInterrupted
(deprecated) callback. onConnectionStateChanged
callback, and switches to the CONNECTION_STATE_RECONNECTING
state.
|
static |
4: The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.
onConnectionLost
(deprecated) callback, stays in the CONNECTION_STATE_RECONNECTING
state, and keeps rejoining the channel. onConnectionStateChanged
callback, switches to the CONNECTION_STATE_FAILED
state, and stops rejoining the channel.
|
static |
5: The SDK fails to connect to Agora edge server or join the channel. You must call the leaveChannel
method to leave this state and call the joinChannel
method again to rejoin the channel. If the SDK is banned from joining the channel by the Agora server (through the RESTful API), the SDK triggers the onConnectionBanned
and onConnectionStateChanged
callbacks.
|
static |
0: The SDK is connecting to Agora edge server.
|
static |
1: The SDK has joined the channel successfully.
|
static |
2: The connection between the SDK and Agora edge server is interrupted.
|
static |
3: The connection is banned by the server. This occurs when the server calls the Banning user privileges API to kick the user out of the channel. You can display a pop-up box in the application that says: "The user has been banned from this channel."
|
static |
4: The SDK fails to join the channel. This occurs when the SDK fails to rejoin the channel within 20 minutes after receiving the onConnectionStateChanged(connection_state_reconnecting, connection_changed_interrupted)
callback and stops trying. You can display a pop-up box in the application that says: "Failed to join the channel due to
network issues. Please try to rejoin the channel after switching to a different network."
|
static |
5: The SDK has left the channel.
|
static |
6: The specified App ID is invalid. Check whether the App ID used by the user is the same as the App ID obtained from the Agora Console, and then try to rejoin the channel with a valid App ID.
|
static |
7: The specified channel name is invalid. The channel name cannot be empty nor longer than 64 bytes in length. For supported characters, see the channelName
parameter in joinChannel
. You can display a pop-up box in the application that says: "The channel name is invalid.
Please try to rejoin the channel with a valid channel name."
|
static |
8: The token is invalid, probably due to the following reasons:
joinChannel
. When the App Certificate for a project is enabled, you must use tokens to authenticate users.joinChannel
method is different from the user ID that you pass for generating the token. Check whether the token used by the user is the same as the token generated at your app server, and then try to rejoin the channel with a valid token.
|
static |
9: The token has expired. The user using the expired token is forced to leave the channel. The app client needs to request a new token from the app server and then try to rejoin the channel with the new token.
|
static |
10: The user is banned by the server. This error usually occurs in the following situations:
joinChannel
.startEchoTest
). Once you call startEchoTest
, you need to call stopEchoTest
before joining a channel.
|
static |
11: The SDK tries to reconnect after setting a proxy server.
|
static |
12: The token renews.
|
static |
13: Due to a change of the network type, IP address, or network port, the client IP address has changed, and the SDK tries to reconnect. If this state occurs multiple times, you can display a pop-up box in the application that says: "The network connection is not stable. Please switch to another network."
|
static |
14: Timeout for the keep-alive of the connection between the SDK and Agora edge server. The connection state changes to CONNECTION_STATE_RECONNECTING(4)
.
|
static |
19: Join the same channel from different devices using the same user ID.
|
static |
20: The number of hosts in the channel is already at the upper limit.
|
static |
-1: The network type is unknown.
|
static |
0: The SDK disconnects from the network.
|
static |
1: The network type is LAN.
|
static |
2: The network type is Wi-Fi (including hotspots).
|
static |
3: The network type is mobile 2G.
|
static |
4: The network type is mobile 3G.
|
static |
5: The network type is mobile 4G.
|
static |
6: The network type is mobile 5G.
|
static |
|
static |
|
static |
0: Low quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 1.2 MB.
|
static |
1: (Default) Medium quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 2 MB.
|
static |
2: High quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 3.75 MB.
|
static |
3: Ultra-high quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and a 10-minute recording is approximately 7.5 MB.
|
static |
0: (Default) Records the mixed audio of the local user and all remote users.
|
static |
1: Records the audio of the local user only.
|
static |
2: Records the audio of all remote users only.
|
static |
0: None.
|
static |
1: Audio only.
|
static |
2: Video only.
|
static |
3: Audio and video.
|
static |
4: The maximum number of destination channels.
|
static |
0: No fallback behavior for the local/remote streams when the uplink/downlink network condition is poor. The quality of the stream is not guaranteed.
|
static |
1: Under poor downlink network conditions, the remotely subscribed stream falls back to the low-stream (low-resolution and low-bitrate) video. You can only set this option in the setRemoteSubscribeFallbackOption
method. Nothing happens when you set this in the setLocalPublishFallbackOption
method.
|
static |
2:
|
static |
0: The local video is in the initial state.
|
static |
1: The local video capturer starts successfully.
|
static |
2: The first local video frame encodes successfully.
|
static |
3: The local video fails to start.
|
static |
0: The local video is normal.
|
static |
1: No specified reason for the local video failure.
|
static |
2: The application does not have permission to start the local video capture device. Remind your user to grant permission and rejoin the channel.
|
static |
3: The local video capture device is in use. Remind your user to check whether another application occupies the camera.
|
static |
4: The local video capture failed. Check whether the video capture device is working properly, check whether the camera is occupied by another application, or try to rejoin the channel.
|
static |
5: The local video encoding fails.
|
static |
8: The SDK cannot find the local video capture device. Check whether the camera is connected to the device properly, check whether the camera is working properly, or try to rejoin the channel.
|
static |
0: The local audio is in the initial state.
|
static |
1: The sampling device starts successfully.
|
static |
2: The first local audio frame encodes successfully.
|
static |
3: The local audio fails to start.
|
static |
0: The local audio is normal.
|
static |
1: No specified reason for the local audio error. Remind your user to try to rejoin the channel.
|
static |
2: The application does not have permission to start the local audio capture device. Remind your user to grant permission.
|
static |
3: The local audio capture device is used. Remind your user to check whether another application occupies the microphone. Local audio capture automatically resumes after the microphone is idle for about five seconds. You can also try to rejoin the channel after the microphone is idle.
|
static |
4: The local audio capture failed.
|
static |
5: The local audio encoding fails.
|
static |
8: The local audio capture is interrupted by a system call or alarm clock. Remind your user to end the phone call or alarm clock if the local audio capture is required.
|
static |
0: The remote audio is in the default state, probably due to REMOTE_AUDIO_REASON_LOCAL_DISABLE_AUDIO(3), REMOTE_AUDIO_REASON_REMOTE_MUTED(5), or REMOTE_AUDIO_REASON_REMOTE_OFFLINE(7).
|
static |
1: The first remote audio packet is received.
|
static |
2: The remote audio stream is decoded and plays normally, probably due to REMOTE_AUDIO_REASON_NETWORK_RECOVERY(2), REMOTE_AUDIO_REASON_LOCAL_ENABLE_AUDIO(4), or REMOTE_AUDIO_REASON_REMOTE_UNMUTED(6).
|
static |
3: The remote audio is frozen, probably due to REMOTE_AUDIO_REASON_NETWORK_CONGESTION(1).
|
static |
4: The remote audio fails to start, probably due to REMOTE_AUDIO_REASON_INTERNAL(0).
|
static |
0: Internal reasons.
|
static |
1: The remote user's network is congested. If the network conditions are persistently poor, display a pop-up box in the application that says "The remote user's network conditions are poor".
|
static |
2: The remote user's network conditions are restored from congested to normal. You can display a pop-up box in the application that says "The remote user's network conditions have improved".
|
static |
3: The local user stops receiving the remote audio stream or disables the audio module. You can display a pop-up box in the application that says "You have muted the remote user".
|
static |
4: The local user resumes receiving the remote audio stream or enables the audio module. You can display a pop-up box in the application that says "You have unmuted the remote user".
|
static |
5: The remote user stops sending the audio stream or disables the audio module. You can use an icon in the list of users in the application user interface to show that the remote user is muted and display a pop-up box in the application that says "The remote user has muted themselves".
|
static |
6: The remote user resumes sending the audio stream or enables the audio module. You can use an icon in the list of users in the application user interface to show that the remote user is unmuted and display a pop-up box in the application that says "The remote user has unmuted themselves".
|
static |
7: The remote user leaves the channel. You can remove the remote user from the user list in the application user interface.
|
static |
0: The remote video is in the default state, probably due to REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED(3)
, REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED(5)
, or REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE(7)
.
|
static |
1: The first remote video packet is received.
|
static |
2: The remote video stream is decoded and plays normally, probably due to REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY(2)
, REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED(4)
, REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED(6)
, or REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY(9)
.
|
static |
3: The remote video is frozen, probably due to REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION(1)
or REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK(8)
.
|
static |
4: The remote video fails to start, probably due to REMOTE_VIDEO_STATE_REASON_INTERNAL(0)
.
|
static |
0: Internal reasons.
|
static |
1: The remote user's network is congested. If the network conditions are persistently poor, display a pop-up box in the application that says "The remote user's network conditions are poor".
|
static |
2: The remote user's network conditions are restored from congested to normal. You can display a pop-up box in the application that says "The remote user's network conditions have improved".
|
static |
3: The local user stops receiving the remote video stream or disables the video module. You can close the window to render the remote user's video and display a pop-up box in the application that says "You have stopped receiving video from the remote user".
|
static |
4: The local user resumes receiving the remote video stream or enables the video module. You can restore the window to render the remote user's video and display a pop-up box in the application that says "You have resumed receiving video from the remote user".
|
static |
5: he remote user stops sending the video stream or disables the video module. You can close the window to render the remote user's video, use an icon in the list of users in the application user interface to show that the remote user has stopped sending video, and display a pop-up box in the application that says "The remote user has disabled the camera".
|
static |
6: The remote user resumes sending the video stream or enables the video module. You can restore the window to render the remote user's video, use an icon in the list of users in the application user interface to show that the remote user has resumed sending video, and display a pop-up box in the application that says "The remote user has enabled the camera".
|
static |
7: The remote user leaves the channel. You can close the window to render the remote user's video and remove the remote user from the user list in the application user interface.
|
static |
8: The remote audio-and-video stream falls back to the audio-only stream due to poor network conditions. You can close the window to render the remote user's video and display a pop-up box in the application that says "The remote user's network conditions are poor".
|
static |
9: The remote audio-only stream switches back to the audio-and-video stream after the network conditions improve. You can restore the window to render the remote user's video and display a pop-up box in the application that says "The remote user's network conditions are poor".
|
static |
10: The SDK reports this error code to the local user when a remote user is using the iOS app and the app is in the background. In this case, the local user sees the remote user's video stuck.
|
static |
0: The initial publishing state after joining the channel.
|
static |
1: Fails to publish the local stream. Possible reasons:
muteLocalAudioStream
(true) or muteLocalVideoStream
(true) to stop sending local streams.disableAudio
or disableVideo
to disable the entire audio or video module.enableLocalAudio
(false) or enableLocalVideo
(false) to disable the local audio sampling or video capturing.AUDIENCE
.
|
static |
2: Publishing the local stream.
|
static |
3: Successfully publishes the local stream.
|
static |
0: The initial subscribing state after joining the channel.
|
static |
1: Fails to subscribing to the remote stream. Possible reasons:
muteLocalAudioStream
(true) or muteLocalVideoStream
(true) to stop sending local streams.disableAudio
or disableVideo
to disable the entire audio or video modules.enableLocalAudio
(false) or enableLocalVideo
(false) to disable the local audio sampling or video capturing.AUDIENCE
.muteRemoteAudioStream
(true), muteAllRemoteAudioStreams
(true), or setDefaultMuteAllRemoteAudioStreams
(true) to stop receiving remote audio streams.muteRemoteVideoStream
(true), muteAllRemoteVideoStreams
(true), or setDefaultMuteAllRemoteVideoStreams
(true) to stop receiving remote video streams.
|
static |
2: Subscribing.
|
static |
3: Subscribes to and receives the remote stream successfully.
|
static |
0: Super resolution is successfully enabled.
|
static |
1: The original resolution of the remote video is beyond the range where super resolution can be applied.
|
static |
2: Super resolution is already being used to boost another remote user's video.
|
static |
3: The device does not support using super resolution.
|
static |
4: When the super resolution feature is enabled or is running, the SDK detects that device performance is not qualified. When you receive this reason code, Agora recommends that the user disable super resolution.
|
static |
0: Enables super resolution for the remote user you specify.
|
static |
1: Enables super resolution for the remote user corresponding to the largest rendering window in the channel.
|
static |
0: The RTMP or RTMPS streaming has not started or has ended.
|
static |
1: The SDK is connecting to Agora streaming server and the CDN server. This state is triggered after you call the addPublishStreamUrl
method.
|
static |
2: The RTMP or RTMPS streaming publishes. The SDK successfully publishes the RTMP or RTMPS streaming and returns this state.
|
static |
3: The RTMP or RTMPS streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK attempts to resume RTMP or RTMPS streaming and returns this state.
RTMP_STREAM_PUBLISH_STATE_RUNNING(2)
returns. RTMP_STREAM_PUBLISH_STATE_FAILURE(4)
returns. You can also reconnect to the server by calling the removePublishStreamUrl
and addPublishStreamUrl
methods.
|
static |
4: The RTMP or RTMPS streaming fails. See the errCode
parameter for the detailed error information. You can also call the addPublishStreamUrl
method to publish the RTMP or RTMPS streaming again.
|
static |
5: The SDK is disconnecting from the Agora streaming server and CDN. When you call remove
or stop
to stop the streaming normally, the SDK reports the streaming state as DISCONNECTING
, IDLE
in sequence.
|
static |
0: The RTMP or RTMPS streaming publishes successfully.
|
static |
1: Invalid argument used. If, for example, you do not call the setLiveTranscoding
method to configure the LiveTranscoding parameters before calling the addPublishStreamUrl
method, the SDK returns this error. Check whether you set the parameters in the setLiveTranscoding
method properly.
|
static |
2: The RTMP or RTMPS streaming is encrypted and cannot be published.
|
static |
3: Timeout for the RTMP or RTMPS streaming. Call the ddPublishStreamUrl
method to publish the streaming again.
|
static |
4: An error occurs in Agora streaming server. Call the addPublishStreamUrl
method to publish the streaming again.
|
static |
5: An error occurs in the CDN server.
|
static |
6: Reserved.
|
static |
7: The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones.
|
static |
8: The host manipulates other hosts' URLs. Check your app logic.
|
static |
9: Agora server fails to find the RTMP or RTMPS streaming.
|
static |
10: The format of the CDN streaming URL is not supported. Check whether the URL format is correct.
|
static |
11: The user role is not host, so the user cannot use the CDN live streaming function. Check your application code logic.
|
static |
13: The updateRtmpTranscoding
or setLiveTranscoding
method is called to update the transcoding configuration in a scenario where there is streaming without transcoding. Check your application code logic.
|
static |
14: Errors occurred in the host's network.
|
static |
15: Your App ID does not have permission to use the CDN live streaming function. Refer to Prerequisites to enable the CDN live streaming permission.
|
static |
100: The streaming has been stopped normally. After you call removePublishStreamUrl
to stop streaming, the SDK returns this value.
|
static |
0: The state is normal.
|
static |
1: An error occurs in the server response.
|
static |
2: No server response. This error can also occur if the channel media relay service is not enabled in the project. You can contact technical support to enable the service.
You can call the leaveChannel method to leave the channel.
|
static |
3: The SDK fails to access the service, probably due to limited resources of the server.
|
static |
4: Fails to send the relay request.
|
static |
5: Fails to accept the relay request.
|
static |
6: The server fails to receive the media stream.
|
static |
7: The server fails to send the media stream.
|
static |
8: The SDK disconnects from the server due to poor network connections. You can call the leaveChannel method to leave the channel.
|
static |
9: An internal error occurs in the server.
|
static |
10: The token of the source channel has expired.
|
static |
11: The token of the destination channel has expired.
|
static |
0: The user disconnects from the server due to poor network connections.
|
static |
1: The network reconnects.
|
static |
2: The user joins the source channel.
|
static |
3: The user joins the destination channel.
|
static |
4: The SDK starts relaying the media stream to the destination channel.
|
static |
5: The server receives the video stream from the source channel.
|
static |
6: The server receives the audio stream from the source channel.
|
static |
7: The destination channel is updated.
|
static |
8: The destination channel update fails due to internal reasons.
|
static |
9: The destination channel does not change, which means that the destination channel fails to be updated.
|
static |
10: The destination channel name is NULL.
|
static |
11: The video profile is sent to the server.
|
static |
12: The SDK successfully pauses relaying the media stream to destination channels.
|
static |
13: The SDK fails to pause relaying the media stream to destination channels.
|
static |
14: The SDK successfully resumes relaying the media stream to destination channels.
|
static |
15: The SDK fails to resume relaying the media stream to destination channels.
|
static |
0: The initial state. After you successfully stop the channel media relay by calling stopChannelMediaRelay
, the onChannelMediaRelayStateChanged
callback returns this state.
|
static |
1: The SDK tries to relay the media stream to the destination channel.
|
static |
2: The SDK successfully relays the media stream to the destination channel.
|
static |
3: A failure occurs.
|
static |
0: The virtual background is successfully enabled.
|
static |
1: The custom background image does not exist. Please check the value of source in VirtualBackgroundSource
.
|
static |
2: The color format of the custom background image is invalid. Please check the value of color in VirtualBackgroundSource
.
|
static |
3: The device does not support using the virtual background.
|
static |
4: When the virtual background feature is enabled or is running, the SDK detects that device performance is not qualified. When you receive this reason code, Agora recommends that the user disable virtual background.
|
static |
Snaptshot has been taken successfully .
|
static |
Open the file path failed.
|
static |
No stream captured.
|
static |
0: Default
|
static |
1: COCOS
|
static |
2: UNITY
|
static |
3: ELECTRON
|
static |
4: FLUTTER
|
static |
5: UNREAL
|
static |
6: XAMARIN
|
static |
7: APICLOUD
|
static |
0: The automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TLS 443 if the attempt fails. As of v3.6.2, the SDK has this mode enabled by default.
|
static |
1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.
|
static |
2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TLS 443.
|
static |
0: Reserved for future use.
|
static |
1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.
|
static |
2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TLS 443.
|
static |
3: Reserved for future use.
|
static |
4: The automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TLS 443 if the attempt fails.
|
static |
0: Successfully get the information of an audio file.
|
static |
1: Fail to get the information of an audio file.
|
static |
0: connectivity first
|
static |
1: local only
|
static |
1: The number of hosts in the channel is already at the upper limit.
|
static |
2: The request is rejected by the Agora server. Agora recommends you prompt the user to try to switch their user role again.
|
static |
3: The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again.
|
static |
4: The SDK connection fails. You can use reason reported in the onConnectionStateChanged
callback to troubleshoot the failure.
|
static |
16: The user refuses to grant screen capture permission to the application.
|
static |
2: Due to system limitations, screen capture is not available on systems earlier than Android 5 (that is, Android API level 21). The SDK reports this error code when you call startScreenCapture
on systems earlier than Android 5.
|
static |
3: Due to system limitations, system audio cannot be captured on systems earlier than Android 10 (that is, API level 29). The SDK reports this error when you call startScreenCapture
and set captureAudio
as true
on systems later than Android 5 (API level 21) and earlier than Android 10 (API level 29).