API Configurations Before Joining a Channel
This article describes possible API calls and configurations before joining a channel. Usually, you can quickly implement real-time communications by calling one or two APIs, but if your scenarios require high quality and stability, refer to the additional configurations here.
Log file configurations
For easier debugging and to ensure that the log files contain complete log information, Agora recommends configuring the log files when initializing the Agora service. See How can I set the log file for details.
Audio configurations
If your scenarios require high-fidelity audio, call setAudioProfile
before joining a channel, and set profile
as MUSIC_HIGH_QUALITY
(4) and scenario
as GAME_STREAMING
(3). See Basic Features > Audio Profiles for more configurations.
Video configurations
The SDK disables the video function by default. To enable video, call enableVideo
before joining a channel.
Calling enableVideo
enables capturing, encoding, sending the local video, and receiving the remote video. Agora recommends using the following methods for more precise control:
enableLocalVideo
: Enables/Disables the local video capture.muteLocalVideoStream
: Stops/Resumes sending the local video stream.muteRemoteVideoStream
: Stops/Resumes receiving a specified remote video stream.muteAllRemoteVideoStreams
: Stops/Resumes receiving all remote video streams.
- To enable the local video capture, call either
enableLocalVideo
orenableVideo
before joining a channel. Avoid calling bothenableLocalVideo
andenableVideo
before joining a channel. This action turns the camera on twice, and it takes longer to join the channel. - Because the call of
enableVideo
resets the entire video module, Agora recommends you use the above four APIs to control different phases of video processing.
Calling startPreview
before joining a channel reduces the render time of the first video frame. If you have called startPreview
, ensure that you call stopPreview
before destroy
.
Interoperability with the Web SDK
If you are using Native SDKs earlier than v3.0.0 in interactive live streaming scenario, and your scenario involves the Video SDK for Web, ensure that you call enableWebSdkInteroperability
before joining a channel.