Video SDK for iOS API Reference
Loading...
Searching...
No Matches
ZoomVideoSDKDelegate.h
Go to the documentation of this file.
6#import <Foundation/Foundation.h>
7#import <ZoomVideoSDK/ZoomVideoSDKConstants.h>
8#import <ZoomVideoSDK/ZoomVideoSDKVideoRawData.h>
9#import <ZoomVideoSDK/ZoomVideoSDKAudioRawData.h>
10#import <ZoomVideoSDK/ZoomVideoSDKChatHelper.h>
11#import <ZoomVideoSDK/ZoomVideoSDKPreProcessRawData.h>
12#import <ZoomVideoSDK/ZoomVideoSDKVideoSender.h>
13#import <ZoomVideoSDK/ZoomVideoSDKShareSender.h>
14#import <ZoomVideoSDK/ZoomVideoSDKShareAudioSender.h>
15#import <ZoomVideoSDK/ZoomVideoSDKAudioSender.h>
16#import <ZoomVideoSDK/ZoomVideoSDKVideoCapability.h>
17#import <ZoomVideoSDK/ZoomVideoSDKVideoHelper.h>
18#import <ZoomVideoSDK/ZoomVideoSDKAudioHelper.h>
19#import <ZoomVideoSDK/ZoomVideoSDKShareHelper.h>
20#import <ZoomVideoSDK/ZoomVideoSDKRecordingHelper.h>
21#import <ZoomVideoSDK/ZoomVideoSDKLiveStreamHelper.h>
22#import <ZoomVideoSDK/ZoomVideoSDKUserHelper.h>
23#import <ZoomVideoSDK/ZoomVideoSDKLiveTranscriptionHelper.h>
24#import <ZoomVideoSDK/ZoomVideoSDKFileTranserHandle.h>
25#import <ZoomVideoSDK/ZoomVideoSDKSubSessionHelper.h>
26#import <ZoomVideoSDK/ZoomVideoSDKWhiteboardHelper.h>
27#import <ReplayKit/ReplayKit.h>
30@class ZoomVideoSDKUser;
34
39@protocol ZoomVideoSDKDelegate <NSObject>
40@optional
44- (void)onSessionJoin;
45
50- (void)onSessionLeave DEPRECATED_MSG_ATTRIBUTE("use onSessionLeave: instead");
51
56- (void)onSessionLeave:(ZoomVideoSDKSessionLeaveReason)reason;
57
63- (void)onError:(ZoomVideoSDKError)ErrorType detail:(NSInteger)details;
64
70- (void)onUserJoin:(ZoomVideoSDKUserHelper * _Nullable)helper users:(NSArray <ZoomVideoSDKUser *>* _Nullable)userArray;
71
77- (void)onUserLeave:(ZoomVideoSDKUserHelper * _Nullable)helper users:(NSArray <ZoomVideoSDKUser *>* _Nullable)userArray;
78
84- (void)onUserVideoStatusChanged:(ZoomVideoSDKVideoHelper * _Nullable)helper user:(NSArray <ZoomVideoSDKUser *>* _Nullable)userArray;
85
91- (void)onUserAudioStatusChanged:(ZoomVideoSDKAudioHelper * _Nullable)helper user:(NSArray <ZoomVideoSDKUser *>* _Nullable)userArray;
92
99- (void)onUserShareStatusChanged:(ZoomVideoSDKShareHelper * _Nullable)helper user:(ZoomVideoSDKUser * _Nullable)user shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
100
106- (void)onFailedToStartShare:(ZoomVideoSDKShareHelper* _Nonnull)helper user:(ZoomVideoSDKUser* _Nullable)user;
111- (void)onShareSettingChanged:(ZoomVideoSDKShareSetting)setting;
112
118- (void)onLiveStreamStatusChanged:(ZoomVideoSDKLiveStreamHelper * _Nullable)helper status:(ZoomVideoSDKLiveStreamStatus)status;
119
125- (void)onChatPrivilegeChanged:(ZoomVideoSDKChatHelper * _Nullable)helper privilege:(ZoomVideoSDKChatPrivilegeType)currentPrivilege;
126
132- (void)onChatNewMessageNotify:(ZoomVideoSDKChatHelper * _Nullable)helper message:(ZoomVideoSDKChatMessage * _Nullable)chatMessage;
133
140- (void)onChatMsgDeleteNotification:(ZoomVideoSDKChatHelper * _Nullable)helper messageID:(NSString * _Nonnull)msgID deleteBy:(ZoomVideoSDKChatMsgDeleteBy)type;
141
147- (void)onUserHostChanged:(ZoomVideoSDKUserHelper * _Nullable)helper users:(ZoomVideoSDKUser * _Nullable)user;
148
153- (void)onUserManagerChanged:(ZoomVideoSDKUser * _Nullable)user;
154
159- (void)onUserNameChanged:(ZoomVideoSDKUser * _Nullable)user;
160
166- (void)onUserActiveAudioChanged:(ZoomVideoSDKUserHelper * _Nullable)helper users:(NSArray <ZoomVideoSDKUser *>* _Nullable)userArray;
167
172- (void)onSessionNeedPassword:(ZoomVideoSDKError (^ _Nullable)(NSString * _Nullable password, BOOL leaveSessionIgnorePassword))completion;
173
178- (void)onSessionPasswordWrong:(ZoomVideoSDKError (^ _Nullable)(NSString * _Nullable password, BOOL leaveSessionIgnorePassword))completion;
179
184- (void)onMixedAudioRawDataReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
185
191- (void)onOneWayAudioRawDataReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData user:(ZoomVideoSDKUser * _Nullable)user;
192
197- (void)onSharedAudioRawDataReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
198
204- (void)onInviteByPhoneStatus:(ZoomVideoSDKPhoneStatus)status failReason:(ZoomVideoSDKPhoneFailedReason)failReason;
205
211- (void)onCalloutJoinSuccess:(ZoomVideoSDKUser * _Nullable)user phoneNumber:(NSString * _Nullable)phoneNumber;
212
217- (void)onCmdChannelConnectResult:(BOOL)success;
218
224- (void)onCommandReceived:(NSString * _Nullable)commandContent sendUser:(ZoomVideoSDKUser * _Nullable)sendUser;
225
232- (void)onCameraControlRequestResult:(ZoomVideoSDKUser* _Nullable)user approved:(BOOL)isApproved;
233
239- (void)onCloudRecordingStatus:(ZoomVideoSDKRecordingStatus)status recordAgreementHandler:(ZoomVideoSDKRecordAgreementHandler * _Nullable)handler;
240
245- (void)onUserRecordAgreementNotification:(ZoomVideoSDKUser * _Nullable)user;
249- (void)onHostAskUnmute;
250
257- (void)onMultiCameraStreamStatusChanged:(ZoomVideoSDKMultiCameraStreamStatus)status parentUser:(ZoomVideoSDKUser *_Nullable)user videoPipe:(ZoomVideoSDKRawDataPipe *_Nullable)videoPipe;
258
265- (void)onMultiCameraStreamStatusChanged:(ZoomVideoSDKMultiCameraStreamStatus)status parentUser:(ZoomVideoSDKUser *_Nullable)user videoCanvas:(ZoomVideoSDKVideoCanvas *_Nullable)videoCanvas;
266
271- (void)onTestMicStatusChanged:(ZoomVideoSDKTestMicStatus)status;
272
278- (void)onMicSpeakerVolumeChanged:(int)micVolume speakerVolume:(int)speakerVolume;
279
286- (void)onAudioLevelChanged:(NSUInteger)level audioSharing:(BOOL)bAudioSharing user:(ZoomVideoSDKUser * _Nullable)user;
287
292- (void)onSystemPermissionRequired:(ZoomVideoSDKSystemPermissionType)permissionType;
293
298- (void)onLiveTranscriptionStatus:(ZoomVideoSDKLiveTranscriptionStatus)status;
299
304- (void)onLiveTranscriptionMsgReceived:(ZoomVideoSDKLiveTranscriptionMessageInfo *_Nullable)messageInfo;
305
310- (void)onOriginalLanguageMsgReceived:(ZoomVideoSDKLiveTranscriptionMessageInfo *_Nullable)messageInfo;
311
317- (void)onLiveTranscriptionMsgError:(ZoomVideoSDKLiveTranscriptionLanguage *_Nullable)spokenLanguage transLanguage:(ZoomVideoSDKLiveTranscriptionLanguage *_Nullable)transcriptLanguage;
318
323- (void)onSpokenLanguageChanged:(ZoomVideoSDKLiveTranscriptionLanguage* _Nullable)spokenLanguage;
324
329- (void)onProxySettingNotification:(ZoomVideoSDKProxySettingHandler *_Nonnull)handler;
330
335- (void)onSSLCertVerifiedFailNotification:(ZoomVideoSDKSSLCertificateInfo *_Nonnull)handler;
336
337
344- (void)onUserVideoNetworkStatusChanged:(ZoomVideoSDKNetworkStatus)status user:(ZoomVideoSDKUser *_Nullable)user DEPRECATED_MSG_ATTRIBUTE("Use -onUserNetworkStatusChanged:level:user: instead");
345
352- (void)onUserShareNetworkStatusChanged:(ZoomVideoSDKNetworkStatus)shareNetworkStatus isSending:(BOOL)isSendingShare DEPRECATED_MSG_ATTRIBUTE("Use -onUserNetworkStatusChanged:level:user: instead");
353
360- (void)onUserNetworkStatusChanged:(ZoomVideoSDKDataType)type level:(ZoomVideoSDKNetworkStatus)level user:(ZoomVideoSDKUser * _Nullable)user;
361
367- (void)onUserOverallNetworkStatusChanged:(ZoomVideoSDKNetworkStatus)level user:(ZoomVideoSDKUser * _Nullable)user;
368
369
374- (void)onCallCRCDeviceStatusChanged:(ZoomVideoSDKCRCCallStatus)state;
375
380- (void)onAnnotationHelperCleanUp:(ZoomVideoSDKAnnotationHelper *_Nullable)helper;
381
388- (void)onAnnotationPrivilegeChange:(BOOL)enable shareOwner:(ZoomVideoSDKUser *_Nullable)user DEPRECATED_MSG_ATTRIBUTE("use -[ZoomVideoSDKDelegate onAnnotationPrivilegeChangeWithUser:shareAction:] instead");
389
395- (void)onAnnotationPrivilegeChangeWithUser:(ZoomVideoSDKUser *_Nullable)user shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
396
403- (void)onShareContentChanged:(ZoomVideoSDKShareHelper *_Nullable)shareHelper user:(ZoomVideoSDKUser *_Nullable)user shareAction:(ZoomVideoSDKShareAction *_Nullable)shareAction;
404
412- (void)onShareCaptureSizeChanged:(ZoomVideoSDKShareHelper *_Nullable)shareHelper user:(ZoomVideoSDKUser *_Nullable)user shareAction:(ZoomVideoSDKShareAction *_Nullable)shareAction;
413
420- (void)onVideoCanvasSubscribeFail:(ZoomVideoSDKSubscribeFailReason)failReason user:(ZoomVideoSDKUser *_Nullable)user view:(UIView *_Nullable)view;
421
429- (void)onShareCanvasSubscribeFail:(ZoomVideoSDKSubscribeFailReason)failReason user:(ZoomVideoSDKUser *_Nullable)user view:(UIView *_Nullable)view DEPRECATED_MSG_ATTRIBUTE("use -[ZoomVideoSDKDelegate onShareCanvasSubscribeFailWithUser:view:shareAction:] instead");
430
437- (void)onShareCanvasSubscribeFailWithUser:(ZoomVideoSDKUser *_Nullable)user view:(UIView *_Nullable)view shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
438
444- (void)onSendFileStatus:(ZoomVideoSDKSendFile * _Nullable)file status:(ZoomVideoSDKFileTransferStatus)status;
445
451- (void)onReceiveFileStatus:(ZoomVideoSDKReceiveFile * _Nullable)file status:(ZoomVideoSDKFileTransferStatus)status;
452
457- (void)onVideoAlphaChannelStatusChanged:(BOOL)isAlphaChannelOn;
458
464- (void)onSpotlightVideoChanged:(ZoomVideoSDKVideoHelper * _Nullable)videoHelper userList:(NSArray <ZoomVideoSDKUser *>* _Nullable)userList;
465
472- (void)onBindIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
473
480- (void)onUnbindIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
481
488- (void)onIncomingLiveStreamStatusResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamsStatusList:(NSArray<ZoomVideoSDKIncomingLiveStreamStatus *> *_Nullable)streamsStatusList;
489
496- (void)onStartIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
497
504- (void)onStopIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
505
515- (void)onShareContentSizeChanged:(ZoomVideoSDKShareHelper * _Nullable)helper user:(ZoomVideoSDKUser * _Nullable)user shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
516
517#pragma mark - external camera change -
523- (void)onUVCCameraStatusChange:(ZoomVideoSDKUVCCameraStatus)status;
524
525#pragma mark - sub-session -
531- (void)onSubSessionStatusChanged:(ZoomVideoSDKSubSessionStatus)status subSession:(NSArray <ZoomVideoSDKSubSessionKit*>* _Nonnull)pSubSessionKitList;
532
537- (void)onSubSessionManagerHandle:(ZoomVideoSDKSubSessionManager* _Nullable)pManager;
538
543- (void)onSubSessionParticipantHandle:(ZoomVideoSDKSubSessionParticipant* _Nullable)pParticipant;
544
549- (void)onSubSessionUsersUpdate:(ZoomVideoSDKSubSessionKit* _Nonnull)pSubSessionKit;
550
556- (void)onBroadcastMessageFromMainSession:(NSString* _Nonnull) sMessage userName:(NSString* _Nonnull)sUserName;
557
562- (void)onSubSessionUserHelpRequestHandler:(ZoomVideoSDKSubSessionUserHelpRequestHandler*_Nonnull) pHandler;
567- (void)onSubSessionUserHelpRequestResult:(ZoomVideoSDKUserHelpRequestResult)result;
568
569#pragma mark - ZoomVideoSDK audio source change -
574- (void)onMyAudioSourceTypeChanged:(ZoomVideoSDKAudioDevice *_Nullable)device;
575
576#pragma mark - In app screen share -
581- (void)onInAppScreenShareErrorCode:(RPRecordingErrorCode)code;
582
587- (void)onInAppScreenShareAvailableChanged:(BOOL)available;
588
594- (void)onStartBroadcastResponse:(BOOL)isSuccess channelID:(NSString* _Nonnull)channelID ;
595
600- (void)onStopBroadcastResponse:(BOOL)isSuccess;
601
607- (void)onGetBroadcastControlStatus:(BOOL)isSuccess status:(ZoomVideoSDKBroadcastControlStatus)status;
608
613- (void)onStreamingJoinStatusChanged:(ZoomVideoSDKStreamingJoinStatus)status ;
614
620- (void)onWhiteboardExported:(ZoomVideoSDKWhiteboardExportFormatType)format data:(NSData*_Nonnull)data API_UNAVAILABLE(visionos);
621
627-(void)onUserWhiteboardShareStatusChanged:(ZoomVideoSDKUser *_Nonnull)user whiteboardhelper:(ZoomVideoSDKWhiteboardHelper*_Nonnull)whiteboardHelper API_UNAVAILABLE(visionos);
628
633- (void)onRealTimeMediaStreamsStatus:(ZoomVideoSDKRealTimeMediaStreamsStatus)status;
634
639- (void)onRealTimeMediaStreamsFail:(ZoomVideoSDKRealTimeMediaStreamsFailReason)failReason;
640
641@end
642
643#pragma mark - ZoomVideoSDKVirtualAudioSpeaker
648@protocol ZoomVideoSDKVirtualAudioSpeaker <NSObject>
649
650@optional
651
656- (void)onVirtualSpeakerMixedAudioReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
657
662- (void)onVirtualSpeakerOneWayAudioReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData user:(ZoomVideoSDKUser * _Nullable)user;
663
668- (void)onVirtualSpeakerSharedAudioReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
669
670@end
671
672#pragma mark - ZoomVideoSDKRawDataPipeDelegate
677@protocol ZoomVideoSDKRawDataPipeDelegate <NSObject>
678
679@optional
680
685- (void)onPixelBuffer:(CVPixelBufferRef _Nullable )pixelBuffer
686 rotation:(ZoomVideoSDKVideoRawDataRotation)rotation;
687
692- (void)onRawDataFrameReceived:(ZoomVideoSDKVideoRawData * _Nullable)rawData;
693
698- (void)onRawDataStatusChanged:(ZoomVideoSDKUserRawdataStatus)userRawdataStatus;
699
700@end
701
702#pragma mark - ZoomVideoSDKVideoSourcePreProcessor
707@protocol ZoomVideoSDKVideoSourcePreProcessor <NSObject>
708
709@optional
714- (void)onPreProcessRawData:(ZoomVideoSDKPreProcessRawData * _Nullable)rawData;
715
716@end
717
718#pragma mark - ZoomVideoSDKVideoSource
723@protocol ZoomVideoSDKVideoSource <NSObject>
724
725@optional
726
733- (void)onInitialize:(ZoomVideoSDKVideoSender *_Nonnull)rawDataSender
734supportCapabilityArray:(NSArray *_Nonnull)supportCapabilityArray
735 suggestCapability:(ZoomVideoSDKVideoCapability *_Nonnull)suggestCapability;
736
742- (void)onPropertyChange:(NSArray *_Nonnull)supportCapabilityArray
743 suggestCapability:(ZoomVideoSDKVideoCapability *_Nonnull)suggestCapability;
744
748- (void)onStartSend;
749
753- (void)onStopSend;
754
758- (void)onUninitialized;
759
760@end
761
766@protocol ZoomVideoSDKVirtualAudioMic <NSObject>
767
768@optional
773- (void)onMicInitialize:(ZoomVideoSDKAudioSender *_Nonnull)rawDataSender;
774
778- (void)onMicStartSend;
779
783- (void)onMicStopSend;
784
788- (void)onMicUninitialized;
789
790@end
791
792#pragma mark - ZoomVideoSDKShareSource
797@protocol ZoomVideoSDKShareSource <NSObject>
798
799@optional
804- (void)onShareSendStarted:(ZoomVideoSDKShareSender *_Nullable)rawDataSender;
805
809- (void)onShareSendStopped;
810
811@end
812
813#pragma mark - ZoomVideoSDKShareAudioSource
818@protocol ZoomVideoSDKShareAudioSource <NSObject>
819
820@optional
825- (void)onStartSendAudio:(ZoomVideoSDKShareAudioSender *_Nonnull)sender;
826
830- (void)onStopSendAudio;
831
832@end
833
834#pragma mark - ZoomVideoSDKSharePreprocessor
839@protocol ZoomVideoSDKSharePreprocessor <NSObject>
840
841@optional
847- (void)onCapturedRawDataReceived:(ZoomVideoSDKVideoRawData *_Nullable)rawData sharePreprocessSender:(ZoomVideoSDKSharePreprocessSender *_Nullable)sender;
848
852- (void)onShareStopped;
853
854@end
855
856
857
858@protocol ZoomVideoSDKBroadcastStreamingVideoDelegate <NSObject>
859@optional
864- (void)onVideoFrameRecieved:(ZoomVideoSDKVideoRawData * _Nullable)rawData;
869- (void)onPixelBuffer:(CVPixelBufferRef _Nullable )pixelBuffer rotation:(ZoomVideoSDKVideoRawDataRotation)rotation;
870@end
871
872@protocol ZoomVideoSDKBroadcastStreamingAudioDelegate <NSObject>
873@optional
878- (void)onAudioRawDataReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
879@end
ZoomVideoSDKLiveStreamStatus
Enumerates the statuses of live streaming.
ZoomVideoSDKWhiteboardExportFormatType
Enumeration of supported export formats for content, like whiteboard.
ZoomVideoSDKPhoneFailedReason
Enumerates the various reasons for a phone call failure.
ZoomVideoSDKDataType
Enumerates the data type for network quality monitoring.
ZoomVideoSDKSubscribeFailReason
Enumerates the reasons for a failed video subscription attempt.
ZoomVideoSDKUVCCameraStatus
Enumeration of the UVC camera status.
ZoomVideoSDKBroadcastControlStatus
Enumerations of broadcast control status.
ZoomVideoSDKSubSessionStatus
Enumeration of subSession statuses.
ZoomVideoSDKFileTransferStatus
Enumeration of file transfer status.
ZoomVideoSDKMultiCameraStreamStatus
Enumerates the status of multi-camera streams.
ZoomVideoSDKVideoRawDataRotation
RawDataRotationof the directions of video.
ZoomVideoSDKUserHelpRequestResult
Enumeration of subsession user help request results.
ZoomVideoSDKChatPrivilegeType
Enumerates the types of chat privileges.
ZoomVideoSDKRealTimeMediaStreamsStatus
Enumeration of real-time media streams status.
ZoomVideoSDKSystemPermissionType
Enumerates the types of device permission.
ZoomVideoSDKChatMsgDeleteBy
The chat message delete type are sent in the onChatMsgDeleteNotification:messageID:deleteBy: callback...
ZoomVideoSDKSessionLeaveReason
Enumerates the possible reasons for leaving a session.
ZoomVideoSDKError
Enumerates all errors in the VideoSDK.
ZoomVideoSDKTestMicStatus
Enumerates the microphone test statuses.
ZoomVideoSDKCRCCallStatus
Enumerates the statuses of a CRC call.
ZoomVideoSDKRealTimeMediaStreamsFailReason
Enumeration of failure reasons for RealTimeMediaStreams.
ZoomVideoSDKStreamingJoinStatus
Streaming join status enumeration.
ZoomVideoSDKRecordingStatus
An enum representing the status of the recording status.
ZoomVideoSDKNetworkStatus
Enumerates the network statuses.
ZoomVideoSDKUserRawdataStatus
Enumeration the statuses of raw data.
ZoomVideoSDKPhoneStatus
Enumerates the statuses of a phone call.
ZoomVideoSDKShareSetting
Enumeration of Zoom Video SDK share setting types.
ZoomVideoSDKLiveTranscriptionStatus
Enumerates the status of live transcription.
Annotation helper interface for Zoom Video SDK.
Represents an audio device used in the Zoom Video SDK.
A class to operate the audio action.
A Class contains the information of audio raw data.
A class for user to send audio raw data.
A class to operate the instant message in session.
A class that contains all the information for a message.
Incoming live stream helper interface.
A class to operate the live stream.
Represents a language used in live transcription.
Represents a single message information of live transcription.
A Class contains the information of device capture video frame.
Handles proxy authentication input and provides metadata about the proxy connection.
A Class to manage the subscription and unsubscription of video or share raw data.
Class for recording agreement action.
Represents a file being sent in the session.
Share raw data pipe interface.
Interface to send share audio raw data.
Share control interface.
A class for user to send video raw data.
Represents a subsession instance.
Manages subsession lifecycle and communication.
SubSession attendee helper interface.
User control interface.
Zoom Video SDK user information.
The video canvas is the display area of the video streams on the user’s local device....
Capabilitiy infomation of video source.
An interface to control video and manage cameras during a video session.
A Class contains the information of video raw data.
A class for user to send video raw data.
The whiteboard helper interface.