The HTTP/HTTPS URL address to be added to the ongoing live broadcast. Valid protocols are RTMP, HLS, and FLV.
The InjectStreamConfig object which contains the configuration information for the added voice or video stream.
The CDN streaming URL in the RTMP format. The maximum length of this parameter is 1024 bytes.
Sets whether transcoding is enabled/disabled:
The User ID.
Audio mixing volume for local playback. The value ranges between 0 and 100 (default). 100 is the original volume.
Audio mixing volume for publishing. The value ranges between 0 and 100 (default). 100 is the original volume.
Audio mixing volume. The value ranges between 0 and 100 (default). 100 is the original volume.
Playback volume. The value ranges between 0 and 400:
Recording volume. The value ranges between 0 and 400:
Call ID retrieved from the getCallId method.
(Optional) Pointer to the description of the complaint, with a string length of less than 800 bytes.
Sets whether or not the recipients are guaranteed to receive the data stream from the sender within five seconds:
Sets whether or not the recipients receive the data stream in the sent order:
Key for the map that store the renderers, e.g, uid
or videosource
or local
.
The error callback for the destroyRenderer
method.
Sets the time interval between two consecutive volume indications:
0: Time interval (ms) between two consecutive volume indications. We recommend setting interval ≥ 200 ms.
The smoothing factor sets the sensitivity of the audio volume indicator. The value ranges between 0 and 10. The greater the value, the more sensitive the indicator. The recommended value is 3.
Sets the stream mode:
Sets whether to disable/re-enable the local audio function:
Sets whether to disable/re-enable the local video, including the capturer, renderer, and sender:
Sets whether or not to enable stereo panning for remote users:
Sets whether to enable/disable interoperability with the Agora Web SDK:
muted/unmuted
The array of the audio playback device.
The audio playback device volume.
Whether to mute/unmute the audio playback device:
The array of the audio recording device.
The microphone volume. The volume value ranges between 0 (lowest volume) and 255 (highest volume).
The current call ID.
Connect states. See ConnectionState.
The current audio playback device.
The audio recording device.
The video device.
The error code.
The error description.
The device ID of the audio playback device.
The device name of the audio playback device.
The device ID of the recording audio device.
The device name of the recording audio device.
The array list of the display ID and relevant information.
The array list of the window ID and relevant information.
The user ID. Ensure that you set this parameter.
Error code.
A UserInfo object that identifies the user:
The user account. Ensure that you set this parameter.
Error code.
A UserInfo object that identifies the user:
The version of the current SDK.
The array of the video devices.
Key for the map that store the renderers, e.g, uid or videosource
or local
.
The Dom elements to render the video.
The App ID issued to you by Agora.
token The token generated at your server:
(Required) Pointer to the unique channel name for the Agora RTC session in the string format smaller than 64 bytes. Supported characters:
(Optional) Pointer to additional information about the channel. This parameter can be set to NULL or contain channel related information. Other users in the channel will not receive this message.
The User ID. A 32-bit unsigned integer with a value ranging from 1 to 232-1. The uid
must be unique. If a uid
is not assigned (or set to 0),
the SDK assigns a uid
.
The token generated at your server.
The channel name. The maximum length of this parameter is 64 bytes. Supported character scopes are:
The user account. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Supported character scopes are:
Sets whether to receive/stop receiving all remote audio streams:
Sets whether to receive/stop receiving all remote video streams:
Sets whether to send/stop sending the local audio stream:
Sets whether to send/stop sending the local video stream:
ID of the specified remote user.
Sets whether to receive/stop receiving the specified remote user's audio stream:
User ID of the specified remote user.
Sets whether to receive/stop receiving a specified remote user's video stream:
Occurs when an API method is executed.
Reports a warning during SDK runtime.
Reports an error during SDK runtime.
Occurs when a user joins a specified channel.
Occurs when a user rejoins the channel after disconnection due to network problems. When a user loses connection with the server because of network problems, the SDK automatically tries to reconnect and triggers this callback upon reconnection.
Reports which users are speaking and the speakers' volume.
Occurs when the user leaves the channel. When the app calls the leaveChannel method, the SDK uses this callback to notify the app when the user leaves the channel.
Reports the statistics of the AgoraRtcEngine once every two seconds.
Reports the statistics of the local video streams.
Reports the statistics of the video stream from each remote user/host.
Reports the statistics of the audio stream from each remote user/host.
Reports the transport-layer statistics of each remote video stream. This callback reports the transport-layer statistics, such as the packet loss rate and time delay, once every two seconds after the local user receives the video packet from a remote user.
Reports the transport-layer statistics of each remote audio stream.
Occurs when the audio device state changes.
Occurs when the state of the local user's audio mixing file changes.
Occurs when a remote user starts audio mixing. When a remote user calls startAudioMixing to play the background music, the SDK reports this callback.
Occurs when a remote user finishes audio mixing.
Occurs when the local audio effect playback finishes.
Occurs when the video device state changes.
Reports the last mile network quality of each user in the channel once every two seconds. Last mile refers to the connection between the local device and Agora's edge server.
Reports the last mile network quality of the local user once every two seconds before the user joins the channel.
Last mile refers to the connection between the local device and Agora's edge server. After the application calls the enableLastmileTest method, this callback reports once every two seconds the uplink and downlink last mile network conditions of the local user before the user joins the channel.
Reports the last-mile network probe result.
The SDK triggers this callback within 30 seconds after the app calls the startLastmileProbeTest method.
Occurs when the engine receives and renders the first local video frame on the video window.
Occurs when the first remote video frame is received and decoded.
Occurs when the video size or rotation of a specified user changes.
Occurs when the first remote video frame is rendered. The SDK triggers this callback when the first frame of the remote video is displayed in the user's video window.
Occurs when a user or host joins the channel.
The SDK triggers this callback under one of the following circumstances:
Note: In the Live-broadcast profile:
Occurs when a remote user leaves the channel.
Occurs when a remote user's audio stream is muted/unmuted.
The SDK triggers this callback when the remote user stops or resumes sending the audio stream by calling the muteLocalAudioStream method.
Occurs when a remote user's video stream playback pauses/resumes.
The SDK triggers this callback when the remote user stops or resumes sending the video stream by calling the muteLocalVideoStream method.
Note: This callback returns invalid when the number of users in a channel exceeds 20.
Occurs when a specific remote user enables/disables the video module.
The SDK triggers this callback when the remote user enables or disables the video module by calling the enableVideo or disableVideo method.
Occurs when a specified remote user enables/disables the local video capturing function.
The SDK triggers this callback when the remote user resumes or stops capturing the video stream by calling the enableLocalVideo method.
Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted. The SDK triggers this callback when it cannot connect to the server 10 seconds after calling the joinChannel method, whether or not it is in the channel.
Occurs when the local user receives the data stream from the remote user within five seconds.
The SDK triggers this callback when the local user receives the stream message that the remote user sends by calling the sendStreamMessage method.
Occurs when the local user does not receive the data stream from the remote user within five seconds. The SDK triggers this callback when the local user fails to receive the stream message that the remote user sends by calling the sendStreamMessage method.
Occurs when the media engine call starts.
Occurs when the token expires. After a token is specified by calling the joinChannel method, if the SDK losses connection with the Agora server due to network issues, the token may expire after a certain period of time and a new token may be required to reconnect to the server.
This callback notifies the application to generate a new token. Call the renewToken method to renew the token
Occurs when the engine sends the first local audio frame.
Occurs when the engine receives the first audio frame from a specific remote user.
Occurs when the engine receives the first audio frame from a specified remote user.
Reports which user is the loudest speaker.
Note:
Occurs when the user role switches in a live broadcast. For example, from a host to an audience or vice versa.
This callback notifies the application of a user role switch when the application calls the setClientRole method.
Occurs when the volume of the playback device, microphone, or application changes.
Occurs when the user for sharing screen joined the channel.
Occurs when the token expires.
Occurs when the user for sharing screen leaved the channel.
Occurs when the remote video state changes.
Occurs when the camera focus area changes.
Occurs when the camera exposure area changes.
Occurs when the token expires in 30 seconds.
The user becomes offline if the token used in the joinChannel method expires. The SDK triggers this callback 30 seconds before the token expires to remind the application to get a new token. Upon receiving this callback, generate a new token on the server and call the renewToken method to pass the new token to the SDK.
Reports the result of CDN live streaming.
This callback indicates whether you have successfully removed an RTMP stream from the CDN.
Reports the result of calling the removePublishStreamUrl method.
Occurs when the publisher's transcoding is updated.
Occurs when a voice or video stream URL address is added to a live broadcast.
Occurs when the locally published media stream falls back to an audio-only stream due to poor network conditions or switches back to the video after the network conditions improve.
If you call setLocalPublishFallbackOption and set option as AUDIO_ONLY(2), the SDK triggers this callback when the locally published stream falls back to audio-only mode due to poor uplink conditions, or when the audio stream switches back to the video after the uplink network condition improves.
Occurs when the remotely subscribed media stream falls back to audio-only due to poor network conditions or switches back to the video after the network conditions improve.
If you call setRemoteSubscribeFallbackOption and set option as AUDIO_ONLY(2), the SDK triggers this callback when the remotely subscribed media stream falls back to audio-only mode due to poor uplink conditions, or when the remotely subscribed media stream switches back to the video after the uplink network condition improves.
Occurs when the microphone is enabled/disabled.
Occurs when the connection state between the SDK and the server changes.
Occurs when the local user successfully registers a user account by calling the registerLocalUserAccount method. This callback reports the user ID and user account of the local user.
Occurs when the SDK gets the user ID and user account of the remote user.
After a remote user joins the channel, the SDK gets the UID and user account of the remote user, caches them in a mapping table object (UserInfo), and triggers this callback on the local client.
Occurs when the local video state changes.
ID of the audio effect. Each audio effect has a unique ID.
ID of the specified audio effect. Each audio effect has a unique ID.
The absolute path to the local audio effect file or the URL of the online audio effect file.
Sets the number of times the audio effect loops:
Sets the pitch of the audio effect. The value ranges between 0.5 and 2. The default value is 1 (no change to the pitch). The lower the value, the lower the pitch.
Sets the spatial position of the audio effect. The value ranges between -1.0 and 1.0:
Sets the volume of the audio effect. The value ranges between 0.0 and 100.0 (default). The lower the value, the lower the volume of the audio effect.
Sets whether or not to publish the specified audio effect to the remote stream:
ID of the audio effect. Each audio effect has a unique ID.
The absolute path of the audio effect file.
Pointer to the ID of the call, retrieved from the getCallId method.
Rating of the call. The value is between 1 (lowest score) and 5 (highest score).
(Optional) Pointer to the description of the rating, with a string length of less than 800 bytes.
The App ID of your project.
The user account. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as null. Ensure that you set this parameter and do not set it as null. Supported character scopes are:
HTTP/HTTPS URL address of the added stream to be removed.
The RTMP URL address to be removed. The maximum length of this parameter is 1024 bytes.
The User ID.
The new token.
Key for the map that store the renderers, e.g, uid
or videosource
or local
.
sound id
ID of the sent data stream, returned in the createDataStream method.
Data to be sent.
The playback starting position (ms) of the music file.
The device ID of the audio playback device.
Sets whether to mute/unmute the audio playback device:
Sets the volume of the audio playback device. The value ranges between 0 (lowest volume) and 255 (highest volume).
Sets the sample rate, bitrate, encoding mode, and the number of channels:
Sets the audio application scenarios:
The device ID of the audio recording device.
Sets whether to mute/unmute the audio playback device:
Sets the volume of the microphone. The value ranges between 0 (lowest volume) and 255 (highest volume).
Sets whether or not to enable image enhancement:
The image enhancement options. It contains the following parameters:
The lightening contrast level: 0 for low, 1 (default) for normal, and 2 for high.
The brightness level. The value ranges from 0.0 (original) to 1.0.
The redness level. The value ranges between 0 (original) and 1. This parameter adjusts the red saturation level.
The sharpness level. The value ranges between 0 (original) and 1. This parameter is usually used to remove blemishes.
The camera capturer configuration. See CameraCapturerConfiguration.
The channel profile:
The client role:
Use this method to set custom Renderer when set renderMode in the setRenderMode method to 3. CustomRender should be a class.
Customizes the video renderer.
Sets whether or not to receive/stop receiving all remote audio streams by default:
Sets whether to receive/stop receiving all remote video streams by default:
Sets the volume of the audio effects. The value ranges between 0 and 100 (default).
Sets the encryption mode:
Encryption Password
Sets whether to enable/disable the external audio sink:
Sets the sample rate of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
Sets the number of external audio source channels (two channels maximum).
Sets whether to enable/disable full-band codec (48-kHz sample rate).
Sets whether to enable/disable stereo codec.
Sets whether to enable/disable high-bitrate mode.
Sets the volume of the in-ear monitor. The value ranges between 0 and 100 (default).
Sets the CDN live audio/video transcoding settings.
Sets the fallback option for the locally published video stream.
Sets the local video mirror mode:
The local voice changer option. See VoiceChangerPreset.
Sets the band frequency. The value ranges between 0 and 9, representing the respective 10-band center frequencies of the voice effects including 31, 62, 125, 500, 1k, 2k, 4k, 8k, and 16k Hz.
Sets the gain of each band in dB. The value ranges between -15 and 15.
The value ranges between 0.5 and 2.0. The lower the value, the lower the voice pitch. The default value is 1.0 (no change to the local voice pitch).
Sets the audio reverberation key.
Sets the value of the reverberation key.
The local voice reverberation preset. See AudioReverbPreset.
File path of the log file. The string of the log file is in UTF-8.
The SDK log file size (KB).
Sets the filter level:
Sets the sample rate (samplesPerSec
) returned, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
Sets the sample points (samples
) returned. samplesPerCall
is usually set as 1024 for stream pushing.
samplesPerCall = (int)(samplesPerSec × sampleInterval × numChannels), where sampleInterval ≥ 0.01 in seconds.
Sets the sample rate (samplesPerSec
) returned, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.
Sets the number of audio channels (channels
) returned:
Sets the use mode:
Sets the sample points (samples
) returned. samplesPerCall
is usually set as 1024 for stream pushing.
samplesPerCall = (int)(samplesPerSec × sampleInterval × numChannels), where sampleInterval ≥ 0.01 in seconds.
Sets the sample rate (samplesPerSec
) returned, which can set be as 8000, 16000, 32000, 44100 or 48000 Hz.
Sets the number of audio channels (channels
) returned:
Sets the use mode:
Sets the sample points (samples
) returned. samplesPerCall
is usually set as 1024 for stream pushing.
samplesPerCall = (int)(samplesPerSec × sampleInterval × numChannels), where sampleInterval ≥ 0.01 in seconds.
Sets the video stream type:
Sets the fallback option for the remotely subscribed stream.
ID of the remote user sending the video stream.
Sets the video stream type:
The ID of the remote user.
The sound position of the remote user. The value ranges from -1.0 to 1.0:
Gain of the remote user. The value ranges from 0.0 to 100.0. The default value is 100.0 (the original gain of the remote user). The smaller the value, the less the gain.
Decide whether to use webgl/software/custom rendering.
The device Id.
The local video encoder configuration. See VideoEncoderConfiguration.
The video profile. See VIDEO_PROFILE_TYPE.
Sets the video quality preference:
The renderer type:
The user ID of the targeted user.
The target width.
The target height.
The renderer frame rate (fps).
The renderer high frame rate (fps).
ID of the audio effect. Each audio effect has a unique ID.
Sets the volume of the specified audio effect. The value ranges between 0.0 and 100.0 (default).
The Dom element where you initialize your view.
The dom element where video source should be displayed.
The user ID for operating streams.
The view content mode:
The time interval (ms).
Specifies the absolute path of the local or online audio file to be mixed. Supported audio formats: mp3, aac, m4a, 3gp, and wav.
Sets which user can hear the audio mixing:
Sets the audio mixing content:
Sets the number of playback loops:
The path of the audio file for the audio playback device test in UTF-8:
The interval period (ms).
The time interval (s) between when you speak and when the recording plays back.
The configurations of the last-mile network probe test. See LastmileProbeConfig.
(Mandatory) The captured frame rate. The value ranges between 1 fps and 15 fps.
Specifies the screen sharing region. rect
is valid when wndid
is set as 0. When rect
is set as NULL, the whole screen is shared.
The captured bitrate.
(Mandatory) The captured frame rate. The value ranges between 1 fps and 15 fps.
Specifies the video source region. rect
is valid when wndid
is set as 0. When rect
is set as NULL, the whole screen is shared.
The captured bitrate.
ID of the audio effect to stop playing. Each audio effect has a unique ID.
The user ID of the remote user.
The Dom where to initialize the renderer.
ID of the audio effect. Each audio effect has a unique ID.
(relative distance from the left-top corner of the screen)
Whether or not to enable the dual-stream mode:
Set whether or not to enable the web interoperability of the video source.
The app ID issued to you by Agora.
The token generated at your server:
(Required) Pointer to the unique channel name for the Agora RTC session in the string format smaller than 64 bytes. Supported characters:
Pointer to additional information about the channel. This parameter can be set to NULL or contain channel related information. Other users in the channel will not receive this message.
The User ID.
The new token.
Sets the channel profile:
filepath of log. The string of the log file is in UTF-8.
Sets the video source encoding parameters.
Sets the content hint for the video source.
The video profile. See VIDEO_PROFILE_TYPE.
The display ID:
Sets the relative location of the region to the screen.
Sets the video source encoding parameters.
The ID of the window to be shared.
The ID of the window to be shared.
Sets the video source encoding parameters.
Sets the video source encoding parameters.
(relative distance from the left-top corner of the screen)
The AgoraRtcEngine class. The AgoraRtcEngine interface.