During this journey you have learnt the basics about how to create a basic video conferencing application. You have seen how to enter a conference that is protected by a PIN and mute the microphone and camera. In the last part of the tutorial you even have seen how to receive a presentation and to share the user's screen.
Now it's your turn to implement some new features.
By building with PexRTC you can add a lot of features to expand your app. Here are some ideas that you could use:
- Conference chat: You could create a group chat for all the members of the conference. You could implement this feature easily with the sendChatMessage and onChatMessage
- Private chat: In case you want to support opening a chat with a single participant, you could do this by specifying the uuid in sendChatMessage and using onDirectMessage.
- Participant list: It's very useful to have a list of all the participants that are connected to a conference and even have some buttons to act upon them. For example, you could expel a participant from the conference, mute them or transfer them to another conference. To populate this list, you would make use of the onParticipantCreate, onParticipantUpdate and onParticipantUpdate.
- Lock the conference: If a conference allows guests, they are connected automatically once the conference started. However, you may wish to prevent new users joining the conference once it started. You can do that by using setConferenceLock and if you want to allow a user to enter a locked conference, you could use unlockParticipant.
- Change the layout: Normally the layout is predefined in each conference configuration in the Infinity Management Node, but a host user could have the capability of changing the layout during a meeting. For that you could use transformLayout and onLayoutUpdate. If the host changes the layout, it will be changed for all the participants.
- Spotlight a user: In some situations the host user may want to give focus to another participant, even if they aren't talking at that moment. This could be done with setParticipantSpotlight.
- Raise hand: A common feature in conferencing applications is to allow the possibility to raise your hand to let the other participants know that you want to speak. If you want to implement this feature, you will need to use setBuzz, clearBuzz and clearAllBuzz. These changes will be visible in the onParticipantUpdate event.
- Whiteboard: If screen sharing is not enough, you could implement a whiteboard in which all the participants could draw at the same time . Once a drawing is made, the information should be shared with the rest of the participants through sendApplicationMessage and received through onApplicationMessage.
- Send DTMF digits: When you call into a third party conferencing system or via a gateway to a telephone support number, you are sometimes greeted by an automated IVR menu announcement saying something like "Press 1 for sales, Press 2 for support". You could implement a feature to allow interaction with such systems using sendDTMF.
- Send FECC: Some cameras support Far End Camera Control. A meeting host could send commands to move a camera or to zoom. This feature can be implemented with sendFECC and onFECC.