Agora RTC Objective-C API Reference  Refactor
AgoraRtcEngineKit.h
Go to the documentation of this file.
1 //
2 // AgoraRtcEngineKit.h
3 // AgoraRtcEngineKit
4 //
5 // Copyright (c) 2018 Agora. All rights reserved.
6 //
7 
8 #import <Foundation/Foundation.h>
9 #import "AgoraConstants.h"
10 #import "AgoraObjects.h"
26 #import "AgoraMediaRecorder.h"
28 
34 #pragma mark - AgoraRtcEngineKit
35 
47 __attribute__((visibility("default"))) @interface AgoraRtcEngineKit : NSObject
48 
49 #pragma mark Core Methods
50 
61 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate;
62 
77 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
78  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(withAppId:delegate:));
79 
100 + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config
101  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(with:delegate:));
102 
140 - (int)preloadChannelByToken:(NSString * _Nullable)token
141  channelId:(NSString * _Nonnull)channelId
142  uid:(NSUInteger)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:uid:));
143 
183 - (int)preloadChannelByTokenWithUserAccount:(NSString * _Nullable)token
184  channelId:(NSString * _Nonnull)channelId
185  userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(preloadChannelWithUserAccount(byToken:channelId:userAccount:));
186 
204 - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:));
205 
268 - (int)joinChannelByToken:(NSString * _Nullable)token
269  channelId:(NSString * _Nonnull)channelId
270  info:(NSString * _Nullable)info
271  uid:(NSUInteger)uid
272  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:info:uid:joinSuccess:));
273 
334 - (int)joinChannelByToken:(NSString * _Nullable)token
335  channelId:(NSString * _Nonnull)channelId
336  uid:(NSUInteger)uid
337  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
338  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:uid:mediaOptions:joinSuccess:));
339 
365 - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:));
366 
393 - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options
394 leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:leaveChannelBlock:));
395 
413 - (int)setChannelProfile:(AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:));
414 
423 - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions NS_SWIFT_NAME(updateChannel(with:));
424 
440 - (int)setClientRole:(AgoraClientRole)role NS_SWIFT_NAME(setClientRole(_:));
441 
469 - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options NS_SWIFT_NAME(setClientRole(_:options:));
470 
489 - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:));
490 
497 
522 - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:));
523 
539 - (int)stopChannelMediaRelay NS_SWIFT_NAME(stopChannelMediaRelay());
540 
551 
562 
563 - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:));
564 
565 - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:));
566 
567 - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder());
568 
578 - (int)startLocalAudioMixer:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalAudioMixer(_:));
579 
589 - (int)updateLocalAudioMixerConfiguration:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalAudioMixerConfiguration(_:));
590 
600 - (int)stopLocalAudioMixer NS_SWIFT_NAME(stopLocalAudioMixer());
601 
617 
632 
652 + (void)destroy NS_SWIFT_NAME(destroy());
653 
678 + (void)destroy:(void (^ _Nullable)(void))engineReleasedBlock NS_SWIFT_NAME(destroy(_:));
679 
680 #pragma mark Core Audio
681 
695 - (int)enableAudio NS_SWIFT_NAME(enableAudio());
696 
708 - (int)disableAudio NS_SWIFT_NAME(disableAudio());
709 
732 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
733 
749 - (int)setAudioProfile:(AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
750 
751 - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
752 
774 - (int)enableAudioVolumeIndication:(NSInteger)interval
775  smooth:(NSInteger)smooth
776  reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
777 
778 
779 #if TARGET_OS_IPHONE
780 
797 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
798 
808 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
809 
837 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
838 #endif
839 
851 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
852 
864 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
865 
885 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
886 
895 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
896 
907 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
908 
922 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
923 
949 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
950 
961 - (int)startRecordingDeviceTest:(int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
962 
972 - (int)stopRecordingDeviceTest NS_SWIFT_NAME(stopRecordingDeviceTest());
973 
988 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
989 
999 - (int)stopPlaybackDeviceTest NS_SWIFT_NAME(stopPlaybackDeviceTest());
1000 
1013 - (int)registerExtensionWithVendor:(NSString * _Nonnull)provider
1014  extension:(NSString * _Nonnull)extension
1015  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:));
1016 
1036 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider extension:(NSString * _Nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
1037 
1058 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1059  extension:(NSString * _Nonnull)extension
1060  enabled:(BOOL)enabled
1061  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
1062 
1083 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1084  extension:(NSString * _Nonnull)extension
1085  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1086  enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
1087 
1099 - (int)setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider
1100  key:(NSString * _Nonnull)key
1101  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
1102 
1113 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1114  extension:(NSString * _Nonnull)extension
1115  key:(NSString * _Nonnull)key
1116  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
1117 
1131 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1132  extension:(NSString * _Nonnull)extension
1133  key:(NSString * _Nonnull)key
1134  value:(NSString * _Nonnull)value
1135  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
1136 
1150 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1151  extension:(NSString * _Nonnull)extension
1152  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1153  key:(NSString * _Nonnull)key
1154  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
1155 
1166 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1167  extension:(NSString * _Nonnull)extension
1168  key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
1169 
1181 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1182  extension:(NSString * _Nonnull)extension
1183  key:(NSString * _Nonnull)key
1184  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
1185 
1197 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1198  extension:(NSString * _Nonnull)extension
1199  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1200  key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
1201 
1202 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1203 
1223 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
1224 
1237 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
1238 
1245 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
1246 #endif
1247 
1248 #pragma mark Core Video
1249 
1270 - (int)enableVideo NS_SWIFT_NAME(enableVideo());
1271 
1281 - (int)disableVideo NS_SWIFT_NAME(disableVideo());
1282 
1308 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
1309 
1315 - (NSArray <AgoraVideoCodecCapInfo *> *_Nullable)queryCodecCapability;
1316 
1326 - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore());
1327 
1340 - (AgoraHDRCapability)queryHDRCapability:(AgoraVideoModule)videoModule NS_SWIFT_NAME(queryHDRCapability(_:));
1341 
1358 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
1359 
1379 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
1380 
1391 - (int)setLocalRenderTargetFps:(AgoraVideoSourceType)sourceType
1392  targetFps:(int)targetFps;
1401 - (int)setRemoteRenderTargetFps:(int)targetFps;
1402 
1421 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
1422  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
1423 
1435 - (int)startPreview NS_SWIFT_NAME(startPreview());
1436 
1450 - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:));
1451 
1459 - (int)stopPreview NS_SWIFT_NAME(stopPreview());
1460 
1468 - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:));
1469 
1480 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
1481 
1491 - (int)setRemoteRenderMode:(NSUInteger)uid
1492  mode:(AgoraVideoRenderMode)mode
1493  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
1494 
1507 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
1508 
1524 - (int)muteRemoteVideoStream:(NSUInteger)uid
1525  mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
1526 
1552 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
1553 
1567 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
1568 
1583 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:));
1584 
1598 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:));
1599 
1614 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:sourceType:));
1615 
1624 
1635 
1645 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeAreaOptions(_:));
1646 
1657 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeAreaOptions(_:sourceType:));
1658 
1668 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area NS_SWIFT_NAME(getFaceShapeAreaOptions(_:));
1669 
1680 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeAreaOptions(_:sourceType:));
1681 
1706 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
1707 
1733 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:));
1734 
1735 
1759 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options NS_SWIFT_NAME(setFilterEffectOptions(_:options:));
1760 
1785 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFilterEffectOptions(_:options:sourceType:));
1786 
1787 #pragma mark VideoEffectObject
1788 
1800 - (id<AgoraVideoEffectObject> _Nullable)createVideoEffectObjectWithBundlePath:(NSString * _Nonnull)bundlePath
1801  sourceType:(AgoraMediaSourceType)sourceType
1802  NS_SWIFT_NAME(createVideoEffectObject(bundlePath:sourceType:));
1803 
1815 - (int)destroyVideoEffectObject:(id<AgoraVideoEffectObject> _Nullable)videoEffectObject
1816  NS_SWIFT_NAME(destroyVideoEffectObject(_:));
1817 
1818 
1843 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
1844 
1870 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:));
1871 
1896 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
1897 
1923 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:));
1924 
1972 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:));
1973 
2022 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:));
2023 
2035 - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:));
2036 
2048 - (int)setVideoQoEPreference:(AgoraQoEPreferenceType)preferenceType NS_SWIFT_NAME(setVideoQoEPreference(_:));
2049 
2058 - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type;
2059 
2060 #pragma mark Audio Effect
2061 
2075 - (int)setLocalVoicePitch:(double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:));
2076 
2086 - (int)setLocalVoiceFormant:(double)formantRatio;
2087 
2095 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:));
2096 
2104 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:));
2105 
2106 #pragma mark Audio Effect Playback
2107 
2136 - (int)preloadEffect:(int)soundId
2137  filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:));
2138 
2163 - (int)preloadEffect:(int)soundId
2164  filePath:(NSString* _Nonnull)filePath
2165  startPos:(int)startPos NS_SWIFT_NAME(preloadEffect(_:filePath:startPos:));
2166 
2190 - (int)playEffect:(int)soundId
2191  filePath:(NSString* _Nonnull)filePath
2192  loopCount:(NSInteger)loopCount
2193  pitch:(double)pitch
2194  pan:(double)pan
2195  gain:(NSInteger)gain NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:));
2196 
2221 - (int)playEffect:(int)soundId
2222  filePath:(NSString* _Nonnull)filePath
2223  loopCount:(NSInteger)loopCount
2224  pitch:(double)pitch
2225  pan:(double)pan
2226  gain:(NSInteger)gain
2227  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:startPos:));
2228 
2260 - (int)playEffect:(int)soundId
2261  filePath:(NSString* _Nonnull)filePath
2262  loopCount:(NSInteger)loopCount
2263  pitch:(double)pitch
2264  pan:(double)pan
2265  gain:(NSInteger)gain
2266  publish:(BOOL)publish NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:));
2267 
2300 - (int)playEffect:(int)soundId
2301  filePath:(NSString* _Nonnull)filePath
2302  loopCount:(NSInteger)loopCount
2303  pitch:(double)pitch
2304  pan:(double)pan
2305  gain:(NSInteger)gain
2306  publish:(BOOL)publish
2307  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:startPos:));
2308 
2339 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
2340  pitch:(double)pitch
2341  pan:(double)pan
2342  gain:(NSInteger)gain
2343  publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:));
2344 
2352 - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume());
2353 
2363 - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:));
2364 
2375 - (int)setVolumeOfEffect:(int)soundId
2376  withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:));
2377 
2387 - (int)getVolumeOfEffect:(int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:));
2388 
2396 - (int)pauseEffect:(int)soundId NS_SWIFT_NAME(pauseEffect(_:));
2397 
2403 - (int)pauseAllEffects NS_SWIFT_NAME(pauseAllEffects());
2404 
2412 - (int)resumeEffect:(int)soundId NS_SWIFT_NAME(resumeEffect(_:));
2413 
2419 - (int)resumeAllEffects NS_SWIFT_NAME(resumeAllEffects());
2420 
2428 - (int)stopEffect:(int)soundId NS_SWIFT_NAME(stopEffect(_:));
2429 
2436 - (int)stopAllEffects NS_SWIFT_NAME(stopAllEffects());
2437 
2453 - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:));
2454 
2469 - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:));
2470 
2481 - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:));
2482 
2490 - (int)unloadEffect:(int)soundId NS_SWIFT_NAME(unloadEffect(_:));
2491 
2498 - (int)unloadAllEffects NS_SWIFT_NAME(unloadAllEffects());
2499 
2500 #pragma mark beautifier effect
2501 
2538 - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset NS_SWIFT_NAME(setVoiceBeautifierPreset(_:));
2539 
2577 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:));
2578 
2617 - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset NS_SWIFT_NAME(setVoiceConversionPreset(_:));
2618 
2694 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setAudioEffectParameters(_:param1:param2:));
2695 
2738 - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:));
2739 
2752 - (int)setVoiceConversionParameters:(AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceConversionParameters(_:param1:param2:));
2753 
2765 - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset NS_SWIFT_NAME(setHeadphoneEQPreset(_:));
2766 
2776 - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:));
2777 
2789 - (int)enableVoiceAITuner:(BOOL)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:));
2790 
2791 #pragma mark Sound Position Indication
2792 
2810 - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:));
2811 
2835 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:));
2836 
2847 - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:));
2848 
2864 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
2865  params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:));
2866 
2867 #pragma mark Audio Noise Suppression
2868 
2878 - (int)setAINSMode:(BOOL)enabled mode:(AUDIO_AINS_MODE)mode NS_SWIFT_NAME(setAINSMode(_:mode:));
2879 
2880 #pragma mark Audio Mixing
2881 
2918 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2919  loopback:(BOOL)loopback
2920  cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
2921 
2954 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2955  loopback:(BOOL)loopback
2956  cycle:(NSInteger)cycle
2957  startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
2958 
2968 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
2969 
2978 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
2979 
2989 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
2990 
2999 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
3000 
3009 - (int)getAudioTrackCount NS_SWIFT_NAME(getAudioTrackCount());
3010 
3021 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
3022 
3031 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
3032 
3041 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
3042 
3051 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
3052 
3061 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
3062 
3072 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
3073 
3082 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
3083 
3094 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
3095 
3106 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
3107 
3117 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
3118 
3137 - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:));
3138 
3139 #pragma mark Audio Recording
3140 
3161 - (int)startAudioRecording:(NSString * _Nonnull)filePath
3162  quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
3163 
3187 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config NS_SWIFT_NAME(startAudioRecording(withConfig:));
3188 
3189 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:));
3190 
3198 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
3199 
3200 #pragma mark Echo Test
3201 
3218 - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config NS_SWIFT_NAME(startEchoTest(withConfig:));
3219 
3227 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
3228 
3229 
3230 #pragma mark Miscellaneous Audio Control
3231 
3246 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
3247 
3259 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
3260 
3272 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
3273 
3274 #if TARGET_OS_IPHONE
3275 
3283 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
3284 #endif
3285 
3286 #pragma mark Dual Video Mode
3287 
3304 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:)) __deprecated_msg("use setDualStreamMode: instead.");
3305 
3324 - (int)enableDualStreamMode:(BOOL)enabled
3325  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:)) __deprecated_msg("use setDualStreamMode: instead.");
3326 
3336 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode NS_SWIFT_NAME(setDualStreamMode(_:));
3337 
3354 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode
3355  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(setDualStreamMode(_:streamConfig:));
3356 
3378 - (int)setSimulcastConfig:(AgoraSimulcastConfig* _Nonnull)simulcastConfig NS_SWIFT_NAME(setSimulcastConfig(_:));
3379 
3390 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
3391 
3411 - (int)setRemoteVideoStream:(NSUInteger)uid
3412  type:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteVideoStream(_:type:));
3413 
3424 - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid
3425  options:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideoSubscriptionOptions(_:options:));
3426 
3427 #pragma mark Subscribe Blocklist / Allowlist
3428 
3442 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
3443 
3459 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
3460 
3474 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
3475 
3491 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
3492 
3493 #pragma mark Stream Fallback
3494 
3511 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
3512 
3524 - (int)setHighPriorityUserList:(NSArray <NSNumber *> *_Nullable)uidList
3525  option:(AgoraStreamFallbackOptions)option;
3526 
3527 
3528 #pragma mark External Media Source
3529 
3554 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
3555 
3575 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
3576  sourceType:(AgoraExternalVideoSourceType)sourceType
3577  encodedVideoTrackOption:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
3578 
3596 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) __deprecated_msg("use pushExternalVideoFrame:frame,videoTrackId options instead.");
3597 
3616 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:));
3617 
3632 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3633  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:));
3634 
3650 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3651  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info
3652  videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:videoTrackId:));
3653 
3654 
3662 - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack());
3663 
3671 - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
3672 
3681 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
3682 
3691 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
3692 
3693 #pragma mark External Audio Data
3694 
3708 - (void)enableExternalAudioSink:(BOOL)enabled
3709  sampleRate:(NSUInteger)sampleRate
3710  channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
3711 
3728 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
3729  lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
3730 
3749 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
3750 
3766 - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType
3767  config:(AgoraAudioTrackConfig* _Nonnull)config;
3768 
3778 - (int)destroyCustomAudioTrack:(NSInteger)trackId;
3779 
3794 - (int)enableCustomAudioLocalPlayback:(NSInteger)trackId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
3795 
3807 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
3808  samples:(NSInteger)samples
3809  trackId:(NSInteger)trackId
3810  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:trackId:timestamp:)) __deprecated_msg("use pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp: instead.");
3811 
3825 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
3826  samples:(NSInteger)samples
3827  sampleRate:(NSInteger)sampleRate
3828  channels:(NSInteger)channels
3829  trackId:(NSInteger)trackId
3830  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:));
3831 
3842 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:)) __deprecated_msg("use pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId: instead.");
3843 
3857 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer
3858  sampleRate:(NSInteger)sampleRate
3859  channels:(NSInteger)channels
3860  trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:));
3861 
3885 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3886  channel:(NSInteger)channel
3888  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3889 
3914 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3915  channel:(NSInteger)channel
3917  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3918 
3936 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3937  channel:(NSInteger)channel
3938  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
3939 
3964 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3965  channel:(NSInteger)channel
3967  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3968 
3982 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
3983  channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
3984 
4001 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
4002  channel:(NSInteger)channel
4003  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:samplesPerCall:));
4004 /*
4005  * Adjust the custom audio publish volume by track id.
4006  * @param trackId custom audio track id.
4007  * @param volume The volume, range is [0,100]:
4008  * 0: mute, 100: The original volume
4009  * @return
4010  * - 0: Success.
4011  * - < 0: Failure.
4012  */
4013 - (int)adjustCustomAudioPublishVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
4014 
4015 /*
4016  * Adjust the custom audio playout volume by track id.
4017  * @param trackId custom audio track id.
4018  * @param volume The volume, range is [0,100]:
4019  * 0: mute, 100: The original volume
4020  * @return
4021  * - 0: Success.
4022  * - < 0: Failure.
4023  */
4024 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
4025 
4026 /*
4027  * Get monotonic time in ms which can be used by capture time,
4028  * typical scenario is as follows:
4029  *
4030  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4031  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
4032  * | int64_t custom_capture_time_base; |
4033  * | |
4034  * | int64_t agora_monotonic_time = getAgoraCurrentMonotonicTimeInMs(); |
4035  * | |
4036  * | // offset is fixed once calculated in the begining. |
4037  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
4038  * | |
4039  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
4040  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
4041  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
4042  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
4043  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4044  *
4045  * @return
4046  * - >= 0: Success.
4047  * - < 0: Failure.
4048  */
4049 - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs());
4050 
4051 #pragma mark Audio spectrum monitor
4052 
4065 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
4066 
4075 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
4076 
4087 - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
4088 
4097 
4098 #pragma mark Built-in Encryption
4099 
4129 - (int)enableEncryption:(BOOL)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
4130 
4131 #pragma mark Data Stream
4132 
4156 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4157  reliable:(BOOL)reliable
4158  ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
4159 
4169 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4170  config:(AgoraDataStreamConfig * _Nonnull)config NS_SWIFT_NAME(createDataStream(_:config:));
4171 
4195 - (int)sendStreamMessage:(NSInteger)streamId
4196  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
4197 
4198 #pragma mark Common Data Transmission
4199 
4216 - (int)sendRdtMessage:(NSInteger)uid
4217  type:(AgoraRdtStreamType)type
4218  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendRdtMessage(_:type:data:));
4219 
4231 - (int)sendMediaControlMessage:(NSInteger)uid
4232  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendMediaControlMessage(_:data:));
4233 
4234 #pragma mark Stream Publish
4235 
4253 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
4254 
4267 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
4268 
4285 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
4286 
4304 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
4305 
4306 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4307 #pragma mark Screen Capture
4308 
4322 - (int)startScreenCapture:(AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:));
4323 
4333 - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:));
4334 
4354 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
4355  regionRect:(CGRect)regionRect
4356  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
4357 
4377 - (int)startScreenCaptureByWindowId:(UInt32)windowId
4378  regionRect:(CGRect)regionRect
4379  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
4380 
4390 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
4391 
4401 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
4402 
4433 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
4434 
4435 #endif
4436 
4446 - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
4447 
4455 - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture());
4456 
4457 #if TARGET_OS_IPHONE
4458 
4477 - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:));
4478 
4488 - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(updateScreenCapture(_:));
4489 
4502 
4503 - (NSArray<AgoraFocalLengthInfo *>* _Nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability());
4504 
4505 #pragma mark Camera Control
4506 
4518 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
4519 
4526 - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor());
4527 
4534 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
4535 
4543 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
4544 
4552 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
4553 
4561 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
4562 
4570 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
4571 
4580 - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported());
4581 
4589 - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:));
4590 
4611 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
4612 
4629 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
4630 
4638 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
4639 
4651 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
4652 
4660 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
4661 
4673 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
4674 
4683 - (int)switchCamera NS_SWIFT_NAME(switchCamera());
4684 
4694 - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:));
4695 
4704  - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:));
4705 #endif
4706 
4711 - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported());
4712 
4721 - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:));
4722 
4734 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:));
4735 
4744 - (int)startCameraCapture:(AgoraVideoSourceType)sourceType config:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(startCameraCapture(_:config:));
4745 
4754 - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:));
4755 
4756 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4757 #pragma mark macOS Device
4758 
4771 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
4772 
4785 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
4786 
4794 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
4795 
4805 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
4806 
4813 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
4814 
4823 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
4824 
4834 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
4835 
4849 - (int)startAudioDeviceLoopbackTest:(int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
4850 
4858 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
4859 
4871 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
4872 
4884 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
4885 
4894 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
4895 
4902 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
4903 #endif
4904 
4905 #pragma mark Face Detection
4906 
4907 #if TARGET_OS_IPHONE
4908 
4931 - (int)enableFaceDetection:(BOOL)enable NS_SWIFT_NAME(enableFaceDetection(_:));
4932 #endif
4933 
4934 #pragma mark Watermark
4935 
4947 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg("use addVideoWatermarkWithConfig:config instead.");
4948 
4974 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:)) __deprecated_msg("use addVideoWatermarkWithConfig:config instead.");
4975 
4988 - (int)addVideoWatermarkWithConfig:(WatermarkConfig* _Nonnull)config NS_SWIFT_NAME(addVideoWatermark(_:));
4989 
5002 - (int)removeVideoWatermark:(NSString* _Nonnull)id NS_SWIFT_NAME(removeVideoWatermark(_:));
5003 
5008 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
5009 
5010 #pragma mark String UID
5011 
5043 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
5044 
5079 - (int)joinChannelByToken:(NSString * _Nullable)token
5080  channelId:(NSString * _Nonnull)channelId
5081  userAccount:(NSString * _Nonnull)userAccount
5082  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
5083 
5119 - (int)joinChannelByToken:(NSString * _Nullable)token
5120  channelId:(NSString * _Nonnull)channelId
5121  userAccount:(NSString * _Nonnull)userAccount
5122  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
5123  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
5124 
5135 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
5136 
5147 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
5148 
5149 #pragma mark Custom Audio PCM Frame
5150 
5156 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
5157 
5158 #pragma mark Custom Video Frame
5159 
5170 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
5171 
5172 #pragma mark Encoded Video Frame
5173 
5184 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
5185 
5186 #pragma mark Custom Face Info
5187 
5194 - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:));
5195 
5196 #pragma mark Custom Media Metadata
5197 
5219 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
5220 
5236 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
5237 
5238 #pragma mark Miscellaneous Methods
5239 
5249 + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion());
5250 
5256 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
5257 
5262 - (void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
5263 
5287 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
5288 
5303 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
5304 
5319 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
5320 
5328 - (NSString * _Nullable)uploadLogFile NS_SWIFT_NAME(uploadLogFile());
5329 
5340 - (int)writeLog:(AgoraLogLevel)level content:(NSString * _Nonnull)content NS_SWIFT_NAME(writeLog(_:content:));
5341 
5352 - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId());
5353 
5374 - (int)rate:(NSString * _Nonnull)callId
5375  rating:(NSInteger)rating
5376 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
5377 
5395 - (int)complain:(NSString * _Nonnull)callId
5396  description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
5397 
5408 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
5409 
5430 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
5431 
5439 - (int)stopLastmileProbeTest NS_SWIFT_NAME(stopLastmileProbeTest());
5440 
5447 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
5448 
5454 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
5455  args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
5456 
5460 - (uint64_t)getNtpWallTimeInMs;
5461 
5462 #pragma mark MediaPlayer
5463 
5472 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:));
5473 
5478 - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager NS_SWIFT_NAME(createMediaPlayerCacheManager());
5479 
5491 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
5492 
5498 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
5499 
5500 #pragma mark rhythm player
5501 
5512 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
5513 
5520 - (int)stopRhythmPlayer NS_SWIFT_NAME(stopRhythmPlayer());
5521 
5530 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:));
5531 
5532 #pragma mark Streaming Kit
5533 
5547 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
5548 
5565 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
5566 
5582 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
5583  publishUrl:(NSString * _Nonnull)publishUrl
5584  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(startDirectCdnStreaming(_:publishUrl:mediaOptions:));
5585 
5597 - (int)stopDirectCdnStreaming NS_SWIFT_NAME(stopDirectCdnStreaming());
5598 
5610 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(updateDirectCdnStreamingMediaOptions(_:));
5611 
5619 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
5620 
5630 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
5631  category:(NSString * _Nullable)category
5632  event:(NSString * _Nullable)event
5633  label:(NSString * _Nullable)label
5634  value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
5635 
5651 - (int)setLogLevel:(AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
5652 
5659 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
5660 
5699 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
5700 
5730 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
5731 
5756 - (NSInteger)takeSnapshotWithConfig:(NSInteger)uid config:(AgoraSnapshotConfig* _Nonnull)config NS_SWIFT_NAME(takeSnapshotWithConfig(_:config:));
5757 
5758 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
5759 
5770 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
5771 
5781 - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:));
5788 - (int)enableVideoImageSource:(BOOL)enable
5789  options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:));
5790 
5802 - (int)getNetworkType NS_SWIFT_NAME(getNetworkType());
5803 
5813 - (AgoraMediaRecorder * _Nullable)createMediaRecorder:(AgoraRecorderStreamInfo * _Nonnull)info NS_SWIFT_NAME(createMediaRecorder(withInfo:));
5814 
5824 - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder;
5825 
5826 #pragma mark Channel Transcoder
5827 
5832 - (id<AgoraH265TranscoderProtocol>_Nullable)getH265Transcoder NS_SWIFT_NAME (getH265Transcoder());
5833 
5834 #pragma mark Deprecated Methods
5835 
5839 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:)) __deprecated;
5840 
5851 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:)) __deprecated;
5852 
5864 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg("use delegate instead.");
5865 
5874 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
5875 
5886 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg("use delegate instead.");
5887 
5897 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
5898 
5908 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg("use delegate instead.");
5909 
5918 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg("use delegate instead.");
5919 
5929 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg("use delegate instead.");
5930 
5945 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg("use delegate instead.");
5946 
5954 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
5955 
5965 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
5966 
5970 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg("use delegate instead.");
5971 
5975 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg("use delegate instead.");
5976 
5987 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg("use delegate instead.");
5988 
5995 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg("use delegate instead.");
5996 
6006 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6007 
6016 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6017 
6024 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6025 
6029 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg("use delegate instead.");
6030 
6040 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
6041 
6051 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
6052 
6059 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
6060  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
6061 
6067 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
6068  stereo:(BOOL)stereo
6069  fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg("use setAudioProfile:scenario: instead.");
6070 
6071 
6090 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated_msg("use setAudioProfile: instead.");
6091 
6098 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg("use getDeviceInfo: instead.");
6099 
6120 - (int)setExternalAudioSource:(BOOL)enabled
6121  sampleRate:(NSInteger)sampleRate
6122  channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
6123 
6150 - (int)setExternalAudioSource:(BOOL)enabled
6151  sampleRate:(NSInteger)sampleRate
6152  channels:(NSInteger)channels
6153  localPlayback:(BOOL)localPlayback
6154  publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
6155 
6156 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6157 
6166 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg("use setDeviceVolume:volume: instead.");
6167 
6168 - (int)startScreenCapture:(NSUInteger)windowId
6169  withCaptureFreq:(NSInteger)captureFreq
6170  bitRate:(NSInteger)bitRate
6171  andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
6172 #endif
6173 
6179 + (NSString * _Nonnull)getMediaEngineVersion NS_SWIFT_NAME(getMediaEngineVersion()) __deprecated;
6180 
6181 
6200 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6201 
6210 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg("use delegate instead.");
6211 
6215 - (int)setLocalRenderMode:(NSUInteger)uid
6216  mode:(AgoraVideoRenderMode)mode NS_SWIFT_NAME(setLocalRenderMode(_:mode:)) __deprecated;
6217 
6228 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:)) __deprecated;;
6229 
6230 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:)) __deprecated;;
6231 
6237 - (void)addDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(addDelegate(_:));
6238 
6244 - (void)removeDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(removeDelegate(_:));
6245 
6246 @end
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
AgoraAudioTrackType
AgoraAudioTrackType
Definition: AgoraEnumerates.h:3768
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Definition: AgoraRtcEngineKit.h:61
AgoraRecorderStreamInfo
Definition: AgoraObjects.h:3387
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:48
AgoraRtcMediaPlayerCacheManagerProtocol.h
-[AgoraRtcEngineKit getNetworkType]
int getNetworkType()
-[AgoraRtcEngineKit queryDeviceScore]
int queryDeviceScore()
-[AgoraRtcEngineKit enableInstantMediaRendering]
int enableInstantMediaRendering()
Enable instant media rendering.
-[AgoraRtcEngineKit cameraMaxZoomFactor]
CGFloat cameraMaxZoomFactor()
-[AgoraRtcEngineKit stopChannelMediaRelay]
int stopChannelMediaRelay()
AgoraMediaMetadataDelegate.h
-[AgoraRtcEngineKit getConnectionState]
AgoraConnectionState getConnectionState()
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:278
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:304
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1316
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
Definition: AgoraEnumerates.h:3428
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:3518
AgoraBeautyOptions
Definition: AgoraObjects.h:2593
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:3366
AgoraMediaRecorder
Definition: AgoraMediaRecorder.h:14
AgoraRtcMediaPlayerProtocol.h
AgoraAudioTrackConfig
Definition: AgoraObjects.h:3760
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:541
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:3137
AgoraHeadphoneEQPreset
AgoraHeadphoneEQPreset
Definition: AgoraEnumerates.h:1756
AgoraVideoModule
AgoraVideoModule
Definition: AgoraEnumerates.h:3884
AgoraVideoFrameDelegate.h
AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition: AgoraEnumerates.h:3787
AgoraRdtStreamType
AgoraRdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition: AgoraEnumerates.h:3970
-[AgoraRtcEngineKit startMediaRenderingTracing]
int startMediaRenderingTracing()
Start tracing media rendering events.
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
AgoraFeatureType
AgoraFeatureType
Definition: AgoraEnumerates.h:3879
AgoraFaceShapeAreaOptions
Definition: AgoraObjects.h:2635
AgoraCameraStabilizationMode
AgoraCameraStabilizationMode
Definition: AgoraEnumerates.h:2758
AgoraFaceInfoDelegate.h
AgoraVideoFrame
Definition: AgoraObjects.h:1948
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:3196
AgoraLocalAudioMixerConfiguration
Definition: AgoraObjects.h:2880
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
Definition: AgoraEnumerates.h:1696
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2921
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1397
+[AgoraRtcEngineKit destroy]
void destroy()
Destroys the AgoraRtcEngineKit object.
AgoraMediaRecorder.h
AgoraSegmentationProperty
Definition: AgoraObjects.h:2791
AgoraSimulcastConfig
Definition: AgoraObjects.h:3237
AgoraVoiceAITunerType
AgoraVoiceAITunerType
Definition: AgoraEnumerates.h:1765
AgoraContentInspectConfig
Definition: AgoraObjects.h:3316
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:3297
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:231
AgoraH265TranscoderProtocol.h
AgoraAudioProfile
AgoraAudioProfile
Definition: AgoraEnumerates.h:1277
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2714
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:650
-[AgoraRtcEngineKit stopLocalVideoTranscoder]
int stopLocalVideoTranscoder()
AgoraFaceShapeArea
AgoraFaceShapeArea
The specific facial area to be adjusted.
Definition: AgoraEnumerates.h:2066
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
WatermarkOptions
Definition: AgoraObjects.h:1506
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:3063
-[AgoraRtcEngineKit createMediaPlayerCacheManager]
id< AgoraRtcMediaPlayerCacheManagerProtocol > _Nullable createMediaPlayerCacheManager()
-[AgoraRtcEngineKit stopScreenCapture]
int stopScreenCapture()
-[AgoraRtcEngineKit getCurrentMonotonicTimeInMs]
int64_t getCurrentMonotonicTimeInMs()
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
AgoraQoEPreferenceType
AgoraQoEPreferenceType
Definition: AgoraEnumerates.h:2925
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:14
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:507
-[AgoraRtcEngineKit uploadLogFile]
NSString *_Nullable uploadLogFile()
-[AgoraRtcEngineKit pauseAllChannelMediaRelay]
int pauseAllChannelMediaRelay()
-[AgoraRtcEngineKit stopPreview]
int stopPreview()
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:2310
AgoraDataStreamConfig
Definition: AgoraObjects.h:2512
AgoraMediaRecorderDelegate.h
-[AgoraRtcEngineKit stopLocalAudioMixer]
int stopLocalAudioMixer()
-[AgoraRtcEngineKit getH265Transcoder]
id< AgoraH265TranscoderProtocol >_Nullable getH265Transcoder()
AgoraUserInfo
Definition: AgoraObjects.h:2446
AgoraRtcAudioSpectrumDelegate.h
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
Definition: AgoraEnumerates.h:1443
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
AgoraRtcEngineConfig
Definition: AgoraObjects.h:2110
AgoraMediaMetadataDataSource.h
AgoraImageTrackOptions
Definition: AgoraObjects.h:3567
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:857
AgoraAudioEncodedFrameDelegate.h
AgoraVideoEffectObject.h
AgoraEncryptionConfig
Definition: AgoraObjects.h:2427
AgoraAudioFrameDelegate.h
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:3413
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2541
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:827
-[AgoraRtcEngineKit stopPlaybackDeviceTest]
int stopPlaybackDeviceTest()
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:3613
AgoraConnectionState
AgoraConnectionState
Definition: AgoraEnumerates.h:1925
AgoraHDRCapability
AgoraHDRCapability
Definition: AgoraEnumerates.h:3893
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:3561
AgoraScreenScenarioType
AgoraScreenScenarioType
Definition: AgoraEnumerates.h:2949
AgoraEncodedVideoFrameDelegate.h
-[AgoraRtcEngineKit getFaceShapeBeautyOptions]
AgoraFaceShapeBeautyOptions *_Nullable getFaceShapeBeautyOptions()
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:3489
AgoraConstants.h
-[AgoraRtcEngineKit disableAudio]
int disableAudio()
-[AgoraRtcEngineKit stopRhythmPlayer]
int stopRhythmPlayer()
-[AgoraRtcEngineKit createCustomVideoTrack]
unsigned int createCustomVideoTrack()
-[AgoraRtcEngineKit disableVideo]
int disableVideo()
AgoraFaceShapeBeautyOptions
Definition: AgoraObjects.h:2666
+[AgoraRtcEngineKit getSdkVersion]
NSString *_Nonnull getSdkVersion()
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2759
AgoraRtcMediaPlayerDelegate.h
-[AgoraRtcEngineKit startPreview]
int startPreview()
AgoraSnapshotConfig
Definition: AgoraObjects.h:3325
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2731
AgoraSimulcastStreamMode
AgoraSimulcastStreamMode
Definition: AgoraEnumerates.h:3134
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
AgoraDirectCdnStreamingEventDelegate.h
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
Definition: AgoraEnumerates.h:3120
-[AgoraRtcEngineKit getAudioTrackCount]
int getAudioTrackCount()
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2898
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:570
AgoraRtcEngineDelegate.h
AgoraApplicationScenarioType
AgoraApplicationScenarioType
Definition: AgoraEnumerates.h:2904
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:3159
AgoraMetadataType
AgoraMetadataType
Definition: AgoraEnumerates.h:2546
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2746
-[AgoraRtcEngineKit getNtpWallTimeInMs]
uint64_t getNtpWallTimeInMs()
AgoraClientRoleOptions
Definition: AgoraObjects.h:2459
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2966
AgoraNetworkQuality
AgoraNetworkQuality
Definition: AgoraEnumerates.h:748
-[AgoraRtcEngineKit stopRecordingDeviceTest]
int stopRecordingDeviceTest()
WatermarkConfig
Configuration settings for applying a watermark.
Definition: AgoraObjects.h:1565
-[AgoraRtcEngineKit queryCameraFocalLengthCapability]
NSArray< AgoraFocalLengthInfo * > *_Nullable queryCameraFocalLengthCapability()
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2469
AgoraCloudProxyType
AgoraCloudProxyType
Definition: AgoraEnumerates.h:610
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
AgoraScreenCaptureFrameRateCapability
AgoraScreenCaptureFrameRateCapability
Definition: AgoraEnumerates.h:3761
AgoraExtensionInfo
Definition: AgoraObjects.h:3725
-[AgoraRtcEngineKit queryCodecCapability]
NSArray< AgoraVideoCodecCapInfo * > *_Nullable queryCodecCapability()
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2567
AgoraChannelStats
Definition: AgoraObjects.h:1096
-[AgoraRtcEngineKit queryScreenCaptureCapability]
AgoraScreenCaptureFrameRateCapability queryScreenCaptureCapability()