This section describes how to implement the basic features of a virtual host scenario.
Refer to the flowcharts for the following functions:
Product | SDK downloads | Integration guide |
---|---|---|
Agora RTC (Real-time Communication) SDK | Agora SDK for Android | Start a Video Broadcast |
Agora RTM (Real-time Messaging) SDK | Real-time messaging SDK | Peer-to-peer or Channel Messaging |
Third-party Animoji Enhancement SDK | N/A | Refer to the integration guide of the third-party Animoji SDK. |
The following diagrams show the core APIs that the Agora Live Demo app uses to implement a multi-hosted interactive streaming scenario. Refer to them to implement the various functions in your project.
API | Function |
---|---|
createInstance | Creates an RTM Client object. |
login | Logs into the Agora RTM system. |
createChannel | Creates an Agora RTM channel. |
join | Joins the RTM channel. |
sendMessage | Sends a channel message, which can be received by all users in the channel. |
sendMessageToPeer | Sends a peer message. The host uses this method to send a co-hosting invitation to an audience member; an audience member uses this method to send a co-hosting application to the host. |
onMessageReceived | Occurs when receiving a peer-to-peer message. |
leave | Leaves the RTM channel. |
logout | Logs out of the Agora RTM system. |
API | Function |
---|---|
create | Creates an RtcEngine object. |
setChannelProfile | Sets the channel profile. In multi-hosted interactive streaming, the channel profile is set as BROADCASTING . |
setClientRole | Sets the user role in interactive streaming. In multi-hosted interactive streaming, use this method to switch a user between a co-host and an audience member. |
enableVideo | Enables video. |
setupLocalVideo | Sets the local video view. Call this method on the clients of the host and co-hosts to enable the host and co-hosts to see their own video view. |
joinChannel | Joins the RTC channel. |
setupRemoteVideo | Sets the remote video view. Call this method on the clients of the host and co-hosts to enable the audience to see the video view of the host and co-hosts. |
leaveChannel | Leaves the channel. |
setVideoSource | Customizes the video source. |
consumeTextureFrame | Receives the video frame in texture. |
startPreview | Starts the local video preview before joining a channel. |
Network quality detection
Use the onRtcStats
callback to detect and report the network quality in real-time. Triggered once every two seconds during a live broadcast, this callback reports statistics, including the sending and receiving bitrate and packet loss rate.
In-ear monitoring
Call enableInEarMonitoring
to enable the in-ear monitor function on the host's client.
Audio mixing
After joining the channel, call startAudioMixing
on the host's client to play background music.
Agora provides an open-source sample project for Virtual Host on GitHub for you to download as a source code reference.