Original publication date: November 16, 2022
Added
-
New interface to control waiting room configuration for the customized user interface.
-
New interface class named
ZoomSDKCustomWaitingRoomData
defined inZoomSDKWaitingRoomController.h
@property (copy, nonatomic, readonly) NSString* title; @property (copy, nonatomic, readonly) NSString* dataDescription; @property (copy, nonatomic, readonly) NSString* logoPath; @property (copy, nonatomic, readonly) NSString* videoPath; @property (assign, nonatomic, readonly) ZoomSDKWaitingRoomLayoutType type; @property (assign, nonatomic, readonly) ZoomSDKCustomWaitingRoomDataStatus status;
-
New interface class named
ZoomSDKWaitingRoomDataDownloadHandler
defined inZoomSDKWaitingRoomController.h
-(void)retry; -(void)ignore;
-
New callback in
ZoomSDKWaitingRoomDelegate
-(void)onCustomWaitingRoomDataUpdated:(ZoomSDKCustomWaitingRoomData*)bData handle:(ZoomSDKWaitingRoomDataDownloadHandler*)handle;
-
New interface in
ZoomSDKWaitingRoomController
-(ZoomSDKError)requestCustomWaitingRoomData;
-
New Enum named
ZoomSDKWaitingRoomLayoutType
ZoomSDKWaitingRoomLayoutType_Default, ZoomSDKWaitingRoomLayoutType_Logo, ZoomSDKWaitingRoomLayoutType_Video,
-
New Enum named
ZoomSDKCustomWaitingRoomDataStatus
ZoomSDKCustomWaitingRoomDataStatus_Init, ZoomSDKCustomWaitingRoomDataStatus_Downloading, ZoomSDKCustomWaitingRoomDataStatus_Download_OK, ZoomSDKCustomWaitingRoomDataStatus_Download_Failed,
-
-
New interface to allow non-host SDK participant to manage(start or stop) "live streaming".
-
New interfaces in
ZoomSDKLiveStreamHelper
-(BOOL)isRawLiveStreamSupported; -(ZoomSDKError)canStartRawLiveStream; -(ZoomSDKError)requestRawLiveStream:(NSString*)broadcastURL; -(ZoomSDKError)removeRawLiveStreamPrivilege:(unsigned int)userID; -(NSArray<ZoomSDKRawLiveStreamInfo*>*)getRawLiveStreamingInfoList; -(NSArray<NSNumber*>*)getRawLiveStreamPrivilegeUserList;
-
New interface class named
ZoomSDKRawLiveStreamInfo
defined inZoomSDKLiveStreamHelper.h
@property(nonatomic, assign, readonly) unsigned int userID; @property(nonatomic, copy, readonly) NSString *broadcastUrl;
-
New interface class named
ZoomSDKRequestRawLiveStreamPrivilegeHandler
defined inZoomSDKLiveStreamHelper.h
@property(nonatomic, copy, readonly) NSString *requestId; @property(nonatomic, assign, readonly) unsigned int requesterId; @property(nonatomic, copy, readonly) NSString *requesterName; @property(nonatomic, copy, readonly) NSString *broadcastUrl; -(ZoomSDKError)grantRawLiveStreamPrivilege; -(ZoomSDKError)denyRawLiveStreamPrivilege;
-
New callback in
ZoomSDKLiveStreamHelperDelegate
-(void)onRawLiveStreamPrivilegeChanged:(BOOL)bHasPrivilege; -(void)onRawLiveStreamPrivilegeRequestTimeout; -(void)onUserRawLiveStreamPrivilegeChanged:(unsigned int)userID hasPrivilege:(BOOL)bHasPrivilege; -(void)onRawLiveStreamPrivilegeRequested:(ZoomSDKRequestRawLiveStreamPrivilegeHandler*)handler; -(void)onUserRawLiveStreamingStatusChanged:(NSArray<ZoomSDKRawLiveStreamInfo*>*)liveStreamList;
-
New interfaces in
ZoomSDKUserInfo
- (BOOL)isRawLiveStreaming - (BOOL)hasRawLiveStreamPrivilege
-
-
New interfaces to allow the hardware acceleration setting for screen sharing.
-
New interface in
ZoomSDKShareScreenSetting
:- (ZoomSDKError)enableHardwareAcceleratedVideoSharing:(BOOL)bEnable; - (BOOL)isVideoSharingHardwareAccelerated;
-
-
New interface to support features which allow for sign language interpreters, American Sign Language (ASL) interpreters, to be defined by the host, and pinned to a certain predictable location for all meeting participants.
-
New interface class named
ZoomSDKSignInterpretationController
defined inZoomSDKSignInterpretationController.h
@property(nonatomic,assign)id<ZoomSDKSignInterpretationControllerDelegate> delegate; -(BOOL)isSignInterpretationEnabled; -(ZoomSDKSignInterpretationStatus)getSignInterpretationStatus; -(BOOL)isSignInterpreter; -(ZoomSDKSignInterpretationLanguageInfo*)getSignInterpretationLanguageInfoByID:(NSString *)signLanguageID; -(NSArray<ZoomSDKSignInterpretationLanguageInfo*> *)getAvailableSignLanguageInfoList; -(NSArray<ZoomSDKSignInterpretationLanguageInfo*> *)getAllSupportedSignLanguageInfoList; -(NSArray<ZoomSDKSignInterpreter*> *)getSignInterpreterList; -(ZoomSDKError)addSignInterpreter:(unsigned int)userID signLanguageId:(NSString *)signLanguageId; -(ZoomSDKError)removeSignInterpreter:(unsigned int)userID; -(ZoomSDKError)modifySignInterpreter:(unsigned int)userID signLanguageId:(NSString *)signLanguageId; -(BOOL)canStartSignInterpretation; -(ZoomSDKError)startSignInterpretation; -(ZoomSDKError)stopSignInterpretation; -(ZoomSDKError)requestSignLanuageInterpreterToTalk:(unsigned int)userID allowToTalk:(BOOL)allowToTalk; -(BOOL)canSignLanguageInterpreterTalk:(unsigned int)userID; -(NSString *)getSignInterpreterAssignedLanID; -(ZoomSDKError)joinSignLanguageChannel:(NSString *)signLanguageId; -(ZoomSDKError)leaveSignLanguageChannel;
-
New interface class named
ZoomSDKSignInterpretationLanguageInfo
defined inZoomSDKSignInterpretationController.h
@property (copy,nonatomic,readonly) NSString *signLanguageID; @property (copy,nonatomic,readonly) NSString *signLanguageName;
-
New interface class named
ZoomSDKSignInterpreter
defined inZoomSDKSignInterpretationController.h
@property (assign,nonatomic,readonly) unsigned int userID; @property (copy,nonatomic,readonly) NSString *signLanguageID; @property (assign,nonatomic,readonly) BOOL isAvailable;
-
New protocol class named
ZoomSDKSignInterpretationControllerDelegate
defined inZoomSDKSignInterpretationController.h
-(void)onSignInterpretationStatusChanged:(ZoomSDKSignInterpretationStatus)status; -(void)onSignInterpreterListChanged; -(void)onSignInterpreterRoleChanged; -(void)onSignInterpreterLanguageChanged; -(void)onAvailableSignLanguageListUpdated:(NSArray<ZoomSDKSignInterpretationLanguageInfo*> *)availableSignLanguageList; -(void)onRequestSignInterpreterToTalk; -(void)onDisallowSignInterpreterToTalk;
-
New interface in
ZoomSDKMeetingService
-(ZoomSDKSignInterpretationController*)getSignInterpretationController;
-
New interface in
ZoomSDKUserInfo
-(BOOL)isSignLanguageInterpreter;
-
New Enum named
ZoomSDKSignInterpretationStatus
ZoomSDKSignInterpretationStatus_Initial, ZoomSDKSignInterpretationStatus_Started, ZoomSDKSignInterpretationStatus_Stopped,
-
-
New interface to support 3D avatars in the Meeting SDK.
-
New interface class named
ZoomSDK3DAvatarImageInfo
defined inZoomSDKSettingService.h
:@property(nonatomic,assign,readonly)BOOL isSelected; @property(nonatomic,copy,readonly)NSString* imageFilePath; @property(nonatomic,copy,readonly)NSString* imageName; @property(nonatomic,assign,readonly)int index
-
New interface class named
ZoomSDKVideoLipsyncAvatarPreviewHelper
defined inZoomSDKSettingService.h
:- (ZoomSDKError)startLipSyncAvatarPreview:(NSView *)lipsyncPreview; - (ZoomSDKError)stopLipSyncAvatarPreview:(NSView *)lipsyncPreview;
-
New protocol class named
ZoomSDKVideoLipSyncAvatarSettingContextDelegate
defined inZoomSDKSettingService.h
-(void)onLipSyncAvatarItemThumbnailsDownloaded; -(void)onLipSyncAvatarItemDataDownloading:(int)index; -(void)onLipSyncAvatarItemDataDownloaded:(BOOL)isSuccess index:(int)index;
-
New interface class named
ZoomSDKVideoLipSyncAvatarSettingContext
defined inZoomSDKSettingService.h
@property(nonatomic, assign)id<ZoomSDKVideoLipSyncAvatarSettingContextDelegate> delegate; -(BOOL)is3DAvatarSupportedByDevice; -(BOOL)isLipSyncAvatarEnabled; -(NSArray<ZoomSDK3DAvatarImageInfo*>*)getLipSyncAvatarImageList; -(ZoomSDKError)setLipSyncAvatarImage:(ZoomSDK3DAvatarImageInfo*)image; -(ZoomSDKVideoLipSyncAvatarPreviewHelper*)getLipSyncAvatarPreviewHelper;
-
New interface class named
ZoomSDK3DAvatarSetting
defined inZoomSDKSettingService.h
-(BOOL)is3DAvatarSupportedByDevice; -(BOOL)is3DAvatarEnabled; -(NSArray<ZoomSDK3DAvatarImageInfo*>*)get3DAvatarImageList; -(ZoomSDKError)set3DAvatarImage:(ZoomSDK3DAvatarImageInfo*)image; -(ZoomSDKSettingTestVideoDeviceHelper*)getTestVideoDeviceHelper;
-
New protocol class named
ZoomSDK3DAvatarSettingDelegate
defined inZoomSDKSettingService.h
-(void)on3DAvatarItemThumbnailsDownloaded; -(void)on3DAvatarItemDataDownloading:(int)index; -(void)on3DAvatarItemDataDownloaded:(BOOL)isSuccess index:(int)index;
-
New interfaces in
ZoomSDKSettingService
-(ZoomSDK3DAvatarSetting*)get3DAvatarSettings;
-
New interfaces in
ZoomSDKVideoSetting
-(BOOL)isSupportLipSyncAvatar; -(ZoomSDKError)enableLipSyncAvatarWhenVideoOff:(BOOL)enable; -(BOOL)isLipSyncAvatarWhenVideoOffEnabled; -(ZoomSDKVideoLipSyncAvatarSettingContext *)getLipSyncAvatarSettingContext;
-
New callback in
ZoomSDKVirtualBackgroundSettingDelegate
-(void)onVideoFilterItemThumnailsDownloaded; -(void)onVideoFilterItemDataDownloading:(ZoomSDKVideoEffectType)type index:(int)index; -(void)onVideoFilterItemDataDownloaded:(BOOL)ready type:(ZoomSDKVideoEffectType)type index:(int)index;
-
-
New interface to allow a user to choose to join another breakout room.
-
New callback in
ZoomSDKNewBreakoutRoomControllerDelegate
:-(void)onBOSwitchRequestReceived:(NSString*)newBOName newBOID:(NSString*)newBOID;
-
-
New interfaces for following a meeting presenter's pointer.
-
New interfaces in
ZoomSDKASController
:(ZoomSDKError)canEnableFollowPresenterPointerWhenViewShare:(unsigned int)userID bCan:(BOOL*)bCan;
-
Fixed
-
Issue where the function
getVideoOrderList
returns nil after joining a meeting and showing gallery view. -
Issue where the click behavior is incorrect when the configuration key
disableBreakoutRoomsButtonClickOriginAction
is set to YES. -
Issues that occurred when sharing related interfaces when all screens subscribed to the same user.
-
Issue where the SDK was able to get the breakout room creator or admin before receiving the
onHasCreatorPermission
oronHasAdminPermission
callback. -
Issues related to the configuration keys
hideChatItemInMeeting
andhideCopyURLButtonWhenInviteOthers
. -
Issue where, when calling
GetLocalRecordingStatus
, the SDK didn’t get the statusstart
when turning on automatic local recording of a meeting in the customized user interface mode. -
Issue where the memory allocated for
ZoomSDKUserInfo
was not released when a user started a meeting but wasn’t in the meeting.
Deprecated
-
The interfaces below marked as deprecated:
-(void)onVideoFilterItemDataDownloaded:(ZoomSDKVideoEffectType)type index:(int)index; -(void)onVideoFilterItemDataNeedPrepare:(ZoomSDKVideoEffectType)type index:(int)index; -(void)onVideoFilterItemDataReady:(BOOL)ready type:(ZoomSDKVideoEffectType)type index:(int)index;
-
The interfaces
getMeetingUIType
inZoomSDKMeetingActionController
marked as deprecated:-(ZoomSDKError)getMeetingUIType:(ScreenType)type isFullScreen:(BOOL*)bFullScreen meetingUIType:(MeetingUIType*)meetingUIType;
-
The Enums
MeetingUIType
marked as deprecated:typedef enum { //No video in the meeting. MeetingUIType_None, //Video wall mode.. MeetingUIType_VideoWall, //Display the video of the active user. MeetingUIType_ActiveRender, }MeetingUIType;