Conference endpoint
QBRTCConfig class introduces new setting for Conference - conference endpoint. To set a specific conference endpoint use the following method:
- Swift
- Objective-C
The endpoint should be a correct QuickBlox Conference server endpoint.
nil.
- Swift
- Objective-C
Conference client
The conference module has its own client. Conference client delegate Conference client delegate is inherited from base client delegate and has all of its protocol methods implemented as well. Base client delegate protocol methods All protocol methods below have their own explanation inlined and are optional.- Swift
- Objective-C
- Swift
- Objective-C
QBRTCConferenceClient is a singleton-based class that is used to create and operate with conference sessions. It has an observer (delegates) manager which can be activated/deactivated with two simple methods:
- Swift
- Objective-C
QBRTCConferenceClientDelegate protocol, which is inherited from the base client delegate. In order to create a new conference session, use the method below:
- Swift
- Objective-C
didCreateNewSession() callback in QBRTCConferenceClientDelegate protocol, where the session ID will be assigned and the session will receive its QBRTCSessionStateNew state. After that, you can join or leave it. The conference session is explained below.
Conference session
QBRTCConferenceSession is inherited from the base session class and has all of its basics such as state, currentUserID, localMediaStream as well as the ability to get remote audio and video tracks for specific user IDs.
- Swift
- Objective-C
- Swift
- Objective-C
QBRTCBaseSession class for more inline documentation. As for conference-specific methods, the conference session ID is NSNumber. Each conference session is tied to a specific QuickBlox dialog ID (NSString).
Join video room
AQBRTCConferenceSession also has a publishers list property. But the publishers list will be only valid if you call joinAsPublisher() method allowing to join the session as a publisher using method below.
- Swift
- Objective-C
joinAsPublisher() can be used only when the session has a valid session ID, for example, is created on the server and notified to you with didCreateNewSession() callback from QBRTCConferenceClientDelegate protocol.Subscribe/Unsubscribe
You can subscribe and unsubscribe from publishers using the methods below.You do not need to be joined as a publisher in order to perform subscription-based operations in the session.
- Swift
- Objective-C
These methods can also be used only when the session has a valid session ID, for example, is created on the server and is notified to you with
didCreateNewSession() callback from QBRTCConferenceClientDelegate protocol.Mute local audio
Mute the audio by calling thelocalMediaStream.audioTrack.enabled() method. Using this method, we can tell SDK to send/not send audio data from a local peer in the specified WebRTC session.
- Swift
- Objective-C
Mute remote audio
You can always get remote audio tracks for a specific user ID in the call using the above-specifiedQBRTCSession methods (assuming that they are existent). You can also mute remote media tracks on your side by changing the value of enabled property for a specific remote media track.
- Swift
- Objective-C
Disable local video
Turn off the video by callinglocalVideoTrack.setEnabled(). Using this method, we can tell SDK not to send video data from a local peer in the specified session.
- Swift
- Objective-C
Disable remote video
Turn off the video by callinglocalVideoTrack.setEnabled(). Using this method, we can tell SDK not to send video data from a remote peer in the specified session.
- Swift
- Objective-C
Leave video room
To leave the session, you can perform theleave() method.
- Swift
- Objective-C
This method can be called in any state of the session and will always close it no matter what.
Camera resolution
It’s possible to set custom video resolution usingQBRTCVideoFormat.
- Swift
- Objective-C
You can also get a list of available resolution formats using
formats(with:) method and set a needed one from the list.
- Swift
- Objective-C