Use isSupportVirtualBG in MobileRTCMeetingService to determine if the device supports virtual backgrounds, then use MobileRTCMeetingService to enable them. You can also check if the smart virtual backgrounds - virtual backgrounds with green screens - are supported.
Kotlin
Java
val virtualBackgroundController = ZoomSDK.getInstance().inMeetingService.inMeetingVirtualBackgroundController
if (virtualBackgroundController.isSupportVirtualBG) {
// Virtual background is supported
if (virtualBackgroundController.isDeviceSupportSmartVirtualBG) {
// Smart virtual background is supported
}
}
InMeetingVirtualBackgroundController virtualBackgroundController = ZoomSDK.getInstance().getInMeetingService().getInMeetingVirtualBackgroundController();
if (virtualBackgroundController.isSupportVirtualBG()) {
// Virtual background is supported
if (virtualBackgroundController.isDeviceSupportSmartVirtualBG()) {
// Smart virtual background is supported
}
}
If the device supports virtual backgrounds, use meetingService to list, add, remove, and set virtual backgrounds.
Kotlin
Java
/*
To list available virtual background.
This list will contained a NONE, BLUR or Item (self added) virtual background type.
The MobileRTCVirtualBGImageInfo has a isSelect property to indicate if the current virtual background is selected.
*/
val listOfVirtualBG = virtualBackgroundController.bgImageList
// To add virtual background to list, first check if have permission to add
if (virtualBackgroundController.isAllowToAddNewVBItem) {
val error = virtualBackgroundController.addBGImage(Bitmap!)
}
/*
To remove a specific virtual background from the list.
Note: You cannot remove NONE and BLUR type.
*/
virtualBackgroundController.removeBGImage(IVirtualBGImageInfo)
// To set a specific virtual background
virtualBackgroundController.useBGImage(IVirtualBGImageInfo)
/*
To list available virtual background.
This list will contained a NONE, BLUR or Item (self added) virtual background type.
The MobileRTCVirtualBGImageInfo has a isSelect property to indicate if the current virtual background is selected.
*/
List<IVirtualBGImageInfo> listOfVirtualBG = virtualBackgroundController.getBGImageList();
// To add virtual background to list, first check if have permission to add
if (virtualBackgroundController.isAllowToAddNewVBItem()) {
MobileRTCSDKError error = virtualBackgroundController.addBGImage(Bitmap);
}
/*
To remove a specific virtual background from the list.
Note: You cannot remove NONE and BLUR type.
*/
virtualBackgroundController.removeBGImage(IVirtualBGImageInfo);
// To set a specific virtual background
virtualBackgroundController.useBGImage(IVirtualBGImageInfo);
Users can preview the virtual backgrounds. For more information, refer to Render user video on how to add a preview for the local user.