Video SDK for iOS API Reference
Loading...
Searching...
No Matches
ZoomVideoSDKDelegate.h
Go to the documentation of this file.
1//
2// ZoomVideoSDKDelegate.h
3// ZoomVideoSDK
4//
5
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 <ReplayKit/ReplayKit.h>
27
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
343- (void)onUserVideoNetworkStatusChanged:(ZoomVideoSDKNetworkStatus)status user:(ZoomVideoSDKUser *_Nullable)user;
344
350- (void)onUserShareNetworkStatusChanged:(ZoomVideoSDKNetworkStatus)shareNetworkStatus isSending:(BOOL)isSendingShare;
351
352
357- (void)onCallCRCDeviceStatusChanged:(ZoomVideoSDKCRCCallStatus)state;
358
363- (void)onAnnotationHelperCleanUp:(ZoomVideoSDKAnnotationHelper *_Nullable)helper;
364
371- (void)onAnnotationPrivilegeChange:(BOOL)enable shareOwner:(ZoomVideoSDKUser *_Nullable)user DEPRECATED_MSG_ATTRIBUTE("use -[ZoomVideoSDKDelegate onAnnotationPrivilegeChangeWithUser:shareAction:] instead");
372
378- (void)onAnnotationPrivilegeChangeWithUser:(ZoomVideoSDKUser *_Nullable)user shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
379
386- (void)onShareContentChanged:(ZoomVideoSDKShareHelper *_Nullable)shareHelper user:(ZoomVideoSDKUser *_Nullable)user shareAction:(ZoomVideoSDKShareAction *_Nullable)shareAction;
387
394- (void)onVideoCanvasSubscribeFail:(ZoomVideoSDKSubscribeFailReason)failReason user:(ZoomVideoSDKUser *_Nullable)user view:(UIView *_Nullable)view;
395
403- (void)onShareCanvasSubscribeFail:(ZoomVideoSDKSubscribeFailReason)failReason user:(ZoomVideoSDKUser *_Nullable)user view:(UIView *_Nullable)view DEPRECATED_MSG_ATTRIBUTE("use -[ZoomVideoSDKDelegate onShareCanvasSubscribeFailWithUser:view:shareAction:] instead");
404
411- (void)onShareCanvasSubscribeFailWithUser:(ZoomVideoSDKUser *_Nullable)user view:(UIView *_Nullable)view shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
412
418- (void)onSendFileStatus:(ZoomVideoSDKSendFile * _Nullable)file status:(ZoomVideoSDKFileTransferStatus)status;
419
425- (void)onReceiveFileStatus:(ZoomVideoSDKReceiveFile * _Nullable)file status:(ZoomVideoSDKFileTransferStatus)status;
426
431- (void)onVideoAlphaChannelStatusChanged:(BOOL)isAlphaChannelOn;
432
438- (void)onSpotlightVideoChanged:(ZoomVideoSDKVideoHelper * _Nullable)videoHelper userList:(NSArray <ZoomVideoSDKUser *>* _Nullable)userList;
439
446- (void)onBindIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
447
454- (void)onUnbindIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
455
462- (void)onIncomingLiveStreamStatusResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamsStatusList:(NSArray<ZoomVideoSDKIncomingLiveStreamStatus *> *_Nullable)streamsStatusList;
463
470- (void)onStartIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
471
478- (void)onStopIncomingLiveStreamResponse:(ZoomVideoSDKIncomingLiveStreamHelper * _Nullable)helper success:(BOOL)success streamKeyID:(NSString *_Nullable)streamKeyID;
479
486- (void)onShareContentSizeChanged:(ZoomVideoSDKShareHelper * _Nullable)helper user:(ZoomVideoSDKUser * _Nullable)user shareAction:(ZoomVideoSDKShareAction*_Nullable)shareAction;
487
488#pragma mark - external camera change -
494- (void)onUVCCameraStatusChange:(ZoomVideoSDKUVCCameraStatus)status;
495
502- (void)onSubSessionStatusChanged:(ZoomVideoSDKSubSessionStatus)status subSession:(NSArray <ZoomVideoSDKSubSessionKit*>* _Nonnull)pSubSessionKitList;
503
508- (void)onSubSessionManagerHandle:(ZoomVideoSDKSubSessionManager* _Nullable)pManager;
509
514- (void)onSubSessionParticipantHandle:(ZoomVideoSDKSubSessionParticipant* _Nullable)pParticipant;
515
520- (void)onSubSessionUsersUpdate:(ZoomVideoSDKSubSessionKit* _Nonnull)pSubSessionKit;
521
527- (void)onBroadcastMessageFromMainSession:(NSString* _Nonnull) sMessage userName:(NSString* _Nonnull)sUserName;
528
533- (void)onSubSessionUserHelpRequestHandler:(ZoomVideoSDKSubSessionUserHelpRequestHandler*_Nonnull) pHandler;
538- (void)onSubSessionUserHelpRequestResult:(ZoomVideoSDKUserHelpRequestResult)result;
539
540#pragma mark - ZoomVideoSDK audio source change -
545- (void)onMyAudioSourceTypeChanged:(ZoomVideoSDKAudioDevice *_Nullable)device;
546
547#pragma mark - In app screen share -
552- (void)onInAppScreenShareErrorCode:(RPRecordingErrorCode)code;
553
558- (void)onInAppScreenShareAvailableChanged:(BOOL)available;
559
560@end
561
562#pragma mark - ZoomVideoSDKVirtualAudioSpeaker
567@protocol ZoomVideoSDKVirtualAudioSpeaker <NSObject>
568
569@optional
570
575- (void)onVirtualSpeakerMixedAudioReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
576
581- (void)onVirtualSpeakerOneWayAudioReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData user:(ZoomVideoSDKUser * _Nullable)user;
582
587- (void)onVirtualSpeakerSharedAudioReceived:(ZoomVideoSDKAudioRawData * _Nullable)rawData;
588
589@end
590
591#pragma mark - ZoomVideoSDKRawDataPipeDelegate
596@protocol ZoomVideoSDKRawDataPipeDelegate <NSObject>
597
598@optional
599
604- (void)onPixelBuffer:(CVPixelBufferRef _Nullable )pixelBuffer
605 rotation:(ZoomVideoSDKVideoRawDataRotation)rotation;
606
611- (void)onRawDataFrameReceived:(ZoomVideoSDKVideoRawData * _Nullable)rawData;
612
617- (void)onRawDataStatusChanged:(ZoomVideoSDKUserRawdataStatus)userRawdataStatus;
618
619@end
620
621#pragma mark - ZoomVideoSDKVideoSourcePreProcessor
626@protocol ZoomVideoSDKVideoSourcePreProcessor <NSObject>
627
628@optional
633- (void)onPreProcessRawData:(ZoomVideoSDKPreProcessRawData * _Nullable)rawData;
634
635@end
636
637#pragma mark - ZoomVideoSDKVideoSource
642@protocol ZoomVideoSDKVideoSource <NSObject>
643
644@optional
645
652- (void)onInitialize:(ZoomVideoSDKVideoSender *_Nonnull)rawDataSender
653supportCapabilityArray:(NSArray *_Nonnull)supportCapabilityArray
654 suggestCapability:(ZoomVideoSDKVideoCapability *_Nonnull)suggestCapability;
655
661- (void)onPropertyChange:(NSArray *_Nonnull)supportCapabilityArray
662 suggestCapability:(ZoomVideoSDKVideoCapability *_Nonnull)suggestCapability;
663
667- (void)onStartSend;
668
672- (void)onStopSend;
673
677- (void)onUninitialized;
678
679@end
680
685@protocol ZoomVideoSDKVirtualAudioMic <NSObject>
686
687@optional
692- (void)onMicInitialize:(ZoomVideoSDKAudioSender *_Nonnull)rawDataSender;
693
697- (void)onMicStartSend;
698
702- (void)onMicStopSend;
703
707- (void)onMicUninitialized;
708
709@end
710
711#pragma mark - ZoomVideoSDKShareSource
716@protocol ZoomVideoSDKShareSource <NSObject>
717
718@optional
723- (void)onShareSendStarted:(ZoomVideoSDKShareSender *_Nullable)rawDataSender;
724
728- (void)onShareSendStopped;
729
730@end
731
732#pragma mark - ZoomVideoSDKShareAudioSource
737@protocol ZoomVideoSDKShareAudioSource <NSObject>
738
739@optional
744- (void)onStartSendAudio:(ZoomVideoSDKShareAudioSender *_Nonnull)sender;
745
749- (void)onStopSendAudio;
750
751@end
752
753#pragma mark - ZoomVideoSDKSharePreprocessor
758@protocol ZoomVideoSDKSharePreprocessor <NSObject>
759
760@optional
766- (void)onCapturedRawDataReceived:(ZoomVideoSDKVideoRawData *_Nullable)rawData sharePreprocessSender:(ZoomVideoSDKSharePreprocessSender *_Nullable)sender;
767
771- (void)onShareStopped;
772
773@end
ZoomVideoSDKLiveStreamStatus
Enumerates the statuses of live streaming.
ZoomVideoSDKPhoneFailedReason
Enumerates the various reasons for a phone call failure.
ZoomVideoSDKSubscribeFailReason
Enumerates the reasons for a failed video subscription attempt.
ZoomVideoSDKUVCCameraStatus
Enumeration of the UVC camera 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.
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.
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.
Zoom Video SDK Audio Device.
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.