Commit eb0738ae by Sai Sebastian

New SDK files

parent a5c887f0
No preview for this file type
...@@ -6,12 +6,11 @@ ...@@ -6,12 +6,11 @@
<array> <array>
<dict> <dict>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-i386_x86_64-simulator</string> <string>ios-x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>MobileRTC.framework</string> <string>MobileRTC.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>i386</string>
<string>x86_64</string> <string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
...@@ -21,13 +20,12 @@ ...@@ -21,13 +20,12 @@
</dict> </dict>
<dict> <dict>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string> <string>ios-arm64</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>MobileRTC.framework</string> <string>MobileRTC.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>armv7</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
......
...@@ -17,17 +17,19 @@ ...@@ -17,17 +17,19 @@
#import <MobileRTC/MobileRTCMeetingService+Video.h> #import <MobileRTC/MobileRTCMeetingService+Video.h>
#import <MobileRTC/MobileRTCMeetingService+User.h> #import <MobileRTC/MobileRTCMeetingService+User.h>
#import <MobileRTC/MobileRTCMeetingService+Chat.h> #import <MobileRTC/MobileRTCMeetingService+Chat.h>
#import <MobileRTC/MobileRTCMeetingService+Avatar.h>
#import <MobileRTC/MobileRTCMeetingService+Webinar.h> #import <MobileRTC/MobileRTCMeetingService+Webinar.h>
#import <MobileRTC/MobileRTCMeetingService+VirtualBackground.h> #import <MobileRTC/MobileRTCMeetingService+VirtualBackground.h>
#import <MobileRTC/MobileRTCMeetingService+Interpretation.h> #import <MobileRTC/MobileRTCMeetingService+Interpretation.h>
#import <MobileRTC/MobileRTCMeetingService+BO.h> #import <MobileRTC/MobileRTCMeetingService+BO.h>
#import <MobileRTC/MobileRTCMeetingService+Reaction.h> #import <MobileRTC/MobileRTCMeetingService+Reaction.h>
#import <MobileRTC/MobileRTCMeetingService+LiveTranscription.h>
#import <MobileRTC/MobileRTCMeetingService+RawArchiving.h>
#import <MobileRTC/MobileRTCMeetingSettings.h> #import <MobileRTC/MobileRTCMeetingSettings.h>
#import <MobileRTC/MobileRTCInviteHelper.h> #import <MobileRTC/MobileRTCInviteHelper.h>
#import <MobileRTC/MobileRTCRoomDevice.h> #import <MobileRTC/MobileRTCRoomDevice.h>
#import <MobileRTC/MobileRTCMeetingUserInfo.h> #import <MobileRTC/MobileRTCMeetingUserInfo.h>
#import <MobileRTC/MobileRTCMeetingChat.h> #import <MobileRTC/MobileRTCMeetingChat.h>
#import <MobileRTC/MobileRTCE2EMeetingKey.h>
#import <MobileRTC/MobileRTCMeetingDelegate.h> #import <MobileRTC/MobileRTCMeetingDelegate.h>
#import <MobileRTC/MobileRTCVideoView.h> #import <MobileRTC/MobileRTCVideoView.h>
#import <MobileRTC/MobileRTCMeetingActionItem.h> #import <MobileRTC/MobileRTCMeetingActionItem.h>
...@@ -37,6 +39,8 @@ ...@@ -37,6 +39,8 @@
#import <MobileRTC/MobileRTCRenderer.h> #import <MobileRTC/MobileRTCRenderer.h>
#import <MobileRTC/MobileRTCAudioRawDataHelper.h> #import <MobileRTC/MobileRTCAudioRawDataHelper.h>
#import <MobileRTC/MobileRTCVideoSourceHelper.h> #import <MobileRTC/MobileRTCVideoSourceHelper.h>
#import <MobileRTC/MobileRTCShareSourceHelper.h>
#import <MobileRTC/MobileRTCAudioSourceHelper.h>
#import <MobileRTC/MobileRTCSMSService.h> #import <MobileRTC/MobileRTCSMSService.h>
#import <MobileRTC/MobileRTCDirectShareService.h> #import <MobileRTC/MobileRTCDirectShareService.h>
...@@ -134,16 +138,17 @@ ...@@ -134,16 +138,17 @@
- (void)setMobileRTCCustomLocalizableName:(NSString * _Nullable)localizableName; - (void)setMobileRTCCustomLocalizableName:(NSString * _Nullable)localizableName;
/*! /*!
@brief Get the root navigation controller of MobileRTC client. @brief Get the root navigation controller of MobileRTC client.
@warning This method is for internal use, the user generally won't call the method.
@return The root navigation controller. @return The root navigation controller.
*/ */
- (UINavigationController * _Nullable)mobileRTCRootController; - (UINavigationController * _Nullable)mobileRTCRootController;
/*! /*!
@brief Set the MobileRTC client root navigation controller. @brief Set the MobileRTC client root navigation controller.
@warning This method is optional, call the method if the window's rootViewController of the application is the UINavigationController, or just ignore it. @param navController The root navigation controller for pushing MobileRTC meeting UI.
@param navController The root navigation controller for pushing MobileRTC meeting UI. @warning This method is optional, call the method if the window's rootViewController of the application is the UINavigationController, prefer to set the root view controller.<UINavigationController>.
@warning If not set the root view controller. Zoom meeting will displayed on the WINDOW which level same as app window, create by SDK.
@warning In that case, if you want to disaplay customized UI of you app above Zoom meeting view, should get meeting view(call "- (UIView * _Nullable)meetingView;) and then add your customized view to the meeting view.
*/ */
- (void)setMobileRTCRootController:(UINavigationController * _Nullable)navController; - (void)setMobileRTCRootController:(UINavigationController * _Nullable)navController;
...@@ -215,6 +220,18 @@ ...@@ -215,6 +220,18 @@
- (MobileRTCDirectShareService * _Nullable)getDirectShareService; - (MobileRTCDirectShareService * _Nullable)getDirectShareService;
/*! /*!
@brief Get the video source helper.@see MobileRTCVideoSourceHelper
@return The object of MobileRTCVideoSourceHelper.
*/
- (MobileRTCVideoSourceHelper * _Nullable)getVideoSourceHelper;
/*!
@brief Get the video source helper.@see MobileRTCShareSourceHelper
@return The object of MobileRTCShareSourceHelper.
*/
- (MobileRTCShareSourceHelper * _Nullable)getShareSourceHelper;
/*!
@brief Get the languages supported by MobileRTC. @brief Get the languages supported by MobileRTC.
@warning The languages supported by MobileRTC are English, German, Spanish, Japanese, French, Simplified Chinese, Traditional Chinese. @warning The languages supported by MobileRTC are English, German, Spanish, Japanese, French, Simplified Chinese, Traditional Chinese.
@return An array of languages supported by MobileRTC. @return An array of languages supported by MobileRTC.
...@@ -276,10 +293,4 @@ ...@@ -276,10 +293,4 @@
*/ */
- (BOOL)hasRawDataLicense; - (BOOL)hasRawDataLicense;
/*!
@brief Get the video source helper.@see MobileRTCVideoSourceHelper
@return The object of MobileRTCVideoSourceHelper.
*/
- (MobileRTCVideoSourceHelper * _Nullable)getVideoSourceHelper;
@end @end
//
// MobileRTCAudioSender.h
// MobileRTC
//
// Created by Zoom on 2022/7/25.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface MobileRTCAudioSender : NSObject
/**
@brief Send audio raw data, channel number must be mono, and sampling bits must be 16.
@param data The address of audio data.
@param length The length of audio data (it must be even numbers).
@param rate Sample rate of audio data(8000/11025/32000/44100/48000/50000/50400/96000/192000/2822400).
*/
- (MobileRTCRawDataError)send:(char*)data dataLength:(unsigned int)length sampleRate:(int)rate;
@end
//
// MobileRTCAudioSourceHelper.h
// MobileRTC
//
// Created by Zoom on 2022/7/25.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface MobileRTCAudioSourceHelper : NSObject
/**
* @brief Set the delegate of virtual audio source.
* @param audioSourceDelegate The delegate to receive callback.
* @return If the function succeeds, it will return MobileRTCRawDataSuccess.
*/
- (MobileRTCRawDataError)setExternalAudioSource:(id <MobileRTCAudioSourceDelegate> _Nullable)audioSourceDelegate;
@end
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "MobileRTCConstants.h" #import "MobileRTCConstants.h"
#import "MobileRTCNotificationServiceHelper.h"
@protocol MobileRTCAuthDelegate; @protocol MobileRTCAuthDelegate;
@class MobileRTCAccountInfo; @class MobileRTCAccountInfo;
...@@ -64,15 +65,6 @@ ...@@ -64,15 +65,6 @@
- (MobileRTCUserType)getUserType; - (MobileRTCUserType)getUserType;
/*! /*!
@brief Specify to login MobileRTC with working email.
@param email Login email address.
@param password Login password.
@return YES indicates to call the method successfully. Otherwise not.
@warning The method is optional, ignore it if you do not have a working email for MobileRTC.
*/
- (BOOL)loginWithEmail:(nonnull NSString*)email password:(nonnull NSString*)password rememberMe:(BOOL)rememberMe;
/*!
* @brief generate the sso login url for specific sso vanity url * @brief generate the sso login url for specific sso vanity url
* @param vanityUrl The prefix of vanity url. * @param vanityUrl The prefix of vanity url.
* @return If the function succeeds,will return url of can launch app. * @return If the function succeeds,will return url of can launch app.
...@@ -87,13 +79,6 @@ ...@@ -87,13 +79,6 @@
- (MobileRTCLoginFailReason)ssoLoginWithWebUriProtocol:(nonnull NSString*)uriProtocol; - (MobileRTCLoginFailReason)ssoLoginWithWebUriProtocol:(nonnull NSString*)uriProtocol;
/*! /*!
@brief Query if it is enabled to login with email.
@return YES means enable, otherwise not.
@warning You need call the function after auth successfull.
*/
- (BOOL)isEmailLoginEnabled;
/*!
@brief Specify to logout MobileRTC. @brief Specify to logout MobileRTC.
@return YES indicates to call the method successfully. Otherwise not. @return YES indicates to call the method successfully. Otherwise not.
@warning The method is optional, ignore it if you do not login MobileRTC. @warning The method is optional, ignore it if you do not login MobileRTC.
...@@ -106,6 +91,32 @@ ...@@ -106,6 +91,32 @@
@warning You can only get the instance successfully of logged-in user. @warning You can only get the instance successfully of logged-in user.
*/ */
- (nullable MobileRTCAccountInfo*)getAccountInfo; - (nullable MobileRTCAccountInfo*)getAccountInfo;
/*!
@brief Enable or disable auto register notification service. This is enabled by default.
@param enable YES means enabled, otherwise not.
*/
- (void)enableAutoRegisterNotificationServiceForLogin:(BOOL)enable;
/*!
@brief Register notification service.
@param accessToken Initialize parameter of notification service.
@return If the function succeeds, it will return MobileRTCSDKError_Success. Otherwise failed.
*/
- (MobileRTCSDKError)registerNotificationService:(nullable NSString*)accessToken;
/*!
@brief Unregister notification service.
@return If the function succeeds, it will return MobileRTCSDKError_Success. Otherwise failed.
*/
- (MobileRTCSDKError)unregisterNotificationService;
/*!
@brief Get notification service controller interface.
@return If the function succeeds, it will return a ZoomSDKZpnsServiceController object.
*/
- (MobileRTCNotificationServiceHelper*_Nullable)getNotificationServiceHelper;
@end @end
/*! /*!
...@@ -129,6 +140,7 @@ ...@@ -129,6 +140,7 @@
/*! /*!
@brief Specify to get the response of MobileRTC logs in. @brief Specify to get the response of MobileRTC logs in.
@param returnValue Notify the user when the login state has changed. @param returnValue Notify the user when the login state has changed.
@warning If the callback is implemented, the Zoom UI alert tips are no longer displayed.
*/ */
- (void)onMobileRTCLoginResult:(MobileRTCLoginFailReason)resultValue; - (void)onMobileRTCLoginResult:(MobileRTCLoginFailReason)resultValue;
...@@ -138,6 +150,12 @@ ...@@ -138,6 +150,12 @@
*/ */
- (void)onMobileRTCLogoutReturn:(NSInteger)returnValue; - (void)onMobileRTCLogoutReturn:(NSInteger)returnValue;
/*!
@brief Notification service status changed callback.
@param status The value of transfer meeting service. For more details, see [MobileRTCNotificationServiceStatus].
*/
- (void)onNotificationServiceStatus:(MobileRTCNotificationServiceStatus)status;
@end @end
/*! /*!
......
...@@ -70,26 +70,85 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) { ...@@ -70,26 +70,85 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) {
@brief BO Count Down Second. @brief BO Count Down Second.
*/ */
@property (nonatomic, assign) MobileRTCBOStopCountDown countdownSeconds; @property (nonatomic, assign) MobileRTCBOStopCountDown countdownSeconds;
/*!
@brief Enable/Disable that participant can choose breakout room.
*/
@property (nonatomic, assign) BOOL isParticipantCanChooseBO;
/*!
@brief Enable/Disable that participant can return to main session at any time.
*/
@property (nonatomic, assign) BOOL isParticipantCanReturnToMainSessionAtAnyTime;
/*!
@brief Enable/Disable that auto move all assigned participants to breakout room.
*/
@property (nonatomic, assign) BOOL isAutoMoveAllAssignedParticipantsEnabled;
/*!
@brief true: it's timer BO false: not timer BO
*/
@property (nonatomic, assign) BOOL isBOTimerEnabled;
/*!
@brief true: if time is up, will stop BO auto. false: don't auto stop.
*/
@property (nonatomic, assign) BOOL isTimerAutoStopBOEnabled;
/*!
@brief seconds of BO timer duration
@warning when timerDuration is 0, it means that the BO duration is 30*60 seconds.
*/
@property (nonatomic, assign) NSInteger timerDuration;
@end @end
/* /*!
* host in master conf : creator + admin + assistant + dataHelper * //////////////////////////// Creator ////////////////////////////
* host in bo conf : admin + assistant + dataHelper * 1. Main Functions:
* cohost in master conf : attendee * 1) create|delete|rename BO
* cohost in bo conf : assistant + dataHelper * 2) assign|remove user to BO
* attendee in master conf : attendee * 3) set BO option
* attendee in bo conf : attendee * 2. Remarks:
* 1) These editing can only be done before BO is started
*
* //////////////////////////// Admin ////////////////////////////
* 1. Main Functions:
* 1) after BO is started, assign new user to BO,
* 2) after BO is started, switch user from BO-A to BO-B
* 3) stop BO
* 4) start BO
*
* //////////////////////////// Assistant ////////////////////////////
* 1. Main Functions:
* 1) join BO with BO id
* 2) leave BO
*
* //////////////////////////// Attendee ////////////////////////////
* 1. Main Functions:
* 1) join BO
* 2) leave BO
* 3) request help
*
* //////////////////////////// DataHelper ////////////////////////////
* 1. Main Functions:
* 1) get unassigned user list
* 2) get BO list
* 3) get BO object
*
*
* host in master conference : creator + admin + assistant + dataHelper
* host in BO conference : admin + assistant + dataHelper
* CoHost in master conference : [attendee] or [creator + admin + assistant + dataHelper]
* CoHost in BO conference : [attendee] or [admin + assistant + dataHelper]
* attendee in master conference : attendee + [assistant + dataHelper]
* attendee in BO conference : attendee + [assistant + dataHelper]
*
* Import Remarks:
* 1. attendee in master conference/attendee in BO conference
* 1) if BOOption.IsParticipantCanChooseBO is true, attendee has objects: [attendee + assistant + dataHelper]
* 2) if BOOption.IsParticipantCanChooseBO is false, attendee has object: [attendee]
* 2. CoHost in master conference
* 1) if CoHost is desktop client, and host is desktop client, the CoHost has objects: [creator + admin + assistant + dataHelper]
* 2) if CoHost is desktop client, and host is mobile client, the CoHost has object: [attendee]
* 3) if CoHost is mobile client, the CoHost has object: [attendee]
*/ */
/*
* 1. Function:
* 1) add/delete/rename bo meeting
* 2) assgin/remove user to bo meeting
* 2. Remarks:
* 1) only host in master meeting, can get this role
* 2) host changed, createor will assign to new host
*/
@interface MobileRTCBOCreator : NSObject @interface MobileRTCBOCreator : NSObject
/*! /*!
...@@ -100,6 +159,13 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) { ...@@ -100,6 +159,13 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) {
- (NSString * _Nullable)createBO:(NSString * _Nonnull)boName; - (NSString * _Nullable)createBO:(NSString * _Nonnull)boName;
/*! /*!
@brief create bo meetings in batches.
@param boNameList the BO name list.
@return batch bo create success or not
*/
- (BOOL)createGroupBO:(NSArray<NSString*> * _Nonnull)boNameList;
/*!
@brief update bo meeting name with bo id. @brief update bo meeting name with bo id.
@param boId the BO id. @param boId the BO id.
@param boName the BO name. @param boName the BO name.
...@@ -142,16 +208,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) { ...@@ -142,16 +208,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) {
- (MobileRTCBOOption * _Nullable)getBOOption; - (MobileRTCBOOption * _Nullable)getBOOption;
@end @end
/*
* 1. Function:
* 1) after bo started, assgin user to bo meeting,
* 2) after bo started, switch user from BO-A to BO-B
* 3) stop bo meeting
* 4) start bo meeting
* 2. Remarks:
* 1) host in master meeting or bo meeting, can get this role
* 2) can start bo meeting after bo meeting created by creator.
*/
@interface MobileRTCBOAdmin : NSObject @interface MobileRTCBOAdmin : NSObject
/*! /*!
@brief start bo meeting which assigned. @brief start bo meeting which assigned.
...@@ -216,13 +272,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) { ...@@ -216,13 +272,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) {
- (BOOL)inviteBOUserReturnToMainSession:(NSString * _Nonnull)boUserId; - (BOOL)inviteBOUserReturnToMainSession:(NSString * _Nonnull)boUserId;
@end @end
/*
* 1. Function:
* 1) join bo meeting with bo id
* 2) leave bo meeting
* 2. Remarks:
* 1) host in master meeting or bo meeting, co-host in bo meeting, can get this role
*/
@interface MobileRTCBOAssistant : NSObject @interface MobileRTCBOAssistant : NSObject
/*! /*!
...@@ -240,17 +289,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) { ...@@ -240,17 +289,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) {
@end @end
/*
* 1. Function:
* 1) only can join bo
* 2) leave bo
* 3) request help
* 2. Remarks:
* 1) if you are attendee, and are assigned to BO, you will get this role
* 2) if you are Co-Host, and are assigned to BO, you will get this role
*
*/
@interface MobileRTCBOAttendee : NSObject @interface MobileRTCBOAttendee : NSObject
/*! /*!
...@@ -283,16 +321,14 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) { ...@@ -283,16 +321,14 @@ typedef NS_ENUM(NSUInteger, MobileRTCBOStopCountDown) {
*/ */
- (BOOL)isHostInThisBO; - (BOOL)isHostInThisBO;
/*!
@brief Determine if participant can return to main session.
@return true if can, otherwise false.
*/
- (BOOL)isCanReturnMainSession;
@end @end
/*
* 1. Function:
* 1) get unassigned user list
* 2) get bo list
* 2. Remarks:
* 1) when host in master meeting or bo meeting, you will get this role
* 2) when CoHost in bo conf, you will get this role
*/
@interface MobileRTCBOData : NSObject @interface MobileRTCBOData : NSObject
/*! /*!
......
// //
// MobileRTCE2EMeetingKey.h // MobileRTCInMeetingDeviceInfo.h
// MobileRTC // MobileRTC
// //
// Created by Zoom Video Communications on 2017/9/18. // Created by Zoom on 2022/11/17.
// Copyright © 2019年 Zoom Video Communications, Inc. All rights reserved. // Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
/*! /*!
@brief The method provides support for custom end-to-end meeting session keys. @brief information of meeting device info.
@warning The function is optional. Here are more detailed structural descriptions..
*/
@interface MobileRTCInMeetingDeviceInfo : NSObject
/*!
@brief index
*/ */
@interface MobileRTCE2EMeetingKey : NSObject @property(nonatomic, assign, readonly) NSInteger index;
/*! /*!
@brief Component . @brief device name
*/ */
@property (nonatomic, assign, readwrite) MobileRTCComponentType type; @property(nonatomic, copy, readonly) NSString * _Nullable deviceName;
/*! /*!
@brief Meeting session key. @brief meeting topic
*/ */
@property (nonatomic, retain, readwrite) NSData * _Nonnull meetingKey; @property(nonatomic, copy, readonly) NSString * _Nullable meetingTopic;
/*! /*!
@brief Meeting session extra information. @brief meeting number
*/ */
@property (nonatomic, retain, readwrite) NSData * _Nullable meetingIv; @property(nonatomic, assign, readonly) NSUInteger meetingNumber;
@end @end
//
// MobileRTCLiveTranscriptionLanguage.h
// MobileRTC
//
// Created by Zoom on 2022/5/30.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface MobileRTCLiveTranscriptionLanguage : NSObject
/*!
@brief language id of transcription language
*/
@property(nonatomic, assign, readonly) NSInteger languageID;
/*!
@brief localized language name of transcription language
*/
@property(nonatomic, copy, readonly) NSString *languageName;
@end
NS_ASSUME_NONNULL_END
...@@ -81,4 +81,22 @@ ...@@ -81,4 +81,22 @@
*/ */
- (NSString *_Nullable)getWhiteboardLegalNoticesExplained; - (NSString *_Nullable)getWhiteboardLegalNoticesExplained;
/*!
@brief Set share device audio.
@param enableAudio YES means to share device audio.
*/
- (void)setShareAudio:(BOOL)enableAudio;
/*!
@brief share device audio state.
@return YES means share device audio enabled
*/
- (BOOL)isSharedAudio;
/*!
@brief Share device screen
@return YES mesns to share device screen
@warning When the onSinkMeetingActiveShare callback return. developer nned to judge that share screen state.
*/
- (BOOL)isDeviceSharing;
@end @end
//
// MobileRTCMeetingService+Avatar.h
// MobileRTC
//
// Created by Zoom on 10/10/22.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <MobileRTC/MobileRTC.h>
/*!
@brief 3d avatar image item.
*/
@interface MobileRTC3DAvatarImageInfo : NSObject
/*!
@brief Determine the usage of current image.
*/
@property (nonatomic, assign) BOOL isSelected;
/*!
@brief Get the file path of current image.
*/
@property (nonatomic, copy) NSString *imagePath;
/*!
@brief Get the name of current image.
*/
@property (nonatomic, copy) NSString *imageName;
/*!
@brief Get the index of current image.
*/
@property (nonatomic, assign) NSInteger index;
@end
/*!
@brief for 3d avatar interface
*/
@interface MobileRTCMeetingService (Avatar)
/*!
@brief Determine if the 3D avatar feature is supported by video device.
@return Yes indicates that the video device supports the 3D avatar feature.
*/
- (BOOL)is3DAvatarSupportedByDevice;
/*!
@brief Determine if the 3D avatar feature is enabled.
@return Yes indicates the video filter feature is enabled.
*/
- (BOOL)is3DAvatarEnabled;
/*!
@brief Get the array of the video filter images.
@return the array of <MobileRTC3DAvatarImageInfo*> if the call success, otherwise return nil.
*/
- (NSArray <MobileRTC3DAvatarImageInfo* >*)get3DAvatarImageList;
/*!
@brief Specify an image to be the video filter image.
@param imageInfo Specify the image to use.
@return success of errors of this function call.
@warning Will close the 3D avatar when the imageInfo.index is -1.
*/
- (MobileRTCSDKError)set3DAvatarImage:(MobileRTC3DAvatarImageInfo*)imageInfo;
@end
...@@ -38,11 +38,6 @@ ...@@ -38,11 +38,6 @@
- (MobileRTCBOData * _Nullable)getDataHelper; - (MobileRTCBOData * _Nullable)getDataHelper;
/*! /*!
@brief is user are host in mast meeting.
*/
- (BOOL)isMasterMeetingHost;
/*!
@brief is BO meeting started. @brief is BO meeting started.
*/ */
- (BOOL)isBOMeetingStarted; - (BOOL)isBOMeetingStarted;
......
...@@ -32,12 +32,13 @@ typedef enum { ...@@ -32,12 +32,13 @@ typedef enum {
- (BOOL)isPrivateChatDisabled; - (BOOL)isPrivateChatDisabled;
/*! /*!
@brief set Attendee Chat Priviledge when in-meeting @brief Set Attendee Chat Priviledge when in-meeting
@param privilege The chat privilege of the attendee
@return YES means sucessfull, otherwise not. @return YES means sucessfull, otherwise not.
@warning Only meeting host/co-host can run the function. @warning Only meeting host/co-host can run the function.
@warning only normal meeting(non webinar meeting) can run the function. @warning only normal meeting(non webinar meeting) can run the function.
*/ */
- (BOOL)changeAttendeeChatPriviledge:(MobileRTCMeetingChatPriviledgeType)type; - (BOOL)changeAttendeeChatPriviledge:(MobileRTCMeetingChatPriviledgeType)privilege;
/*! /*!
@brief get Attendee Chat Priviledge when in-meeting @brief get Attendee Chat Priviledge when in-meeting
...@@ -87,4 +88,43 @@ typedef enum { ...@@ -87,4 +88,43 @@ typedef enum {
*/ */
- (MobileRTCSendChatError)sendChatToGroup:(MobileRTCChatGroup)group WithContent:(nonnull NSString*)content; - (MobileRTCSendChatError)sendChatToGroup:(MobileRTCChatGroup)group WithContent:(nonnull NSString*)content;
/*!
@brief Delete chat message by message id.
@param msgId the message id.
@return The result of delete the message.
*/
- (BOOL)deleteChatMessage:(nonnull NSString *)msgId;
/*!
@brief Get all chat message id.
@return The all chat message id list. nil means failed.
*/
- (nullable NSArray <NSString *> *)getAllChatMessageID;
/*!
@brief Determine whether the message can be delete.
@param msgId the message id.
@return The result of the message can be deleted.
*/
- (BOOL)isChatMessageCanBeDeleted:(nonnull NSString *)msgId;
/*!
@brief Is share meeting chat legal notice available.
@return available or not.
@warning need call in meeting.
*/
- (BOOL)isShareMeetingChatLegalNoticeAvailable;
/*!
@brief Get start share meeting chat legal notice content.
@return start share chat legal notice content.
*/
- (NSString *_Nullable)getShareMeetingChatStartedLegalNoticeContent;
/*!
@brief Get stop share meeting chat legal notice content.
@return stop share chat legal notice content.
*/
- (NSString *_Nullable)getShareMeetingChatStoppedLegalNoticeContent;
@end @end
...@@ -142,4 +142,18 @@ ...@@ -142,4 +142,18 @@
*/ */
- (BOOL)dialInCall:(nullable NSString *)countryNumber; - (BOOL)dialInCall:(nullable NSString *)countryNumber;
/*!
@brief Allowing the developer to customize the URL of create/edit the polling
@param pollingURL customized URL.
@param bCreate When bCreate is true, it changes the URL of creating a polling. Otherwise, it changes the URL of editing a polling.
@return YES means the method is called successfully, otherwise not.
*/
- (BOOL)setCustomizedPollingUrl:(nullable NSString *)pollingURL bCreate:(BOOL)bCreate;
/*!
@brief Allowing the developer to customize the URL of cloud whiteboard feedback.
@param feedbackUrl customized URL.
@return YES means the method is called successfully, otherwise not.
*/
- (BOOL)setCloudWhiteboardFeedbackUrl:(nullable NSString *)feedbackUrl;
@end @end
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#import <MobileRTC/MobileRTC.h> #import <MobileRTC/MobileRTC.h>
#import <MobileRTC/MobileRTCMeetingUserInfo.h> #import <MobileRTC/MobileRTCMeetingUserInfo.h>
#import <MobileRTC/MobileRTCMeetingChat.h> #import <MobileRTC/MobileRTCMeetingChat.h>
#import "MobileRTCE2EMeetingKey.h" #import <MobileRTC/MobileRTCRawLiveStreamInfo.h>
/*! /*!
@brief Set to provide interfaces for meeting events @brief Set to provide interfaces for meeting events
...@@ -85,6 +85,12 @@ ...@@ -85,6 +85,12 @@
*/ */
- (void)turnOnCMR:(BOOL)on; - (void)turnOnCMR:(BOOL)on;
/*!
@brief Get current cloud recording.
@return return If the function succeeds, the return value is recording status.
*/
- (MobileRTCRecordingStatus)getCloudRecordingStatus;
#pragma mark Meeting Info Related #pragma mark Meeting Info Related
/*! /*!
@brief Query if the meeting is failover. @brief Query if the meeting is failover.
...@@ -183,6 +189,59 @@ ...@@ -183,6 +189,59 @@
*/ */
- (BOOL)stopLiveStream; - (BOOL)stopLiveStream;
/*
@brief Query Whether the meeting supports raw live streams.
@return YES if supported, NO if not supported.
*/
- (BOOL)isRawLiveStreamSupported;
/*
@brief Whether the current user is able to start raw live streaming.
@return If the current user is able to start raw live streaming, the return value is MobileRTCSDKError_Success.
Otherwise it fails. To get extended error information, see [MobileRTCSDKError] enum.
*/
- (MobileRTCSDKError)canStartRawLiveStream;
/*
@brief Send a request to enable the SDK to start a raw live stream.
@return If the function succeeds, the return value is MobileRTCSDKError_Success and the SDK will send the request.
Otherwise it fail and the request will not be sent. To get extended error information, see [MobileRTCSDKError] enum.
*/
- (MobileRTCSDKError)requestRawLiveStream:(nonnull NSString *)broadcastURL;
/*!
@brief Start a rawData live stream.
@param broadcastURL Everyone who uses this link can watch the live broadcast.
@return If the function succeeds, it will return the MobileRTCSDKError_Success, otherwise failed.
*/
- (MobileRTCSDKError)startRawLiveStream:(nonnull NSString *)broadcastURL;
/*!
@brief Stop a rawData live stream.
@return If the function succeeds, it will return the MobileRTCSDKError_Success, otherwise failed.
*/
- (MobileRTCSDKError)stopRawLiveStream;
/*!
@brief Remove the raw live stream privilege.
@param userId Specify the ID of the user whose privilege will be removed.
@return If the function succeeds, the return value is SDKErr_Success. Otherwise it fails. To get extended error information, see [MobileRTCSDKError] enum.
*/
- (MobileRTCSDKError)removeRawLiveStreamPrivilege:(NSUInteger)userId;
/*
@brief Get a list of current active raw live streams.
@return If the function succeeds, the return value is a pointer to the NSArray object.
*/
- (NSArray<MobileRTCRawLiveStreamInfo *> * _Nullable)getRawLiveStreamingInfoList;
/*
@brief Get the list of users’ IDs who have raw live stream privileges.
@return If the function succeeds, the return value is a pointer to the NSArray object.
*/
- (NSArray <NSNumber *> * _Nullable)getRawLiveStreamPrivilegeUserList;
#pragma mark Display/Hide Meeting UI #pragma mark Display/Hide Meeting UI
/*! /*!
@brief Set to show UI of meeting. @brief Set to show UI of meeting.
...@@ -227,6 +286,23 @@ ...@@ -227,6 +286,23 @@
*/ */
- (void)switchToDriveScene; - (void)switchToDriveScene;
/*!
@brief show app signaling pannel in designated position of container view.
@param containerView the view container to show app signaling pannel.
@param originXY the origin position of app signaling pannel in container view.
@return MobileRTCANNError_Success means the operation succeed, otherwise not
@warning originXY only take effect on iPad device, behavior of iphone always pop up from the bottom with the device width.
*/
- (MobileRTCANNError)showAANPanelInView:(UIView *_Nullable)containerView originPoint:(CGPoint)originXY;
/*!
@brief hide app signaling pannel.
@return MobileRTCANNError_Success means the operation succeed, otherwise not
@warning suggest to hide ANNPannel when device orietation changed or trait collection changed to avoid layout issues
*/
- (MobileRTCANNError)hideAANPanel;
#pragma mark - Q&A Related #pragma mark - Q&A Related
/*! /*!
@brief Query if Q&A is enabled. @brief Query if Q&A is enabled.
......
...@@ -166,4 +166,196 @@ ...@@ -166,4 +166,196 @@
*/ */
- (NSInteger)getInterpreterActiveLan; - (NSInteger)getInterpreterActiveLan;
/*!
@brief Get the list of available languages that interpreters can hear.
@return If the function succeeds, the return value is a pointer to the NSArray NSArray <MobileRTCInterpretationLanguage *>, Otherwise failed, the return value is nil.
*/
- (NSArray <MobileRTCInterpretationLanguage *> * _Nullable)getInterpreterAvailableLanguages;
/*!
@brief Set a language that I can hear as an interpreter.
@param lanID Specify the selected language that I can hear as an interpreter.
@return The result of the function.
*/
- (BOOL)setInterpreterListenLan:(NSInteger)lanID;
/*!
@brief Get a language that I can hear as an interpreter.
@return Specify the selected language that I can hear as an interpreter.Otherwise failed, the return value is -1.
*/
- (NSInteger)getInterpreterListenLan;
@end @end
#pragma mark MobileRTCSignInterpreter
@interface MobileRTCSignInterpreterLanguage : NSObject
/**
@brief Get sign language id.
*/
@property (copy, nonatomic, nullable) NSString * languageName;
/**
@brief Get sign language name.
*/
@property (copy, nonatomic, nullable) NSString * languageID;
@end
@interface MobileRTCSignInterpreter : NSObject
/**
@brief Get the user ID.
*/
@property (assign, nonatomic) NSUInteger userID;
/**
@brief Determine if the sign interpreter is available.
*/
@property (assign, nonatomic) BOOL available;
/**
@brief Get sign user name.
*/
@property (copy, nonatomic, nullable) NSString * userName;
/**
@brief Get sign email.
*/
@property (copy, nonatomic, nullable) NSString * email;
/**
@brief Get sign language name.
*/
@property (copy, nonatomic, nullable) NSString * languageName;
/**
@brief Get the language id of the sign interpreter support.
*/
@property (copy, nonatomic, nullable) NSString * languageID;
@end
@interface MobileRTCMeetingService (SignInterpreter)
/**
@brief Determine if the sign interpretation function is enabled.
@return YES means sign interpretation function is enable,otherwise not.
*/
- (BOOL)isSignInterpretationEnabled;
/**
@brief Get sign interpretation status of current meeting.
@return If the function succeeds, the return value is the sign interpretation status of current meeting.For more details, see {@link MobileRTCSignInterpretationStatus}.
*/
- (MobileRTCSignInterpretationStatus)getSignInterpretationStatus;
/**
@brief Determine if self is sign interpreter.
@return YES means self is sign interpreter,otherwise not.
*/
- (BOOL)isSignInterpreter;
/**
@brief Get the sign interpretation language object of specified sign language ID.
@param signLanguageID Specify the sign language ID for which you want to get the information.
@return If the function succeeds, the return value is MobileRTCSignInterpreterLanguage object.
*/
- (MobileRTCSignInterpreterLanguage *_Nullable)getSignInterpretationLanguageInfoByID:(NSString *_Nullable)signLanguageID;
/**
@brief Get the available sign interpretation language list.
@return If the function succeeds, the return array contain available language object.
*/
- (NSArray<MobileRTCSignInterpreterLanguage *> *_Nullable)getAvailableSignLanguageInfoList;
/**
@brief Get the all supported sign interpretation language list.only for host.
@return If the function succeeds, the return array contain support language object.
@warning the interface for host only.
*/
- (NSArray<MobileRTCSignInterpreterLanguage *> *_Nullable)getAllSupportedSignLanguageInfoList;
/**
@brief Get the sign interpreters list.
@return If the function succeeds, the return array contain sign interpreter object.
*/
- (NSArray<MobileRTCSignInterpreter *> *_Nullable)getSignInterpreterList;
/**
@brief Add someone as a sign interpreter.
@param userID The unique identity of the user.
@param signLanID The id of sign language.
@return If the function succeeds, it will return MobileRTCSDKError_Success, otherwise not.
@warning the interface for host only.
*/
- (MobileRTCSDKError)addSignInterpreter:(NSUInteger)userID signLanId:(NSString *_Nullable)signLanID;
/**
@brief Remove interpreter.
@param userID The unique identity of the user.
@return If the function succeeds, it will return MobileRTCSDKError_Success, otherwise not.
@warning the interface for host only.
*/
- (MobileRTCSDKError)removeSignInterpreter:(NSUInteger)userID;
/**
@brief Modify the language of some sign interpreter.
@param userID The unique identity of the user.
@param signLanID The id of sign language.
@return If the function succeeds, it will return MobileRTCSDKError_Success, otherwise not.
@warning the interface for host only.
*/
- (MobileRTCSDKError)modifySignInterpreter:(NSUInteger)userID signLanId:(NSString *_Nullable)signLanID;
/**
@brief Determine if I can start the sign interpretation in the meeting.
@warning the interface for host only.
*/
- (BOOL)canStartSignInterpretation;
/**
@brief Start sign interpretation.
@return If the function succeeds, it will return MobileRTCSDKError_Success, otherwise not.
@warning the interface for host only.
*/
- (MobileRTCSDKError)startSignInterpretation;
/**
@brief Stop sign interppretation.
@return If the function succeeds, it will return MobileRTCSDKError_Success, otherwise not.
@warning the interface for host only.
*/
- (MobileRTCSDKError)stopSignInterpretation;
/**
@brief Host allow sign language interpreter to talk.
@param userID The unique identity of the user.
@param allowToTalk YES indicates to allow to talk, otherwise not.
@return If the function succeeds, it will return MobileRTCSDKError_Success, otherwise not.
*/
- (MobileRTCSDKError)requestSignLanuageInterpreterToTalk:(NSUInteger)userID allowToTalk:(BOOL)allowToTalk;
/**
@brief Determine if the sign language interpreter be allowed to talk.
@param userID The unique identity of the user.
@return YES indicates to allow to talk, otherwise not.
*/
- (BOOL)isAllowSignLanuageInterpreterToTalk:(NSUInteger)userID;
/**
@brief Get sign language id if myself is a sign interpreter.only for interpreter.
@return If the function succeeds, the return value is the current assigned sign language id, otherwise not.
*/
- (NSString *_Nullable)getSignInterpreterAssignedLanID;
/**
@brief Join some sign language channel if myself is not a sign interpreter.only for non-interpreter.
@return If the function succeeds, it will return MobileRTCSDKError_succuss, otherwise not.
@warning the inferface only for ZOOM UI
*/
- (MobileRTCSDKError)joinSignLanguageChannel:(NSString *_Nullable)signLanID;
/**
@brief Leave current sign language channel if myself is not a sign interpreter.only for non-interpreter.
@return If the function succeeds, it will return MobileRTCSDKError_succuss, otherwise not.
@warning the inferface only for ZOOM UI
*/
- (MobileRTCSDKError)leaveSignLanguageChannel;
@end
//
// MobileRTCMeetingService+LiveTranscription.h
// MobileRTC
//
// Created by Zoom Video Communications on 2021/10/27.
// Copyright © 2021 Zoom Video Communications, Inc. All rights reserved.
//
#import <MobileRTC/MobileRTC.h>
#import "MobileRTCConstants.h"
#import "MobileRTCLiveTranscriptionLanguage.h"
@interface MobileRTCMeetingService (LiveTranscription)
/*!
@brief Query if the current meeting is supported closed caption.
@return YES means that the current meeting is supported close caption.
*/
- (BOOL)isMeetingSupportCC;
/*!
@brief Query if the user is can be assigned to send closed caption.
@param userid the user id.
@return TRUE means that the user can be assigned to send closed caption.
*/
- (BOOL)canBeAssignedToSendCC:(NSUInteger)userId;
/*!
@brief Assign the user privilege to send closed caption.
@param userid the user id.
@return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)assignCCPrivilege:(NSUInteger)userId;
/*!
@brief WithDraw the user privilege to send closed caption.
@param userid the user id.
@return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)withdrawCCPrivilege:(NSUInteger)userId;
/*!
@brief Query if the current user can assign the privilege of send closed caption to others.
@return YES means that the user can assign others privilege to send closed caption.
*/
- (BOOL)canAssignOthersToSendCC;
/*!
@brief Hosts only API to set meeting language for the entire meeting
*/
- (BOOL)enableMeetingManualCaption:(BOOL)bEnable;
/*!
@brief Determine whether it is enabled to manual input CC for meeting.
*/
- (BOOL)isMeetingManualCaptionEnabled;
/*!
@brief Query if this meeting support the live transcription feature.
@return YES means that the live transcription feature is supported.
*/
- (BOOL)isLiveTranscriptionFeatureEnabled;
/*!
@brief Query the current live transcription status.
@return @return the live transcription status. For more details, see MobileRTCLiveTranscriptionStatus.
*/
- (MobileRTCLiveTranscriptionStatus)getLiveTranscriptionStatus;
/*!
@brief Query if meeting participants can start live transcription.
@return YES means that the participant can start live transcription.
*/
- (BOOL)canStartLiveTranscription;
/*!
@brief Start live transcription. If the meeting enable multi language transcription,all user can start live transcription otherwise only host can start.
@return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)startLiveTranscription;
/*!
@brief Stop live transcription. If the meeting enable multi language transcription,all user can stop live transcription,otherwise only host can stop.
@return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)stopLiveTranscription;
/*!
@brief The host enable/disable the request live transcription.
@param enable YES means that enable the request live transcription; FALSE means that disable the request live transcription.
@return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)enableRequestLiveTranscription:(BOOL)enable;
/*!
@brief Query if it is enabled to request to start live transcription.
@return YES means that it is enabled to request to start live transcription.
*/
- (BOOL)isRequestToStartLiveTranscriptionEnabled;
/*!
@brief Request the host to start live transcription.
@param requestAnonymous TRUE means that it is anonymous to request the host to start live transcription.
@return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)requestToStartLiveTranscription:(BOOL)requestAnonymous;
/*!
@brief Determine whether the multi language transcription feature is enabled.
@return returns YES if multi-language transcription enabled. Otherwise failed.
*/
- (BOOL)isMultiLanguageTranscriptionEnabled;
/**
@brief Determine whether the translated captions feature is enabled.
@return YES means enabled, otherwise not.
*/
- (BOOL)isTextLiveTranslationEnabled;
/*!
@brief Get the list of all available spoken languages in meeting.
@return If the function succeeds, the return value is the list of the available spoken languages in meeting. Otherwise failed, the return value is NULL.
*/
- (NSArray<MobileRTCLiveTranscriptionLanguage*>*)getAvailableMeetingSpokenLanguages;
/*!
@brief set spoken language of the current user.
@param languageID: the speak language id.
@return If the function succeeds, the return value is SDKErr_Success. Otherwise failed. To get extended error information, see \link SDKError \endlink enum.
*/
- (BOOL)setMeetingSpokenLanguage:(NSInteger)languageID;
/*!
@brief Get the spoken language of the current user.
*/
- (MobileRTCLiveTranscriptionLanguage *)getMeetingSpokenLanguage;
/*!
@brief Get the list of all available translation languages in meeting.
@return If the function succeeds, the return value is the list of all available translation languages in meeting. Otherwise failed, the return value is NULL.
*/
- (NSArray<MobileRTCLiveTranscriptionLanguage*>*)getAvailableTranslationLanguages;
/*!
@brief set the translation language of the current user.
@param languageID: the translation language id. If the language ID is set to -1, live translation will be disabled,then you can reveive closed caption when host set meeting manual caption is true.
@return If the function succeeds, the return value is SDKErr_Success. Otherwise failed. To get extended error information, see \link SDKError \endlink enum.
*/
- (BOOL)setTranslationLanguage:(NSInteger)languageID;
/*!
@brief Get the translation language of the current user.
*/
- (MobileRTCLiveTranscriptionLanguage *)getTranslationLanguage;
@end
//
// MobileRTCMeetingService+RawArchiving.h
// MobileRTC
//
// Created by Zoom Video Communications on 2022/7/25.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <MobileRTC/MobileRTC.h>
@interface MobileRTCMeetingService (RawArchiving)
/**
* @brief start raw archiving,call this method can get rawdata receive previlege.
* @return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)startRawArchiving;
/**
* @brief stop raw archiving, call this method reclaim rawdata receive previlege.
* @return If the function succeeds, the return value is YES. Otherwise failed.
*/
- (BOOL)stopRawArchiving;
@end
...@@ -25,8 +25,15 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -25,8 +25,15 @@ NS_ASSUME_NONNULL_BEGIN
* @param skinTone The skintone of the emoji reaction * @param skinTone The skintone of the emoji reaction
* @return If the function succeeds, it will return MobileRTCMeetError_Success, otherwise not. * @return If the function succeeds, it will return MobileRTCMeetError_Success, otherwise not.
*/ */
- (MobileRTCMeetError)sendEmojiReaction:(MobileRTCEmojiReactionType)type reactionSkinTone:(MobileRTCEmojiReactionSkinTone)skinTone; - (MobileRTCMeetError)sendEmojiReaction:(MobileRTCEmojiReactionType)type reactionSkinTone:(MobileRTCEmojiReactionSkinTone)skinTone DEPRECATED_MSG_ATTRIBUTE("Use -sendEmojiReaction: instead");
/**
* @brief Send emoji reaction.
* @param type The type of the emoji reaction.
* @return If the function succeeds, it will return ZoomSDKError_succuss, otherwise not.
* @waring MobileRTCEmojiReactionSkinTone don't work for MobileRTCEmojiReactionType_Heart type. if you want to set MobileRTCEmojiReactionSkinTone, you need to use -[MobileRTCMeetingSettings setReactionSkinTone] in MobileRTCMeetingSettings.h file
*/
- (MobileRTCMeetError)sendEmojiReaction:(MobileRTCEmojiReactionType)type;
@end @end
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
@brief Get user information in the meeting. @brief Get user information in the meeting.
@param userId In-meeting user ID. @param userId In-meeting user ID.
@return User information. @return User information.
@warning webinar attendee can not call the function, please use: [attendeeInfoByID:].
*/ */
- (nullable MobileRTCMeetingUserInfo*)userInfoByID:(NSUInteger)userId; - (nullable MobileRTCMeetingUserInfo*)userInfoByID:(NSUInteger)userId;
...@@ -43,7 +44,8 @@ ...@@ -43,7 +44,8 @@
@brief Get attendees' information in the webinar. @brief Get attendees' information in the webinar.
@param userId attendee's ID in meeting. @param userId attendee's ID in meeting.
@return attendee info, a MobileRTCMeetingWebinarAttendeeInfo object. @return attendee info, a MobileRTCMeetingWebinarAttendeeInfo object.
@warning Only webinar meeting host/co-host/panelist can run the function. @warning webinar meeting host/co-host/panelist can get other attendee info.
@warning webinar attendee can only get their own attendee info.
*/ */
- (nullable MobileRTCMeetingWebinarAttendeeInfo*)attendeeInfoByID:(NSUInteger)userId; - (nullable MobileRTCMeetingWebinarAttendeeInfo*)attendeeInfoByID:(NSUInteger)userId;
...@@ -124,10 +126,11 @@ ...@@ -124,10 +126,11 @@
/*! /*!
@brief Set to put all users' hands down. @brief Set to put all users' hands down.
@param isWebinarAttendee YES indicates to lower all hands for webinar attendee.
@return YES means that the method is called successfully, otherwise not. @return YES means that the method is called successfully, otherwise not.
@@warning Only meeting host/cohost can run the function when in meeting. @@warning Only meeting host/cohost can run the function when in meeting.
*/ */
- (BOOL)lowerAllHand; - (BOOL)lowerAllHand:(BOOL)isWebinarAttendee;
/*! /*!
@brief Query if the current user can claim to be a host @brief Query if the current user can claim to be a host
...@@ -136,6 +139,12 @@ ...@@ -136,6 +139,12 @@
- (BOOL)canClaimhost; - (BOOL)canClaimhost;
/*! /*!
@brief Reclaim the role of the host.
@return YES means that the current user can claim to be a host, otherwise not.
*/
- (BOOL)reclaimHost;
/*!
@brief Set to claim to be a host by host key. @brief Set to claim to be a host by host key.
@param hostKey Host key. @param hostKey Host key.
@return YES means that the method is called successfully, otherwise not. @return YES means that the method is called successfully, otherwise not.
...@@ -161,4 +170,17 @@ ...@@ -161,4 +170,17 @@
@return YES means that the method is called successfully, otherwise not. @return YES means that the method is called successfully, otherwise not.
*/ */
- (BOOL)canBeCoHost:(NSUInteger)userID; - (BOOL)canBeCoHost:(NSUInteger)userID;
/*!
@brief Determine whether the user has started a live stream.
@return YES indicates that the specified user has started a raw live stream, otherwise NO.
*/
- (BOOL)isRawLiveStreaming:(NSUInteger)userID;
/*!
@brief Determine whether the user has raw live stream privilege.
@return YES indicates that the specified user has raw live stream privilege, otherwise false NO.
*/
- (BOOL)hasRawLiveStreamPrivilege:(NSUInteger)userID;
@end @end
...@@ -27,13 +27,18 @@ ...@@ -27,13 +27,18 @@
@param mute YES means to mute video of the current user, otherwise not. @param mute YES means to mute video of the current user, otherwise not.
@return The result of operation. @return The result of operation.
*/ */
- (MobileRTCVideoError)muteMyVideo:(BOOL)mute; - (MobileRTCSDKError)muteMyVideo:(BOOL)mute;
/*!
@brief Rotate my video.
@return the result of it.
*/
- (BOOL)rotateMyVideo:(UIDeviceOrientation)rotation;
/*! /*!
@brief Query if user's video is spotlighted. Once the user's video is spotlighted, it will show only the specified video in the meeting instead of active user's. @brief Query if user's video is spotlighted. Once the user's video is spotlighted, it will show only the specified video in the meeting instead of active user's.
@param userId The ID of user in meeting. @param userId The ID of user in meeting.
@return YES means spotlighted, otherwise not. @return YES means spotlighted, otherwise not.
@warning The function is only for Zoom UI.
*/ */
- (BOOL)isUserSpotlighted:(NSUInteger)userId; - (BOOL)isUserSpotlighted:(NSUInteger)userId;
...@@ -42,12 +47,24 @@ ...@@ -42,12 +47,24 @@
@param on YES means to spotlight user's video; NO means that spotlight user's video will be canceled. @param on YES means to spotlight user's video; NO means that spotlight user's video will be canceled.
@param userId The ID of user whose video will be spotlighted in the meeting. @param userId The ID of user whose video will be spotlighted in the meeting.
@return YES means that the method is called successfully, otherwise not. @return YES means that the method is called successfully, otherwise not.
@warning Only meeting host can run the function, and user spotlighted should not be the host himself. @warning Only meeting host/cohost can run the function, and user spotlighted should not be the host himself.
@warning The function is only for Zoom UI.
*/ */
- (BOOL)spotlightVideo:(BOOL)on withUser:(NSUInteger)userId; - (BOOL)spotlightVideo:(BOOL)on withUser:(NSUInteger)userId;
/*! /*!
@brief Un-spotlight all the user.
@return Yes means follow, otherwise not.
@warning Only meeting host/cohost can run the function, and user spotlighted should not be the host himself.
*/
- (BOOL)unSpotlightAllVideos;
/*!
@brief get spotlight user list.
@return userId array.
*/
- (NSArray <NSNumber *>* _Nullable)getSpotLightedVideoUserList;
/*!
@brief Query if the user's video is pinned. @brief Query if the user's video is pinned.
@param userId The ID of user whose video will be pinned in the meeting. @param userId The ID of user whose video will be pinned in the meeting.
@return YES means that the user's video is pinned, otherwise not. @return YES means that the user's video is pinned, otherwise not.
...@@ -106,4 +123,23 @@ ...@@ -106,4 +123,23 @@
@return The result of operation. @return The result of operation.
*/ */
- (MobileRTCCameraError)switchMyCamera; - (MobileRTCCameraError)switchMyCamera;
/*!
@brief Qurry if the account support follow host video order feature or not.
@return Yes means support, otherwise not.
*/
- (BOOL)isSupportFollowHostVideoOrder;
/*!
@brief Qurry if follow host video order or not currently.
@return Yes means follow, otherwise not.
*/
- (BOOL)isFollowHostVideoOrderOn;
/*!
@brief get follow host video order array currently.
@return userId array.
*/
- (NSArray <NSNumber *>* _Nullable)getVideoOrderList;
@end @end
...@@ -12,12 +12,6 @@ ...@@ -12,12 +12,6 @@
@brief image item property @brief image item property
*/ */
@interface MobileRTCVirtualBGImageInfo : NSObject @interface MobileRTCVirtualBGImageInfo : NSObject
/*!
@brief None item if yes.
*/
@property(nonatomic, assign) BOOL isNone DEPRECATED_MSG_ATTRIBUTE("USE vbType INSTEAD");
/*! /*!
@brief virtual background image type. @brief virtual background image type.
*/ */
...@@ -109,12 +103,13 @@ ...@@ -109,12 +103,13 @@
@param enable or disable. @param enable or disable.
@return result of enable green virtual background. @return result of enable green virtual background.
@warning only iPad support Virtual background GreenScreen, iPhone does not support the feature. @warning only iPad support Virtual background GreenScreen, iPhone does not support the feature.
@warning need call "startPreviewWithFrame:" to get the preview View, and shown in your UI hierarchy. Then select the point in preview view. We will using the color of your selected(point of the preview) to calculate the background.
*/ */
- (MobileRTCMeetError)enableGreenVB:(BOOL)enable; - (MobileRTCMeetError)enableGreenVB:(BOOL)enable;
/*! /*!
@brief Select the point that regard as background. @brief Select the point that regard as background.
@param point in preview view. @param point point in preview view.
@return result of set background point action. @return result of set background point action.
@warning only iPad support Virtual background GreenScreen, iPhone does not support the feature. @warning only iPad support Virtual background GreenScreen, iPhone does not support the feature.
*/ */
......
...@@ -32,6 +32,20 @@ ...@@ -32,6 +32,20 @@
- (BOOL)dePromptPanelist2Attendee:(NSUInteger)userID; - (BOOL)dePromptPanelist2Attendee:(NSUInteger)userID;
/*! /*!
@brief Set the chat privilege of the panelist.
@param privilege The chat privilege of the panelist
@return YES means sucessfull, otherwise not.
@warning Only meeting host/co-host can run the function.
@warning Only webinar meeting can run the function.
*/
- (BOOL)changePanelistChatPrivilege:(MobileRTCPanelistChatPrivilegeType)privilege;
/*!
@brief Get the chat privilege of the panelist.
@return The chat privilege of the panelist.
*/
- (MobileRTCPanelistChatPrivilegeType)getPanelistChatPrivilege;
/*!
@brief Allow attendee to chat. @brief Allow attendee to chat.
@return YES means that the method is called successfully, otherwise not. @return YES means that the method is called successfully, otherwise not.
@warning Only meeting host/co-host can run the function. @warning Only meeting host/co-host can run the function.
...@@ -40,6 +54,12 @@ ...@@ -40,6 +54,12 @@
- (BOOL)allowAttendeeChat:(MobileRTCChatAllowAttendeeChat)privilegeType; - (BOOL)allowAttendeeChat:(MobileRTCChatAllowAttendeeChat)privilegeType;
/*! /*!
@brief get webinar attendee chat privilege type.
@return The chat privilege type for the webinar attendee.
*/
- (MobileRTCChatAllowAttendeeChat)getWebinarAttendeeChatPrivilege;
/*!
@brief Query if attendee is allowed to talk in Webinar Meeting. @brief Query if attendee is allowed to talk in Webinar Meeting.
@param userId The ID of user to be allowed. @param userId The ID of user to be allowed.
@return YES means allowed, otherwise not. @return YES means allowed, otherwise not.
......
//
// MobileRTCMeetingService.h
// MobileRTC
//
// Created by Zoom Video Communications on 8/7/14.
// Copyright (c) 2019 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "MobileRTCConstants.h"
#import "MobileRTCMeetingDelegate.h"
/**
* @brief Provides settings for starting a meeting, such as enabling screen sharing, microphone, and camera.
*/
@interface MobileRTCMeetingStartParam : NSObject
/**
* @brief Start meeting with screen sharing immediately enabled.
*/
@property (nonatomic, assign, readwrite) BOOL isAppShare;
/**
* @brief Start meeting with microphone disabled.
*/
@property (nonatomic, assign, readwrite) BOOL noAudio;
/**
* @brief Start meeting with camera disabled.
*/
@property (nonatomic, assign, readwrite) BOOL noVideo;
/**
* @brief Developer-specified string to track end user.
* @note Provided in webhook event, not used internally by SDK.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * customerKey;
/**
*@brief Special ID for the personal link name in organization URL, like "yourcompany" in yourcompany.zoom.us.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * vanityID;
/**
* @brief Meeting number, in format like 123456789.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * meetingNumber;
@end
/**
* @brief Provides settings for a logged-in user to start a meeting.
*/
@interface MobileRTCMeetingStartParam4LoginlUser : MobileRTCMeetingStartParam
@end
/**
* @brief Provides parameters for a non-logged-in user (an anonymous user) to start a meeting.
* @warning The ZAK cannot be null.
*/
@interface MobileRTCMeetingStartParam4WithoutLoginUser : MobileRTCMeetingStartParam
/**
* @brief User type enum defined in {@link MobileRTCUserType}.
*/
@property (nonatomic, assign, readwrite) MobileRTCUserType userType;
/**
* @brief The user's display name in the meeting.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * userName;
/**
* @brief The user's Zoom Access Key (ZAK) token.
* @warning The ZAK cannot be null.
*/
@property (nonnull, nonatomic, retain, readwrite) NSString * zak;
@end
/**
* @brief Provides settings for joining a meeting, such as start meeting with microphone or camera disabled.
*/
@interface MobileRTCMeetingJoinParam : NSObject
/**
* @brief Start meeting with microphone disabled.
*/
@property (nonatomic, assign, readwrite) BOOL noAudio;
/**
* @brief Start meeting with camera disabled.
*/
@property (nonatomic, assign, readwrite) BOOL noVideo;
/**
* @brief Developer-specified string to track end user.
* @note Provided in webhook event, not used internally by SDK.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * customerKey;
/**
* @brief Special ID for the personal link name in the organization URL, like "yourcompany" in yourcompany.zoom.us.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * vanityID;
/**
* @brief Meeting number, in format like 123456789.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * meetingNumber;
/**
* @brief User name.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * userName;
/**
* @brief Password.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * password;
/**
* @brief WebinarToken.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * webinarToken;
/**
* @brief The user's Zoom Access Key (ZAK) token.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * zak;
/**
* @brief Token that provides privileges when a user joins a meeting, for example, local recording permissions, streaming to raw, or archiving to raw.
*/
@property(nullable, nonatomic, retain, readwrite) NSString *appPrivilegeToken;
/**
* @brief Token to join a meeting.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * join_token;
@end
/**
* @brief Interface that provides settings for legal notice content for Webinar registration.
*/
@interface MobileRTCWebinarRegistLegalNoticeContent : NSObject
/**
* @brief Formatted HTML content string.
* @note Formatting parameters in order are account owner URL, terms URL, and privacy policy URL.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * formattedHtmlContent;
/**
* @brief Account owner URL in formatted HTML content.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * accountOwnerUrl;
/**
*@brief Terms URL in formatted HTML content.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * termsUrl;
/**
* @brief Privacy policy URL in formatted HTML content.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * privacyPolicyUrl;
@end
/**
* @brief Provides settings for meetings.
*/
@interface MobileRTCMeetingParameter : NSObject
/**
* @brief Meeting type. {@link MobileRTCMeetingType}
*/
@property (nonatomic, assign) MobileRTCMeetingType meetingType;
/**
* @brief View only or not. YES indicates to view only.
*/
@property (nonatomic, assign) BOOL isViewOnly;
/**
* @brief Auto local recording enabled or not. YES indicates to enable auto local recording.
*/
@property (nonatomic, assign) BOOL isAutoRecordingLocal;
/**
* @brief Auto cloud recording enabled or not. YES indicates to enable auto cloud recording.
*/
@property (nonatomic, assign) BOOL isAutoRecordingCloud;
/**
* @brief Meeting number.
*/
@property (nonatomic, assign) unsigned long long meetingNumber;
/**
* @brief Meeting topic.
*/
@property (nonatomic, retain) NSString * _Nullable meetingTopic;
/**
* @brief Meeting host.
*/
@property (nonatomic, retain) NSString * _Nullable meetingHost;
@end
@protocol MobileRTCMeetingServiceDelegate;
/**
* @brief Enables the client to start or join a meeting.
* @warning The meeting service allows only one concurrent operation at a time. Only one API call is in progress at any given time.
*/
@interface MobileRTCMeetingService : NSObject
/**
* @brief Callback to receive meeting events.
*/
@property (nullable, assign, nonatomic) id<MobileRTCMeetingServiceDelegate> delegate;
/**
* @brief Callback for custom UI meeting events. Custom UI features enable you to customize the user interface instead of using the default client view.
*/
@property (nullable, assign, nonatomic) id<MobileRTCCustomizedUIMeetingDelegate> customizedUImeetingDelegate;
/**
* @brief Start a meeting with MobileRTCMeetingStartParam parameter.
* @note For a non-logged-in user, create an instance via MobileRTCMeetingStartParam4WithoutLoginUser to pass the parameters. For a logged-in user, create an instance via MobileRTCMeetingStartParam4LoginlUser to pass the parameters.
* @param param Create an instance with settings via MobileRTCMeetingStartParam.
* @return The state of the meeting: started or failed.
* @warning A meeting started with wrong parameters will return MobileRTCMeetError_InvalidArguments.
*/
- (MobileRTCMeetError)startMeetingWithStartParam:(nonnull MobileRTCMeetingStartParam*)param;
/**
* @brief Join a meeting with MobileRTCMeetingJoinParam parameter.
* @param param Create an instance with settings via MobileRTCMeetingJoinParam.
* @return The state of the meeting: started or failed.
* @note If the app is in CallKit mode, set parameter:userName to empty. CallKit lets you integrate your calling services with other call-related apps on the system.
*/
- (MobileRTCMeetError)joinMeetingWithJoinParam:(nonnull MobileRTCMeetingJoinParam*)param;
/**
* @brief Start or join a Zoom meeting with zoom web URL.
* @param meetingUrl Zoom web meeting URL.
* @return The state of the meeting: started or failed.
*/
- (MobileRTCMeetError)handZoomWebUrl:(nonnull NSString*)meetingUrl;
/**
* @brief Get the current meeting state.
* @return Current meeting state. {@link MobileRTCMeetingState}
*/
- (MobileRTCMeetingState)getMeetingState;
/**
* @brief End or leave the current meeting.
* @param cmd The command for leaving the current meeting. Only a host can end the meeting. {@link LeaveMeetingCmd}
*/
- (void)leaveMeetingWithCmd:(LeaveMeetingCmd)cmd;
/**
* @brief This method will return the view of meeting UI, which enables customers to add their own view in the meeting UI.
* @return The view of the current meeting. If there is no ongoing meeting, it will return nil.
* @warning Only valid in non-custom UI (only valid in Zoom meeting UI).
*/
- (UIView * _Nullable)meetingView;
/**
* @brief Set the customized invitation domain.
* @param invitationDomain: Specify the customized invitation domain. For example, https://example.com.
* @return YES means success, otherwise it's not successful.
* @warning This method can only be called after auth ready and before join or start meeting.
*/
- (BOOL)setCustomizedInvitationDomain:(NSString *_Nonnull)invitationDomain;
/**
* @brief Get annotation over share legal notices prompt.
* @return annotation over share legal notices prompt.
*/
- (NSString *_Nullable)getWebinarRegistrationLegalNoticesPrompt;
/**
* @brief Get annotation over share legal notices explained.
* @return annotation over share legal notices explained.
*/
- (MobileRTCWebinarRegistLegalNoticeContent *_Nullable)getWebinarRegistrationLegalNoticesExplained;
@end
...@@ -51,6 +51,12 @@ ...@@ -51,6 +51,12 @@
@property (assign, nonatomic) BOOL meetingInviteHidden; @property (assign, nonatomic) BOOL meetingInviteHidden;
/*! /*!
@brief Show/Hide INVITE link in the meeting info view.
@warning The function only for Zoom UI.
*/
@property (assign, nonatomic) BOOL meetingInviteUrlHidden;
/*!
@brief Show/Hide Chat in the meeting bar. @brief Show/Hide Chat in the meeting bar.
@warning The function only for Zoom UI. @warning The function only for Zoom UI.
*/ */
...@@ -104,7 +110,7 @@ ...@@ -104,7 +110,7 @@
@warning The option is available only on iPad if you want to use Kubi device. @warning The option is available only on iPad if you want to use Kubi device.
@warning The function only for Zoom UI. @warning The function only for Zoom UI.
*/ */
@property (assign, nonatomic) BOOL enableKubi; @property (assign, nonatomic) BOOL enableKubi DEPRECATED_ATTRIBUTE;
/*! /*!
@brief Change thumbnail video layout while viewing a share in the meeting. @brief Change thumbnail video layout while viewing a share in the meeting.
...@@ -185,6 +191,17 @@ ...@@ -185,6 +191,17 @@
@brief Enable Custom In-Meeting UI in meeting. @brief Enable Custom In-Meeting UI in meeting.
*/ */
@property (assign, nonatomic) BOOL enableCustomMeeting; @property (assign, nonatomic) BOOL enableCustomMeeting;
/*!
@brief hide feedback button on cloud whiteboard.
*/
@property (assign, nonatomic) BOOL hideFeedbackButtonOnCloudWhiteboard;
/*!
@brief hide share button on cloud whiteboard.
*/
@property (assign, nonatomic) BOOL hideShareButtonOnCloudWhiteboard;
/*! /*!
@brief Query if the user joins meeting with audio device. @brief Query if the user joins meeting with audio device.
@return YES means the audio device is automatically connected, otherwise not. @return YES means the audio device is automatically connected, otherwise not.
...@@ -223,7 +240,7 @@ ...@@ -223,7 +240,7 @@
/*! /*!
@brief Query Touch up my appearance enable or not @brief Query Touch up my appearance enable or not
@param muted YES means enable, otherwise not. @return muted YES means enable, otherwise not.
*/ */
- (BOOL)faceBeautyEnabled; - (BOOL)faceBeautyEnabled;
...@@ -234,6 +251,19 @@ ...@@ -234,6 +251,19 @@
- (void)setFaceBeautyEnabled:(BOOL)enable; - (void)setFaceBeautyEnabled:(BOOL)enable;
/*! /*!
@brief Determine if mirror effect is enabled.
@return YES means enabled, otherwise not.
*/
- (BOOL)isMirrorEffectEnabled;
/*!
@brief Set to enable/disable mirror effect.
@param enable YES means enabled, No disabled.
@return If the function succeeds, it will return ZoomSDKError_Success. Otherwise failed.
*/
- (void)enableMirrorEffect:(BOOL)enable;
/*!
@brief Query if driving mode is disabled. @brief Query if driving mode is disabled.
@return YES means muted, otherwise not. @return YES means muted, otherwise not.
@warning The function only for Zoom UI. @warning The function only for Zoom UI.
...@@ -262,6 +292,13 @@ ...@@ -262,6 +292,13 @@
- (void)disableGalleryView:(BOOL)disabled; - (void)disableGalleryView:(BOOL)disabled;
/*! /*!
@brief Enable or disable the new Zoom Whiteboard feature (different from Classic Whiteboard). This feature enabled by default.
@param disabled YES means disabled, otherwise not.
@warning The function only for Zoom UI.
*/
- (void)disableCloudWhiteboard:(BOOL)disabled;
/*!
@brief Query if it is disabled to call in. @brief Query if it is disabled to call in.
@return YES means disabled, otherwise not. @return YES means disabled, otherwise not.
@warning The function only for Zoom UI. @warning The function only for Zoom UI.
...@@ -436,4 +473,17 @@ ...@@ -436,4 +473,17 @@
@warning The function only for Zoom UI. @warning The function only for Zoom UI.
*/ */
- (MobileRTCEmojiReactionSkinTone)reactionSkinTone; - (MobileRTCEmojiReactionSkinTone)reactionSkinTone;
/*!
@brief Disable the action of clear WebView's cache.
@param disabled Specify to disable the clear action or not.
*/
- (void)disableClearWebKitCache:(BOOL)disabled;
/*!
@brief Query if the action of clear WebView's cache be disabled.
@return Action of clear WebView's cache is disabled or not.
*/
- (BOOL)isDisabledClearWebKitCache;
@end @end
...@@ -50,6 +50,7 @@ typedef NS_ENUM(NSUInteger, MobileRTCAudioType) { ...@@ -50,6 +50,7 @@ typedef NS_ENUM(NSUInteger, MobileRTCAudioType) {
@property (nonatomic, assign) BOOL isMuted; @property (nonatomic, assign) BOOL isMuted;
/*! /*!
@brief Query if the current user is speaking. @brief Query if the current user is speaking.
@warning webinar attenddee can not get the property.
*/ */
@property (nonatomic, assign) BOOL isTalking; @property (nonatomic, assign) BOOL isTalking;
/*! /*!
...@@ -119,6 +120,10 @@ typedef NS_ENUM(NSUInteger, MobileRTCFeedbackType) { ...@@ -119,6 +120,10 @@ typedef NS_ENUM(NSUInteger, MobileRTCFeedbackType) {
*/ */
@property (nonatomic, assign) NSUInteger userID; @property (nonatomic, assign) NSUInteger userID;
/*! /*!
@brief Get the user persistent ID matched with the current user information.This ID persists for the duration of the main meeting.Once the main meeting ends, the ID will be discarded.
*/
@property (nonatomic, retain) NSString* _Nullable persistentId;
/*!
@brief Determine if the information corresponds to the current user. @brief Determine if the information corresponds to the current user.
*/ */
@property (nonatomic, assign) BOOL isMySelf; @property (nonatomic, assign) BOOL isMySelf;
...@@ -135,10 +140,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCFeedbackType) { ...@@ -135,10 +140,6 @@ typedef NS_ENUM(NSUInteger, MobileRTCFeedbackType) {
*/ */
@property (nonatomic, retain) NSString* _Nonnull avatarPath; @property (nonatomic, retain) NSString* _Nonnull avatarPath;
/*! /*!
@brief Unread messages in the meeting.
*/
@property (nonatomic, assign) NSInteger unread;
/*!
@brief User's video status in the meeting. @brief User's video status in the meeting.
*/ */
@property (nonatomic, retain) MobileRTCVideoStatus* _Nonnull videoStatus; @property (nonatomic, retain) MobileRTCVideoStatus* _Nonnull videoStatus;
...@@ -212,5 +213,17 @@ typedef NS_ENUM(NSUInteger, MobileRTCFeedbackType) { ...@@ -212,5 +213,17 @@ typedef NS_ENUM(NSUInteger, MobileRTCFeedbackType) {
@brief the type of role of the user specified by the current information. @brief the type of role of the user specified by the current information.
*/ */
@property (nonatomic, assign) MobileRTCUserRole userRole; @property (nonatomic, assign) MobileRTCUserRole userRole;
/*!
@brief The user raised his hand.
*/
@property (nonatomic, assign) BOOL handRaised;
/*!
@brief Attendee can talk or not.
*/
@property (nonatomic, assign) BOOL isAttendeeCanTalk;
/*!
@brief User's audio status in the webinar meeting.
*/
@property (nonatomic, retain) MobileRTCAudioStatus* _Nonnull audioStatus;
@end @end
//
// MobileRTCZpnsHelper.h
// MobileRTC
//
// Created by Zoom on 2022/11/16.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <MobileRTC/MobileRTCConstants.h>
#import "MobileRTCInMeetingDeviceInfo.h"
@protocol MobileRTCNotificationServiceHelperDelegate <NSObject>
@optional
/*!
@brief Callback event that the device for users to attend the meeting has changed.
@param deviceList A list of meeting info with active meetings.
*/
- (void)onMeetingDeviceListChanged:(NSArray<MobileRTCInMeetingDeviceInfo*>*_Nullable)deviceList;
/*!
@brief Transfer meeting status changed callback.
@param bSuccess The result of transfer meeting.
*/
- (void)onTransferMeetingStatus:(BOOL)bSuccess;
@end
@interface MobileRTCNotificationServiceHelper : NSObject
/*!
Set the delegate of access token service.
*/
@property (assign, nonatomic) id<MobileRTCNotificationServiceHelperDelegate> _Nullable delegate;
/*!
@brief Determine whether the transfer meeting feature is enabled.
*/
- (BOOL)isTransferMeetingEnabled;
/*!
@brief Try to transfer meeting to current device.
@param index Specifies the index, see [MobileRTCInMeetingDeviceInfo].
@return If the function succeeds, the return value is MobileRTCSDKError_Success.
Otherwise failed. To get extended error information, see [MobileRTCSDKError] enum.
*/
- (MobileRTCSDKError)transferMeeting:(NSInteger)index;
@end
// //
// MobileRTCPromoteHandler.h // MobileRTCRawLiveStreamInfo.h
// MobileRTC // MobileRTC
// //
// Created by Zoom Video Communications on 2021/7/27. // Created by Zoom on 2022/9/21.
// Copyright © 2021 Zoom Video Communications, Inc. All rights reserved. // Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
// //
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
/*! /*!
@brief brief promote handler. @brief Raw live stream information, such as the broadcast name and URL.
*/ */
@interface MobileRTCPromoteHandler : NSObject @interface MobileRTCRawLiveStreamInfo : NSObject
/*! /*!
@brief Stay as attendee. @brief User ID.
*/ */
- (void)stayAsAttendee; @property(nonatomic, assign, readonly) NSUInteger userId;
/*! /*!
@brief Join as panelist. @brief Broadcast URL (hosted by you or the URL to your Zoom App Marketplace page)
*/ */
- (void)joinAsPanelist; @property(nonatomic, copy, readonly) NSString * _Nullable broadcastUrl;
@end @end
//
// MobileRTCRequestRawLiveStreamPrivilegeHandler.h
// MobileRTC
//
// Created by Zoom on 2022/9/21.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
/*!
@brief Process after the host receives the requirement from the user to give the raw live stream privilege.
*/
@interface MobileRTCRequestRawLiveStreamPrivilegeHandler : NSObject
/*!
@brief Get the request ID.
@return If the function succeeds, the return value is the request ID.
*/
- (NSString *)getRequestId;
/*!
@brief Get the user ID who requested privilege.
@return If the function succeeds, the return value is the user ID. Otherwise, this returns 0.
*/
- (NSUInteger)getRequesterId;
/*!
@brief Get the user name who requested privilege.
@return If the function succeeds, the return value is the user name.
*/
- (NSString *)getRequesterName;
/*!
@brief Get the broadcast Url.
@return If the function succeeds, the return value is the broadcast url.
*/
- (NSString *)getBroadcastUrl;
/*!
@brief Allows the user to start raw live stream and finally self-destroy.
*/
- (BOOL)grantRawLiveStreamPrivilege;
/*!
@brief Denies the user permission to start raw live stream and finally self-destroy.
*/
- (BOOL)denyRawLiveStreamPrivilege;
@end
//
// MobileRTCShareSender.h
// MobileRTC
//
// Created by Zoom on 2022/6/30.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#include "MobileRTCConstants.h"
@interface MobileRTCShareSender : NSObject
/*!
@brief Send share raw data in meeting.
@param frameBuffer The buffer of the data to send.
@param width The width of the data to send.
@param height The height of the data to send.
@param frameLength The length of the data to send.
*/
- (void)sendShareFrameBuffer:(char *)frameBuffer width:(NSUInteger)width height:(NSUInteger)height frameLength:(NSUInteger)dataLength;
@end
//
// MobileRTCShareSourceHelper.h
// MobileRTC
//
// Created by Zoom on 2022/6/30.
// Copyright © 2022 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface MobileRTCShareSourceHelper : NSObject
/*!
@brief This method is used to send your own share rawdata.
@param delegate please See MobileRTCShareSourceDelegate.
@warning Set nil for Switch to internal video source.
*/
-(MobileRTCRawDataError)setExternalShareSource:(id<MobileRTCShareSourceDelegate>)delegate;
@end
...@@ -9,6 +9,47 @@ ...@@ -9,6 +9,47 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
/*! /*!
@brief WaitingRoom LayoutType.
Here are more detailed structural descriptions.
*/
typedef NS_ENUM(NSUInteger, MobileRTCWaitingRoomLayoutType) {
MobileRTCWaitingRoomLayoutType_Default = 0,
MobileRTCWaitingRoomLayoutType_Logo,
MobileRTCWaitingRoomLayoutType_Video,
};
/*!
@brief Downloading Status of MobileRTCCustomWaitingRoomData.
Here are more detailed structural descriptions.
*/
typedef NS_ENUM(NSUInteger, MobileRTCCustomWaitingRoomDataStatus) {
MobileRTCCustomWaitingRoomDataStatus_Init,
MobileRTCCustomWaitingRoomDataStatus_Downloading,
MobileRTCCustomWaitingRoomDataStatus_Download_OK,
MobileRTCCustomWaitingRoomDataStatus_Download_Fail,
};
/*!
@brief The WaitingRoom Customize Data Info.
Here are more detailed structural descriptions..
*/
@interface MobileRTCCustomWaitingRoomData : NSObject
@property (nonatomic, retain) NSString * _Nullable title;
@property (nonatomic, retain) NSString * _Nullable descriptionString;
@property (nonatomic, retain) NSString * _Nullable logoPath;
@property (nonatomic, retain) NSString * _Nullable videoPath;
@property (nonatomic, assign) MobileRTCWaitingRoomLayoutType type;
@property (nonatomic, assign) MobileRTCCustomWaitingRoomDataStatus status;
@end
/*!
@class MobileRTCWaitingRoomServiceDelegate @class MobileRTCWaitingRoomServiceDelegate
@brief Meeting host enabled the waiting room feature, then the delegate will receive this notification #only for custom UI#. @brief Meeting host enabled the waiting room feature, then the delegate will receive this notification #only for custom UI#.
*/ */
...@@ -16,13 +57,31 @@ ...@@ -16,13 +57,31 @@
@optional @optional
/*! /*!
@class MobileRTCWaitingRoomServiceDelegate @protocol MobileRTCWaitingRoomServiceDelegate
@brief Meeting host enabled the waiting room feature, then the delegate will receive this notification #only for custom UI#. @brief Meeting host enabled the waiting room feature, then the delegate will receive this notification #only for custom UI#.
onWaitingRoomUserJoin: will notify the host someone entery the waiting room. onWaitingRoomUserJoin: will notify the host someone entery the waiting room.
onWaitingRoomUserLeft: will notify the host someone left from waiting room. onWaitingRoomUserLeft: will notify the host someone left from waiting room.
*/ */
- (void)onWaitingRoomUserJoin:(NSUInteger)userId; - (void)onWaitingRoomUserJoin:(NSUInteger)userId;
- (void)onWaitingRoomUserLeft:(NSUInteger)userId; - (void)onWaitingRoomUserLeft:(NSUInteger)userId;
/*!
@brief During the waiting room, this callback event will be triggered when host change audio status.
@param audioCanTurnOn YES means audio can be turned on. Otherwise not.
*/
- (void)onWaitingRoomPresetAudioStatusChanged:(BOOL)audioCanTurnOn;
/*!
@brief During the waiting room, this callback event will be triggered when host change video status.
@param videoCanTurnOn YES means video can be turned on. Otherwise not.
*/
- (void)onWaitingRoomPresetVideoStatusChanged:(BOOL)videoCanTurnOn;
/*!
@brief During the waiting room, this callback event will be triggered when requestCustomWaitingRoomData called.
@param data The WaitingRoom Customize Data Info.
*/
- (void)onCustomWaitingRoomDataUpdated:(MobileRTCCustomWaitingRoomData *_Nullable)data;
@end @end
@interface MobileRTCWaitingRoomService : NSObject @interface MobileRTCWaitingRoomService : NSObject
...@@ -67,13 +126,37 @@ ...@@ -67,13 +126,37 @@
@return the result of this operation. @return the result of this operation.
@warning Only meeting host/co-host can run the function. @warning Only meeting host/co-host can run the function.
*/ */
- (BOOL)admitToMeeting:(NSUInteger)userId; - (MobileRTCSDKError)admitToMeeting:(NSUInteger)userId;
/*! /*!
@brief Permit all of the users currently in the waiting room to join the meeting.
@return If the function succeeds, the return value is MobileRTCSDKError_Success.
Otherwise failed, the return is error. For more details, see [MobileRTCSDKError] enum.
*/
- (MobileRTCSDKError)admitAllToMeeting;
/*!
@brief put the user to waiting room from meeting. @brief put the user to waiting room from meeting.
@return the result of this operation. @return the result of this operation.
@warning Only meeting host/co-host can run the function. @warning Only meeting host/co-host can run the function.
*/ */
- (BOOL)putInWaitingRoom:(NSUInteger)userId; - (MobileRTCSDKError)putInWaitingRoom:(NSUInteger)userId;
/*!
@brief Determine if the attendee is enabled to turn on audio when joining the meeting.
@return YES indicates to enable to turn on.
*/
- (BOOL)isAudioEnabledInWaitingRoom;
/*!
@brief Determine if the attendee is enabled to turn on video when joining the meeting.
@return YES indicates to enable to turn on.
*/
- (BOOL)isVideoEnabledInWaitingRoom;
/*!
@brief Get the WaitingRoom CustomizeData information in the waiting room.
@return If the function succeeds, the return value is SDKErr_Success. Otherwise failed. To get extended error information, see [MobileRTCSDKError].
*/
- (MobileRTCSDKError)requestCustomWaitingRoomData;
@end @end
[ [
{ {
"shortDescription" : "",
"metadataOutputVersion" : "3.0", "metadataOutputVersion" : "3.0",
"storagePrecision" : "Float32",
"outputSchema" : [ "outputSchema" : [
{ {
"hasShapeFlexibility" : "0", "hasShapeFlexibility" : "0",
"isOptional" : "0", "isOptional" : "0",
"dataType" : "Float32", "dataType" : "Float32",
"formattedType" : "MultiArray (Float32 1 × 144 × 256)", "formattedType" : "MultiArray (Float32)",
"shortDescription" : "", "shortDescription" : "MultiArray of shape (1, 1, 2, 144, 256). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[1, 144, 256]", "shape" : "[]",
"name" : "output", "name" : "output",
"type" : "MultiArray" "type" : "MultiArray"
},
{
"hasShapeFlexibility" : "0",
"isOptional" : "0",
"dataType" : "Float32",
"formattedType" : "MultiArray (Float32)",
"shortDescription" : "MultiArray of shape (1, 1, 1, 1, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[]",
"name" : "human_prob",
"type" : "MultiArray"
} }
], ],
"version" : "",
"modelParameters" : [ "modelParameters" : [
], ],
"author" : "",
"specificationVersion" : 1, "specificationVersion" : 1,
"license" : "", "computePrecision" : "Float16",
"isUpdatable" : "0", "isUpdatable" : "0",
"availability" : { "availability" : {
"macOS" : "10.13", "macOS" : "10.13",
...@@ -29,9 +37,26 @@ ...@@ -29,9 +37,26 @@
"iOS" : "11.0", "iOS" : "11.0",
"macCatalyst" : "11.0" "macCatalyst" : "11.0"
}, },
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 2,
"PaddingConstant" : 6,
"ActivationReLU" : 40,
"Flatten" : 3,
"Add" : 9,
"PoolingAverage" : 3,
"Deconvolution" : 1,
"Crop" : 1,
"Convolution" : 52,
"ActivationSigmoid" : 2,
"InnerProduct" : 1
},
"modelType" : { "modelType" : {
"name" : "MLModelType_neuralNetwork" "name" : "MLModelType_neuralNetwork"
}, },
"userDefinedMetadata" : {
},
"generatedClassName" : "bgr_iOS_hori",
"inputSchema" : [ "inputSchema" : [
{ {
"height" : "144", "height" : "144",
...@@ -46,22 +71,6 @@ ...@@ -46,22 +71,6 @@
"name" : "input" "name" : "input"
} }
], ],
"userDefinedMetadata" : {
},
"generatedClassName" : "bgr_hori_ipad",
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 1,
"ActivationReLU" : 52,
"Softmax" : 1,
"Add" : 12,
"PoolingAverage" : 1,
"Deconvolution" : 1,
"BatchNorm" : 38,
"Convolution" : 55,
"ActivationSigmoid" : 1,
"PaddingConstant" : 1
},
"method" : "predict" "method" : "predict"
} }
] ]
\ No newline at end of file
[ [
{ {
"shortDescription" : "",
"metadataOutputVersion" : "3.0", "metadataOutputVersion" : "3.0",
"storagePrecision" : "Float32",
"outputSchema" : [ "outputSchema" : [
{ {
"hasShapeFlexibility" : "0", "hasShapeFlexibility" : "0",
"isOptional" : "0", "isOptional" : "0",
"dataType" : "Float32", "dataType" : "Float32",
"formattedType" : "MultiArray (Float32 2 × 192 × 256)", "formattedType" : "MultiArray (Float32)",
"shortDescription" : "", "shortDescription" : "MultiArray of shape (1, 1, 2, 192, 256). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[2, 192, 256]", "shape" : "[]",
"name" : "output", "name" : "output",
"type" : "MultiArray" "type" : "MultiArray"
},
{
"hasShapeFlexibility" : "0",
"isOptional" : "0",
"dataType" : "Float32",
"formattedType" : "MultiArray (Float32)",
"shortDescription" : "MultiArray of shape (1, 1, 1, 1, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[]",
"name" : "human_prob",
"type" : "MultiArray"
} }
], ],
"version" : "",
"modelParameters" : [ "modelParameters" : [
], ],
"author" : "",
"specificationVersion" : 1, "specificationVersion" : 1,
"license" : "", "computePrecision" : "Float16",
"isUpdatable" : "0", "isUpdatable" : "0",
"availability" : { "availability" : {
"macOS" : "10.13", "macOS" : "10.13",
...@@ -29,9 +37,26 @@ ...@@ -29,9 +37,26 @@
"iOS" : "11.0", "iOS" : "11.0",
"macCatalyst" : "11.0" "macCatalyst" : "11.0"
}, },
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 2,
"PaddingConstant" : 6,
"ActivationReLU" : 40,
"Flatten" : 3,
"Add" : 9,
"PoolingAverage" : 3,
"Deconvolution" : 1,
"Crop" : 1,
"Convolution" : 52,
"ActivationSigmoid" : 2,
"InnerProduct" : 1
},
"modelType" : { "modelType" : {
"name" : "MLModelType_neuralNetwork" "name" : "MLModelType_neuralNetwork"
}, },
"userDefinedMetadata" : {
},
"generatedClassName" : "bgr_iOS_vert",
"inputSchema" : [ "inputSchema" : [
{ {
"height" : "192", "height" : "192",
...@@ -46,18 +71,6 @@ ...@@ -46,18 +71,6 @@
"name" : "input" "name" : "input"
} }
], ],
"userDefinedMetadata" : {
},
"generatedClassName" : "bgr_hori_iphone",
"neuralNetworkLayerTypeHistogram" : {
"Deconvolution" : 1,
"Convolution" : 51,
"ActivationSigmoid" : 1,
"BatchNorm" : 27,
"ActivationReLU" : 39,
"Add" : 9
},
"method" : "predict" "method" : "predict"
} }
] ]
\ No newline at end of file
[ [
{ {
"shortDescription" : "",
"metadataOutputVersion" : "3.0", "metadataOutputVersion" : "3.0",
"storagePrecision" : "Float32",
"outputSchema" : [ "outputSchema" : [
{ {
"hasShapeFlexibility" : "0", "hasShapeFlexibility" : "0",
...@@ -30,17 +30,25 @@ ...@@ -30,17 +30,25 @@
"formattedType" : "MultiArray (Float32)", "formattedType" : "MultiArray (Float32)",
"shortDescription" : "", "shortDescription" : "",
"shape" : "[]", "shape" : "[]",
"name" : "embedding",
"type" : "MultiArray"
},
{
"hasShapeFlexibility" : "0",
"isOptional" : "0",
"dataType" : "Float32",
"formattedType" : "MultiArray (Float32)",
"shortDescription" : "",
"shape" : "[]",
"name" : "pose", "name" : "pose",
"type" : "MultiArray" "type" : "MultiArray"
} }
], ],
"version" : "",
"modelParameters" : [ "modelParameters" : [
], ],
"author" : "",
"specificationVersion" : 1, "specificationVersion" : 1,
"license" : "", "computePrecision" : "Float16",
"isUpdatable" : "0", "isUpdatable" : "0",
"availability" : { "availability" : {
"macOS" : "10.13", "macOS" : "10.13",
...@@ -49,9 +57,23 @@ ...@@ -49,9 +57,23 @@
"iOS" : "11.0", "iOS" : "11.0",
"macCatalyst" : "11.0" "macCatalyst" : "11.0"
}, },
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 2,
"ActivationLinear" : 64,
"Flatten" : 5,
"ActivationSigmoidHard" : 32,
"Add" : 10,
"Convolution" : 48,
"ActivationSigmoid" : 1,
"InnerProduct" : 4
},
"modelType" : { "modelType" : {
"name" : "MLModelType_neuralNetwork" "name" : "MLModelType_neuralNetwork"
}, },
"userDefinedMetadata" : {
"coremltoolsVersion" : "3.4"
},
"generatedClassName" : "flm",
"inputSchema" : [ "inputSchema" : [
{ {
"height" : "112", "height" : "112",
...@@ -66,20 +88,6 @@ ...@@ -66,20 +88,6 @@
"name" : "input_1" "name" : "input_1"
} }
], ],
"userDefinedMetadata" : {
"coremltoolsVersion" : "3.4"
},
"generatedClassName" : "flm",
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 1,
"ActivationLinear" : 60,
"Flatten" : 3,
"ActivationSigmoidHard" : 30,
"Add" : 10,
"Convolution" : 45,
"ActivationSigmoid" : 1,
"InnerProduct" : 6
},
"method" : "predict" "method" : "predict"
} }
] ]
\ No newline at end of file
[ [
{ {
"shortDescription" : "",
"metadataOutputVersion" : "3.0", "metadataOutputVersion" : "3.0",
"storagePrecision" : "Float32",
"outputSchema" : [ "outputSchema" : [
{ {
"hasShapeFlexibility" : "0", "hasShapeFlexibility" : "0",
"isOptional" : "0", "isOptional" : "0",
"dataType" : "Float32", "dataType" : "Float32",
"formattedType" : "MultiArray (Float32 1 × 144 × 256)", "formattedType" : "MultiArray (Float32)",
"shortDescription" : "", "shortDescription" : "MultiArray of shape (1, 1, 1260, 4, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[1, 144, 256]", "shape" : "[]",
"name" : "output", "name" : "bboxes",
"type" : "MultiArray"
},
{
"hasShapeFlexibility" : "0",
"isOptional" : "0",
"dataType" : "Float32",
"formattedType" : "MultiArray (Float32)",
"shortDescription" : "MultiArray of shape (1, 1, 1260, 1, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[]",
"name" : "objectness",
"type" : "MultiArray"
},
{
"hasShapeFlexibility" : "0",
"isOptional" : "0",
"dataType" : "Float32",
"formattedType" : "MultiArray (Float32)",
"shortDescription" : "MultiArray of shape (1, 1, 1260, 1, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[]",
"name" : "scores",
"type" : "MultiArray" "type" : "MultiArray"
} }
], ],
"version" : "",
"modelParameters" : [ "modelParameters" : [
], ],
"author" : "",
"specificationVersion" : 1, "specificationVersion" : 1,
"license" : "", "computePrecision" : "Float16",
"isUpdatable" : "0", "isUpdatable" : "0",
"availability" : { "availability" : {
"macOS" : "10.13", "macOS" : "10.13",
...@@ -29,39 +47,38 @@ ...@@ -29,39 +47,38 @@
"iOS" : "11.0", "iOS" : "11.0",
"macCatalyst" : "11.0" "macCatalyst" : "11.0"
}, },
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 5,
"ActivationReLU" : 51,
"Flatten" : 6,
"Add" : 4,
"Deconvolution" : 2,
"Crop" : 2,
"Convolution" : 66,
"Permute" : 3,
"Reshape" : 3
},
"modelType" : { "modelType" : {
"name" : "MLModelType_neuralNetwork" "name" : "MLModelType_neuralNetwork"
}, },
"userDefinedMetadata" : {
},
"generatedClassName" : "hd",
"inputSchema" : [ "inputSchema" : [
{ {
"height" : "144", "height" : "192",
"colorspace" : "RGB", "colorspace" : "BGR",
"isOptional" : "0", "isOptional" : "0",
"width" : "256", "width" : "320",
"isColor" : "1", "isColor" : "1",
"formattedType" : "Image (Color 256 × 144)", "formattedType" : "Image (Color 320 × 192)",
"hasSizeFlexibility" : "0", "hasSizeFlexibility" : "0",
"type" : "Image", "type" : "Image",
"shortDescription" : "", "shortDescription" : "",
"name" : "input" "name" : "inputs"
} }
], ],
"userDefinedMetadata" : {
},
"generatedClassName" : "bgr_vert_ipad",
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 1,
"ActivationReLU" : 52,
"Softmax" : 1,
"Add" : 12,
"PoolingAverage" : 1,
"Deconvolution" : 1,
"BatchNorm" : 38,
"Convolution" : 55,
"ActivationSigmoid" : 1,
"PaddingConstant" : 1
},
"method" : "predict" "method" : "predict"
} }
] ]
\ No newline at end of file
[ [
{ {
"shortDescription" : "",
"metadataOutputVersion" : "3.0", "metadataOutputVersion" : "3.0",
"storagePrecision" : "Float32",
"outputSchema" : [ "outputSchema" : [
{ {
"hasShapeFlexibility" : "0", "hasShapeFlexibility" : "0",
"isOptional" : "0", "isOptional" : "0",
"dataType" : "Float32", "dataType" : "Float32",
"formattedType" : "MultiArray (Float32 2 × 192 × 256)", "formattedType" : "MultiArray (Float32)",
"shortDescription" : "", "shortDescription" : "MultiArray of shape (1, 1, 1, 1, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[2, 192, 256]", "shape" : "[]",
"name" : "output", "name" : "score",
"type" : "MultiArray"
},
{
"hasShapeFlexibility" : "0",
"isOptional" : "0",
"dataType" : "Float32",
"formattedType" : "MultiArray (Float32)",
"shortDescription" : "MultiArray of shape (1, 1, 42, 1, 1). The first and second dimensions correspond to sequence and batch size, respectively",
"shape" : "[]",
"name" : "coords",
"type" : "MultiArray" "type" : "MultiArray"
} }
], ],
"version" : "",
"modelParameters" : [ "modelParameters" : [
], ],
"author" : "",
"specificationVersion" : 1, "specificationVersion" : 1,
"license" : "", "computePrecision" : "Float16",
"isUpdatable" : "0", "isUpdatable" : "0",
"availability" : { "availability" : {
"macOS" : "10.13", "macOS" : "10.13",
...@@ -29,35 +37,36 @@ ...@@ -29,35 +37,36 @@
"iOS" : "11.0", "iOS" : "11.0",
"macCatalyst" : "11.0" "macCatalyst" : "11.0"
}, },
"neuralNetworkLayerTypeHistogram" : {
"Concat" : 1,
"ActivationLinear" : 64,
"Flatten" : 3,
"ActivationSigmoidHard" : 32,
"Add" : 10,
"Convolution" : 49,
"InnerProduct" : 1
},
"modelType" : { "modelType" : {
"name" : "MLModelType_neuralNetwork" "name" : "MLModelType_neuralNetwork"
}, },
"userDefinedMetadata" : {
},
"generatedClassName" : "hlm",
"inputSchema" : [ "inputSchema" : [
{ {
"height" : "192", "height" : "112",
"colorspace" : "RGB", "colorspace" : "RGB",
"isOptional" : "0", "isOptional" : "0",
"width" : "256", "width" : "112",
"isColor" : "1", "isColor" : "1",
"formattedType" : "Image (Color 256 × 192)", "formattedType" : "Image (Color 112 × 112)",
"hasSizeFlexibility" : "0", "hasSizeFlexibility" : "0",
"type" : "Image", "type" : "Image",
"shortDescription" : "", "shortDescription" : "",
"name" : "input" "name" : "inputs"
} }
], ],
"userDefinedMetadata" : {
},
"generatedClassName" : "bgr_vert_iphone",
"neuralNetworkLayerTypeHistogram" : {
"Deconvolution" : 1,
"Convolution" : 51,
"ActivationSigmoid" : 1,
"BatchNorm" : 27,
"ActivationReLU" : 39,
"Add" : 9
},
"method" : "predict" "method" : "predict"
} }
] ]
\ No newline at end of file
//
// MobileRTCMeetingService.h
// MobileRTC
//
// Created by Zoom Video Communications on 8/7/14.
// Copyright (c) 2019 Zoom Video Communications, Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "MobileRTCConstants.h"
#import "MobileRTCMeetingDelegate.h"
/*!
@brief The method provides parameters for starting meeting.
*/
@interface MobileRTCMeetingStartParam : NSObject
/*!
@brief Notify if it is an App share meeting.
*/
@property (nonatomic, assign, readwrite) BOOL isAppShare;
/*!
@brief Start meeting without audio.
*/
@property (nonatomic, assign, readwrite) BOOL noAudio;
/*!
@brief Start meeting without video
*/
@property (nonatomic, assign, readwrite) BOOL noVideo;
/*!
@brief Customer Key.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * customerKey;
/*!
@brief Meeting vanity ID, what is personal link name.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * vanityID;
/*!
@brief Meeting number.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * meetingNumber;
@end
/*!
@brief The method provides parameters for logged-in user to start meeting.
*/
@interface MobileRTCMeetingStartParam4LoginlUser : MobileRTCMeetingStartParam
@end
/*!
@brief The method provides parameters for non-logged-in user to start meeting.
@waring The ZAK cannot be null.
*/
@interface MobileRTCMeetingStartParam4WithoutLoginUser : MobileRTCMeetingStartParam
/*!
@brief User type.
*/
@property (nonatomic, assign, readwrite) MobileRTCUserType userType;
/*!
@brief User name.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * userName;
/*!
@brief User ID.
*/
@property (nonnull, nonatomic, retain, readwrite) NSString * userID;
/*!
@brief User ZAK.
@waring The ZAK cannot be null.
*/
@property (nonnull, nonatomic, retain, readwrite) NSString * zak;
@end
/*!
@brief The method provides parameters for join meeting.
*/
@interface MobileRTCMeetingJoinParam : NSObject
/*!
@brief Start meeting without audio.
*/
@property (nonatomic, assign, readwrite) BOOL noAudio;
/*!
@brief Start meeting without video
*/
@property (nonatomic, assign, readwrite) BOOL noVideo;
/*!
@brief Customer Key.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * customerKey;
/*!
@brief Meeting vanity ID, what is personal link name.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * vanityID;
/*!
@brief Meeting number.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * meetingNumber;
/*!
@brief User name.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * userName;
/*!
@brief Password.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * password;
/*!
@brief WebinarToken.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * webinarToken;
/*!
@brief User ZAK.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * zak;
@end
/*!
@brief Webinar regist legal notice content.
*/
@interface MobileRTCWebinarRegistLegalNoticeContent : NSObject
/*!
@brief Formatted html content.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * formattedHtmlContent;
/*!
@brief Account owner url.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * accountOwnerUrl;
/*!
@brief terms url.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * termsUrl;
/*!
@brief privacy policy url.
*/
@property (nullable, nonatomic, retain, readwrite) NSString * privacyPolicyUrl;
@end
@protocol MobileRTCMeetingServiceDelegate;
/*!
@class MobileRTCMeetingService
@brief The method is an implementation for client to start/join a meeting.
@warning The meeting service allows only one concurrent operation at a time, which means, only one API call is in progress at any given time.
*/
@interface MobileRTCMeetingService : NSObject
/*!
@brief Callback of receiving meeting events.
*/
@property (nullable, assign, nonatomic) id<MobileRTCMeetingServiceDelegate> delegate;
/*!
@brief Callback of receiving meeting events for custom UI.
*/
@property (nullable, assign, nonatomic) id<MobileRTCCustomizedUIMeetingDelegate> customizedUImeetingDelegate;
/*!
@brief Start a meeting with MobileRTCMeetingStartParam parameter.
@warning For non-logged-in user, create an instance via MobileRTCMeetingStartParam4WithoutLoginUser to pass the parameters. For logged-in user, create an instance via MobileRTCMeetingStartParam4LoginlUser to pass the parameters.
@param param Create an instance with right information via MobileRTCMeetingStartParam.
@return The state of the meeting, started or failed.
@warning If you start a meeting with wrong parameters, it will return MobileRTCMeetError_InvalidArguments.
*/
- (MobileRTCMeetError)startMeetingWithStartParam:(nonnull MobileRTCMeetingStartParam*)param;
/*!
@brief Use it to join a meeting with MobileRTCMeetingJoinParam parameter.
@param param Create an instance with right information via.
@return The state of the meeting, started or failed.
@warning If app is in callkit mode, set parameter:userName to empty. CallKit lets you integrate your calling services with other call-related apps on the system.
*/
- (MobileRTCMeetError)joinMeetingWithJoinParam:(nonnull MobileRTCMeetingJoinParam*)param;
/*!
@brief Start or join a ZOOM meeting with zoom web url.
@param meetingUrl zoom web meeting url.
@return The state of the meeting, started or failed.
*/
- (MobileRTCMeetError)handZoomWebUrl:(nonnull NSString*)meetingUrl;
/*!
@brief Get the current meeting state.
@return Current meeting state.
*/
- (MobileRTCMeetingState)getMeetingState;
/*!
@brief End/Leave the current meeting.
@param cmd The command for leaving the current meeting. Only host can end the meeting.
*/
- (void)leaveMeetingWithCmd:(LeaveMeetingCmd)cmd;
/*!
@brief This method will return the view of meeting UI, which provide an access which allow customer to add their own view in the meeting UI.
@return The view of current meeting; if there is no ongoing meeting, it will return nil.
@warning Only valid in non-custom UI(Only valid in ZOOM meeting UI).
*/
- (UIView * _Nullable)meetingView;
/*!
@brief Get annotation over share legal notices prompt.
@return annotation over share legal notices prompt.
*/
- (NSString *_Nullable)getWebinarRegistrationLegalNoticesPrompt;
/*!
@brief Get annotation over share legal notices explained.
@return annotation over share legal notices explained.
*/
- (MobileRTCWebinarRegistLegalNoticeContent *_Nullable)getWebinarRegistrationLegalNoticesExplained;
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment