Updated on 2023-11-01 GMT+08:00

Main Functions

SparkRTC provides basic room functions and cross-room functions. Figure 1 shows the main function framework of each platform.

Note: Only general functions are displayed in Figure 1. For details about respective functions, see the SDK guide of each platform.

Figure 1 Functional framework
Table 1 Function description

Category

Function

Description

Basic

Basic functions

Creates and destroys the RTC engine and specifies the location for storing logs.

Room functions

Joins/Leaves a room, sets the user role, and creates a cross-room engine.

Audio management

Collects/Sends local audio streams, enables/disables remote audio stream receiving, adjusts the recording/playback volume, and sets the remote audio mode.

Video management

Creates a local/remote view and configures related parameters, and specifies whether to receive remote video streams, mirrors, and cameras.

Screen sharing

Enables/Disables presentation subscriptions, and sets the presentation rendering mode and rotation.

Audio file and clip management

Starts/Stops/Pauses/Resumes the playback of audio files or audio clips, and adjusts the volume.

Detection

Enables/Disables network detection before a user joins a meeting.

Customized audio capture and rendering

Enables/Disables customized audio capture and external audio data pushes.

Customized video capture and rendering

Enables/Disables customized video capture, external video data pushes, and customized video stream rendering.

Device management

Switches cameras and sets the audio output device.

Cross-room

Co-hosting across rooms refers to the scenario where the media stream of a live streamer is relayed to multiple room channels at the same time, implementing real-time communication between the live streamers. All the streamers can see each other in their rooms, and the audience in the rooms can see all the streamers. A maximum of four rooms can be connected at the same time. The ID of each room must be unique. Only one joiner can join a room at a time. If the local user is a joiner in another room, the user needs to change to a joiner from a player before joining that room. The user who joins other rooms as a player can receive streams but cannot send streams; joining rooms as a joiner allow both functions.