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"
27 
33 #pragma mark - AgoraRtcEngineKit
34 
46 __attribute__((visibility("default"))) @interface AgoraRtcEngineKit : NSObject
47 
48 #pragma mark Core Methods
49 
60 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate;
61 
76 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
77  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(withAppId:delegate:));
78 
99 + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config
100  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(with:delegate:));
101 
139 - (int)preloadChannelByToken:(NSString * _Nullable)token
140  channelId:(NSString * _Nonnull)channelId
141  uid:(NSUInteger)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:uid:));
142 
182 - (int)preloadChannelByTokenWithUserAccount:(NSString * _Nullable)token
183  channelId:(NSString * _Nonnull)channelId
184  userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(preloadChannelWithUserAccount(byToken:channelId:userAccount:));
185 
203 - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:));
204 
267 - (int)joinChannelByToken:(NSString * _Nullable)token
268  channelId:(NSString * _Nonnull)channelId
269  info:(NSString * _Nullable)info
270  uid:(NSUInteger)uid
271  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:info:uid:joinSuccess:));
272 
333 - (int)joinChannelByToken:(NSString * _Nullable)token
334  channelId:(NSString * _Nonnull)channelId
335  uid:(NSUInteger)uid
336  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
337  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:uid:mediaOptions:joinSuccess:));
338 
364 - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:));
365 
392 - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options
393 leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:leaveChannelBlock:));
394 
412 - (int)setChannelProfile:(AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:));
413 
422 - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions NS_SWIFT_NAME(updateChannel(with:));
423 
439 - (int)setClientRole:(AgoraClientRole)role NS_SWIFT_NAME(setClientRole(_:));
440 
468 - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options NS_SWIFT_NAME(setClientRole(_:options:));
469 
486 - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:));
487 
494 
519 - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:));
520 
536 - (int)stopChannelMediaRelay NS_SWIFT_NAME(stopChannelMediaRelay());
537 
548 
559 
574 - (int)enableWirelessAccelerate:(BOOL)enabled NS_SWIFT_NAME(enableWirelessAccelerate(_:));
575 
576 - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:));
577 
578 - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:));
579 
580 - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder());
581 
591 - (int)startLocalAudioMixer:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalAudioMixer(_:));
592 
602 - (int)updateLocalAudioMixerConfiguration:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalAudioMixerConfiguration(_:));
603 
613 - (int)stopLocalAudioMixer NS_SWIFT_NAME(stopLocalAudioMixer());
614 
630 
645 
662 + (void)destroy NS_SWIFT_NAME(destroy());
663 
664 #pragma mark Core Audio
665 
679 - (int)enableAudio NS_SWIFT_NAME(enableAudio());
680 
692 - (int)disableAudio NS_SWIFT_NAME(disableAudio());
693 
716 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
717 
733 - (int)setAudioProfile:(AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
734 
735 - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
736 
758 - (int)enableAudioVolumeIndication:(NSInteger)interval
759  smooth:(NSInteger)smooth
760  reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
761 
762 
763 #if TARGET_OS_IPHONE
764 
781 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
782 
792 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
793 
821 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
822 #endif
823 
835 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
836 
848 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
849 
869 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
870 
879 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
880 
891 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
892 
906 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
907 
933 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
934 
945 - (int)startRecordingDeviceTest:(int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
946 
956 - (int)stopRecordingDeviceTest NS_SWIFT_NAME(stopRecordingDeviceTest());
957 
972 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
973 
983 - (int)stopPlaybackDeviceTest NS_SWIFT_NAME(stopPlaybackDeviceTest());
984 
997 - (int)registerExtensionWithVendor:(NSString * _Nonnull)provider
998  extension:(NSString * _Nonnull)extension
999  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:));
1000 
1020 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider extension:(NSString * _Nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
1021 
1042 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1043  extension:(NSString * _Nonnull)extension
1044  enabled:(BOOL)enabled
1045  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
1046 
1067 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1068  extension:(NSString * _Nonnull)extension
1069  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1070  enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
1071 
1083 - (int)setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider
1084  key:(NSString * _Nonnull)key
1085  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
1086 
1097 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1098  extension:(NSString * _Nonnull)extension
1099  key:(NSString * _Nonnull)key
1100  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
1101 
1115 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1116  extension:(NSString * _Nonnull)extension
1117  key:(NSString * _Nonnull)key
1118  value:(NSString * _Nonnull)value
1119  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
1120 
1134 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1135  extension:(NSString * _Nonnull)extension
1136  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1137  key:(NSString * _Nonnull)key
1138  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
1139 
1150 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1151  extension:(NSString * _Nonnull)extension
1152  key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
1153 
1165 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1166  extension:(NSString * _Nonnull)extension
1167  key:(NSString * _Nonnull)key
1168  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
1169 
1181 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1182  extension:(NSString * _Nonnull)extension
1183  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1184  key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
1185 
1186 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1187 
1207 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
1208 
1221 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
1222 
1229 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
1230 #endif
1231 
1232 #pragma mark Core Video
1233 
1254 - (int)enableVideo NS_SWIFT_NAME(enableVideo());
1255 
1265 - (int)disableVideo NS_SWIFT_NAME(disableVideo());
1266 
1292 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
1293 
1299 - (NSArray <AgoraVideoCodecCapInfo *> *_Nullable)queryCodecCapability;
1300 
1310 - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore());
1311 
1318 - (AgoraHDRCapability)queryHDRCapability:(AgoraVideoModule)videoModule NS_SWIFT_NAME(queryHDRCapability(_:));
1319 
1336 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
1337 
1357 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
1358 
1369 - (int)setLocalRenderTargetFps:(AgoraVideoSourceType)sourceType
1370  targetFps:(int)targetFps;
1379 - (int)setRemoteRenderTargetFps:(int)targetFps;
1380 
1399 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
1400  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
1401 
1413 - (int)startPreview NS_SWIFT_NAME(startPreview());
1414 
1428 - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:));
1429 
1437 - (int)stopPreview NS_SWIFT_NAME(stopPreview());
1438 
1446 - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:));
1447 
1458 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
1459 
1469 - (int)setRemoteRenderMode:(NSUInteger)uid
1470  mode:(AgoraVideoRenderMode)mode
1471  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
1472 
1485 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
1486 
1502 - (int)muteRemoteVideoStream:(NSUInteger)uid
1503  mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
1504 
1530 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
1531 
1545 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
1546 
1561 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:));
1562 
1576 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:));
1577 
1592 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:sourceType:));
1593 
1602 
1613 
1623 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeAreaOptions(_:));
1624 
1635 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeAreaOptions(_:sourceType:));
1636 
1646 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area NS_SWIFT_NAME(getFaceShapeAreaOptions(_:));
1647 
1658 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeAreaOptions(_:sourceType:));
1659 
1684 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
1685 
1711 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:));
1712 
1713 
1737 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options NS_SWIFT_NAME(setFilterEffectOptions(_:options:));
1738 
1763 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFilterEffectOptions(_:options:sourceType:));
1764 
1765 
1790 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
1791 
1817 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:));
1818 
1843 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
1844 
1870 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:));
1871 
1919 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:));
1920 
1969 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:));
1970 
1982 - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:));
1983 
1995 - (int)setVideoQoEPreference:(AgoraQoEPreferenceType)preferenceType NS_SWIFT_NAME(setVideoQoEPreference(_:));
1996 
2005 - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type;
2006 
2007 #pragma mark Audio Effect
2008 
2022 - (int)setLocalVoicePitch:(double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:));
2023 
2033 - (int)setLocalVoiceFormant:(double)formantRatio;
2034 
2042 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:));
2043 
2051 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:));
2052 
2053 #pragma mark Audio Effect Playback
2054 
2083 - (int)preloadEffect:(int)soundId
2084  filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:));
2085 
2110 - (int)preloadEffect:(int)soundId
2111  filePath:(NSString* _Nonnull)filePath
2112  startPos:(int)startPos NS_SWIFT_NAME(preloadEffect(_:filePath:startPos:));
2113 
2137 - (int)playEffect:(int)soundId
2138  filePath:(NSString* _Nonnull)filePath
2139  loopCount:(NSInteger)loopCount
2140  pitch:(double)pitch
2141  pan:(double)pan
2142  gain:(NSInteger)gain NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:));
2143 
2168 - (int)playEffect:(int)soundId
2169  filePath:(NSString* _Nonnull)filePath
2170  loopCount:(NSInteger)loopCount
2171  pitch:(double)pitch
2172  pan:(double)pan
2173  gain:(NSInteger)gain
2174  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:startPos:));
2175 
2207 - (int)playEffect:(int)soundId
2208  filePath:(NSString* _Nonnull)filePath
2209  loopCount:(NSInteger)loopCount
2210  pitch:(double)pitch
2211  pan:(double)pan
2212  gain:(NSInteger)gain
2213  publish:(BOOL)publish NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:));
2214 
2247 - (int)playEffect:(int)soundId
2248  filePath:(NSString* _Nonnull)filePath
2249  loopCount:(NSInteger)loopCount
2250  pitch:(double)pitch
2251  pan:(double)pan
2252  gain:(NSInteger)gain
2253  publish:(BOOL)publish
2254  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:startPos:));
2255 
2286 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
2287  pitch:(double)pitch
2288  pan:(double)pan
2289  gain:(NSInteger)gain
2290  publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:));
2291 
2299 - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume());
2300 
2310 - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:));
2311 
2322 - (int)setVolumeOfEffect:(int)soundId
2323  withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:));
2324 
2334 - (int)getVolumeOfEffect:(int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:));
2335 
2343 - (int)pauseEffect:(int)soundId NS_SWIFT_NAME(pauseEffect(_:));
2344 
2350 - (int)pauseAllEffects NS_SWIFT_NAME(pauseAllEffects());
2351 
2359 - (int)resumeEffect:(int)soundId NS_SWIFT_NAME(resumeEffect(_:));
2360 
2366 - (int)resumeAllEffects NS_SWIFT_NAME(resumeAllEffects());
2367 
2375 - (int)stopEffect:(int)soundId NS_SWIFT_NAME(stopEffect(_:));
2376 
2383 - (int)stopAllEffects NS_SWIFT_NAME(stopAllEffects());
2384 
2400 - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:));
2401 
2416 - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:));
2417 
2428 - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:));
2429 
2437 - (int)unloadEffect:(int)soundId NS_SWIFT_NAME(unloadEffect(_:));
2438 
2445 - (int)unloadAllEffects NS_SWIFT_NAME(unloadAllEffects());
2446 
2447 #pragma mark beautifier effect
2448 
2485 - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset NS_SWIFT_NAME(setVoiceBeautifierPreset(_:));
2486 
2524 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:));
2525 
2564 - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset NS_SWIFT_NAME(setVoiceConversionPreset(_:));
2565 
2641 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setAudioEffectParameters(_:param1:param2:));
2642 
2685 - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:));
2686 
2699 - (int)setVoiceConversionParameters:(AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceConversionParameters(_:param1:param2:));
2700 
2712 - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset NS_SWIFT_NAME(setHeadphoneEQPreset(_:));
2713 
2723 - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:));
2724 
2736 - (int)enableVoiceAITuner:(BOOL)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:));
2737 
2738 #pragma mark Sound Position Indication
2739 
2757 - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:));
2758 
2782 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:));
2783 
2794 - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:));
2795 
2811 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
2812  params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:));
2813 
2814 #pragma mark Audio Noise Suppression
2815 
2825 - (int)setAINSMode:(BOOL)enabled mode:(AUDIO_AINS_MODE)mode NS_SWIFT_NAME(setAINSMode(_:mode:));
2826 
2827 #pragma mark Audio Mixing
2828 
2865 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2866  loopback:(BOOL)loopback
2867  cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
2868 
2901 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2902  loopback:(BOOL)loopback
2903  cycle:(NSInteger)cycle
2904  startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
2905 
2915 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
2916 
2925 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
2926 
2936 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
2937 
2946 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
2947 
2956 - (int)getAudioTrackCount NS_SWIFT_NAME(getAudioTrackCount());
2957 
2968 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
2969 
2978 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
2979 
2988 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
2989 
2998 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
2999 
3008 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
3009 
3019 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
3020 
3029 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
3030 
3041 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
3042 
3053 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
3054 
3064 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
3065 
3084 - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:));
3085 
3086 #pragma mark Audio Recording
3087 
3108 - (int)startAudioRecording:(NSString * _Nonnull)filePath
3109  quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
3110 
3134 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config NS_SWIFT_NAME(startAudioRecording(withConfig:));
3135 
3136 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:));
3137 
3145 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
3146 
3147 #pragma mark Echo Test
3148 
3165 - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config NS_SWIFT_NAME(startEchoTest(withConfig:));
3166 
3174 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
3175 
3176 
3177 #pragma mark Miscellaneous Audio Control
3178 
3193 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
3194 
3206 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
3207 
3219 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
3220 
3221 #if TARGET_OS_IPHONE
3222 
3230 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
3231 #endif
3232 
3233 #pragma mark Dual Video Mode
3234 
3251 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:)) __deprecated_msg("use setDualStreamMode: instead.");
3252 
3271 - (int)enableDualStreamMode:(BOOL)enabled
3272  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:)) __deprecated_msg("use setDualStreamMode: instead.");
3273 
3283 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode NS_SWIFT_NAME(setDualStreamMode(_:));
3284 
3301 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode
3302  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(setDualStreamMode(_:streamConfig:));
3303 
3318 - (int)setSimulcastConfig:(AgoraSimulcastConfig* _Nonnull)simulcastConfig NS_SWIFT_NAME(setSimulcastConfig(_:));
3319 
3330 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
3331 
3351 - (int)setRemoteVideoStream:(NSUInteger)uid
3352  type:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteVideoStream(_:type:));
3353 
3364 - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid
3365  options:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideoSubscriptionOptions(_:options:));
3366 
3367 #pragma mark Subscribe Blocklist / Allowlist
3368 
3382 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
3383 
3399 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
3400 
3414 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
3415 
3431 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
3432 
3433 #pragma mark Stream Fallback
3434 
3457 - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setLocalPublishFallbackOption(_:));
3458 
3470 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
3471 
3483 - (int)setHighPriorityUserList:(NSArray <NSNumber *> *_Nullable)uidList
3484  option:(AgoraStreamFallbackOptions)option;
3485 
3486 
3487 #pragma mark External Media Source
3488 
3513 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
3514 
3534 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
3535  sourceType:(AgoraExternalVideoSourceType)sourceType
3536  encodedVideoTrackOption:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
3537 
3555 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) __deprecated_msg("use pushExternalVideoFrame:frame,videoTrackId options instead.");
3556 
3575 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:));
3576 
3591 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3592  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:));
3593 
3609 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3610  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info
3611  videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:videoTrackId:));
3612 
3613 
3621 - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack());
3622 
3630 - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
3631 
3640 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
3641 
3650 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
3651 
3652 #pragma mark External Audio Data
3653 
3667 - (void)enableExternalAudioSink:(BOOL)enabled
3668  sampleRate:(NSUInteger)sampleRate
3669  channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
3670 
3687 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
3688  lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
3689 
3708 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
3709 
3725 - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType
3726  config:(AgoraAudioTrackConfig* _Nonnull)config;
3727 
3737 - (int)destroyCustomAudioTrack:(NSInteger)trackId;
3738 
3753 - (int)enableCustomAudioLocalPlayback:(NSInteger)trackId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
3754 
3766 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
3767  samples:(NSInteger)samples
3768  trackId:(NSInteger)trackId
3769  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:trackId:timestamp:)) __deprecated_msg("use pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp: instead.");
3770 
3784 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
3785  samples:(NSInteger)samples
3786  sampleRate:(NSInteger)sampleRate
3787  channels:(NSInteger)channels
3788  trackId:(NSInteger)trackId
3789  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:));
3790 
3801 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:)) __deprecated_msg("use pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId: instead.");
3802 
3816 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer
3817  sampleRate:(NSInteger)sampleRate
3818  channels:(NSInteger)channels
3819  trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:));
3820 
3844 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3845  channel:(NSInteger)channel
3847  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3848 
3873 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3874  channel:(NSInteger)channel
3876  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3877 
3895 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3896  channel:(NSInteger)channel
3897  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
3898 
3923 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3924  channel:(NSInteger)channel
3926  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3927 
3941 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
3942  channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
3943 
3944 /*
3945  * Adjust the custom audio publish volume by track id.
3946  * @param trackId custom audio track id.
3947  * @param volume The volume, range is [0,100]:
3948  * 0: mute, 100: The original volume
3949  * @return
3950  * - 0: Success.
3951  * - < 0: Failure.
3952  */
3953 - (int)adjustCustomAudioPublishVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
3954 
3955 /*
3956  * Adjust the custom audio playout volume by track id.
3957  * @param trackId custom audio track id.
3958  * @param volume The volume, range is [0,100]:
3959  * 0: mute, 100: The original volume
3960  * @return
3961  * - 0: Success.
3962  * - < 0: Failure.
3963  */
3964 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
3965 
3966 /*
3967  * Get monotonic time in ms which can be used by capture time,
3968  * typical scenario is as follows:
3969  *
3970  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3971  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
3972  * | int64_t custom_capture_time_base; |
3973  * | |
3974  * | int64_t agora_monotonic_time = getAgoraCurrentMonotonicTimeInMs(); |
3975  * | |
3976  * | // offset is fixed once calculated in the begining. |
3977  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
3978  * | |
3979  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
3980  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
3981  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
3982  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
3983  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3984  *
3985  * @return
3986  * - >= 0: Success.
3987  * - < 0: Failure.
3988  */
3989 - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs());
3990 
3991 #pragma mark Audio spectrum monitor
3992 
4005 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
4006 
4015 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
4016 
4027 - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
4028 
4037 
4038 #pragma mark Built-in Encryption
4039 
4069 - (int)enableEncryption:(BOOL)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
4070 
4071 #pragma mark Data Stream
4072 
4096 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4097  reliable:(BOOL)reliable
4098  ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
4099 
4109 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4110  config:(AgoraDataStreamConfig * _Nonnull)config NS_SWIFT_NAME(createDataStream(_:config:));
4111 
4135 - (int)sendStreamMessage:(NSInteger)streamId
4136  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
4137 
4138 #pragma mark Stream Publish
4139 
4157 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
4158 
4171 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
4172 
4189 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
4190 
4208 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
4209 
4210 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4211 #pragma mark Screen Capture
4212 
4226 - (int)startScreenCapture:(AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:));
4227 
4237 - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:));
4238 
4258 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
4259  regionRect:(CGRect)regionRect
4260  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
4261 
4281 - (int)startScreenCaptureByWindowId:(UInt32)windowId
4282  regionRect:(CGRect)regionRect
4283  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
4284 
4294 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
4295 
4305 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
4306 
4337 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
4338 
4339 #endif
4340 
4350 - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
4351 
4359 - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture());
4360 
4361 #if TARGET_OS_IPHONE
4362 
4381 - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:));
4382 
4392 - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(updateScreenCapture(_:));
4393 
4406 
4407 - (NSArray<AgoraFocalLengthInfo *>* _Nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability());
4408 
4409 #pragma mark Camera Control
4410 
4422 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
4423 
4430 - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor());
4431 
4438 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
4439 
4447 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
4448 
4456 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
4457 
4465 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
4466 
4474 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
4475 
4484 - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported());
4485 
4493 - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:));
4494 
4515 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
4516 
4533 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
4534 
4542 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
4543 
4555 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
4556 
4564 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
4565 
4577 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
4578 
4587 - (int)switchCamera NS_SWIFT_NAME(switchCamera());
4588 
4598 - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:));
4599 
4608  - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:));
4609 #endif
4610 
4615 - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported());
4616 
4625 - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:));
4626 
4638 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:));
4639 
4648 - (int)startCameraCapture:(AgoraVideoSourceType)sourceType config:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(startCameraCapture(_:config:));
4649 
4658 - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:));
4659 
4660 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4661 #pragma mark macOS Device
4662 
4675 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
4676 
4689 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
4690 
4698 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
4699 
4709 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
4710 
4717 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
4718 
4727 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
4728 
4738 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
4739 
4753 - (int)startAudioDeviceLoopbackTest:(int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
4754 
4762 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
4763 
4775 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
4776 
4788 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
4789 
4798 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
4799 
4806 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
4807 #endif
4808 
4809 #pragma mark Face Detection
4810 
4811 #if TARGET_OS_IPHONE
4812 
4835 - (int)enableFaceDetection:(BOOL)enable NS_SWIFT_NAME(enableFaceDetection(_:));
4836 #endif
4837 
4838 #pragma mark Watermark
4839 
4851 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg("use addVideoWatermark:url options instead.");
4852 
4878 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:));
4879 
4884 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
4885 
4886 #pragma mark String UID
4887 
4919 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
4920 
4955 - (int)joinChannelByToken:(NSString * _Nullable)token
4956  channelId:(NSString * _Nonnull)channelId
4957  userAccount:(NSString * _Nonnull)userAccount
4958  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
4959 
4995 - (int)joinChannelByToken:(NSString * _Nullable)token
4996  channelId:(NSString * _Nonnull)channelId
4997  userAccount:(NSString * _Nonnull)userAccount
4998  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
4999  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
5000 
5011 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
5012 
5023 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
5024 
5025 #pragma mark Custom Audio PCM Frame
5026 
5032 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
5033 
5034 #pragma mark Custom Video Frame
5035 
5046 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
5047 
5048 #pragma mark Encoded Video Frame
5049 
5060 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
5061 
5062 #pragma mark Custom Face Info
5063 
5070 - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:));
5071 
5072 #pragma mark Custom Media Metadata
5073 
5095 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
5096 
5112 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
5113 
5114 #pragma mark Miscellaneous Methods
5115 
5125 + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion());
5126 
5132 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
5133 
5138 - (void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
5139 
5163 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
5164 
5179 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
5180 
5195 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
5196 
5204 - (NSString * _Nullable)uploadLogFile NS_SWIFT_NAME(uploadLogFile());
5205 
5216 - (int)writeLog:(AgoraLogLevel)level content:(NSString * _Nonnull)content NS_SWIFT_NAME(writeLog(_:content:));
5217 
5228 - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId());
5229 
5250 - (int)rate:(NSString * _Nonnull)callId
5251  rating:(NSInteger)rating
5252 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
5253 
5271 - (int)complain:(NSString * _Nonnull)callId
5272  description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
5273 
5284 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
5285 
5306 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
5307 
5315 - (int)stopLastmileProbeTest NS_SWIFT_NAME(stopLastmileProbeTest());
5316 
5323 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
5324 
5330 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
5331  args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
5332 
5336 - (uint64_t)getNtpWallTimeInMs;
5337 
5338 #pragma mark MediaPlayer
5339 
5348 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:));
5349 
5354 - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager NS_SWIFT_NAME(createMediaPlayerCacheManager());
5355 
5367 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
5368 
5374 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
5375 
5376 #pragma mark rhythm player
5377 
5388 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
5389 
5396 - (int)stopRhythmPlayer NS_SWIFT_NAME(stopRhythmPlayer());
5397 
5406 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:));
5407 
5408 #pragma mark Streaming Kit
5409 
5421 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
5422 
5437 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
5438 
5452 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
5453  publishUrl:(NSString * _Nonnull)publishUrl
5454  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(startDirectCdnStreaming(_:publishUrl:mediaOptions:));
5455 
5465 - (int)stopDirectCdnStreaming NS_SWIFT_NAME(stopDirectCdnStreaming());
5466 
5476 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(updateDirectCdnStreamingMediaOptions(_:));
5477 
5485 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
5486 
5496 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
5497  category:(NSString * _Nullable)category
5498  event:(NSString * _Nullable)event
5499  label:(NSString * _Nullable)label
5500  value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
5501 
5517 - (int)setLogLevel:(AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
5518 
5525 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
5526 
5565 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
5566 
5596 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
5597 
5622 - (NSInteger)takeSnapshotWithConfig:(NSInteger)uid config:(AgoraSnapshotConfig* _Nonnull)config NS_SWIFT_NAME(takeSnapshotWithConfig(_:config:));
5623 
5624 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
5625 
5636 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
5637 
5647 - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:));
5654 - (int)enableVideoImageSource:(BOOL)enable
5655  options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:));
5656 
5668 - (int)getNetworkType NS_SWIFT_NAME(getNetworkType());
5669 
5679 - (AgoraMediaRecorder * _Nullable)createMediaRecorder:(AgoraRecorderStreamInfo * _Nonnull)info NS_SWIFT_NAME(createMediaRecorder(withInfo:));
5680 
5690 - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder;
5691 
5692 #pragma mark Channel Transcoder
5693 
5698 - (id<AgoraH265TranscoderProtocol>_Nullable)getH265Transcoder NS_SWIFT_NAME (getH265Transcoder());
5699 
5700 #pragma mark Deprecated Methods
5701 
5705 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:)) __deprecated;
5706 
5717 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:)) __deprecated;
5718 
5730 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg("use delegate instead.");
5731 
5740 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
5741 
5752 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg("use delegate instead.");
5753 
5763 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
5764 
5774 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg("use delegate instead.");
5775 
5784 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg("use delegate instead.");
5785 
5795 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg("use delegate instead.");
5796 
5811 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg("use delegate instead.");
5812 
5820 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
5821 
5831 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
5832 
5836 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg("use delegate instead.");
5837 
5841 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg("use delegate instead.");
5842 
5853 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg("use delegate instead.");
5854 
5861 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg("use delegate instead.");
5862 
5872 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg("use delegate instead.");
5873 
5882 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg("use delegate instead.");
5883 
5890 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg("use delegate instead.");
5891 
5895 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg("use delegate instead.");
5896 
5906 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
5907 
5917 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
5918 
5925 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
5926  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
5927 
5933 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
5934  stereo:(BOOL)stereo
5935  fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg("use setAudioProfile:scenario: instead.");
5936 
5937 
5956 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated_msg("use setAudioProfile: instead.");
5957 
5964 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg("use getDeviceInfo: instead.");
5965 
5986 - (int)setExternalAudioSource:(BOOL)enabled
5987  sampleRate:(NSInteger)sampleRate
5988  channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
5989 
6016 - (int)setExternalAudioSource:(BOOL)enabled
6017  sampleRate:(NSInteger)sampleRate
6018  channels:(NSInteger)channels
6019  localPlayback:(BOOL)localPlayback
6020  publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
6021 
6022 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6023 
6032 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg("use setDeviceVolume:volume: instead.");
6033 
6034 - (int)startScreenCapture:(NSUInteger)windowId
6035  withCaptureFreq:(NSInteger)captureFreq
6036  bitRate:(NSInteger)bitRate
6037  andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
6038 #endif
6039 
6045 + (NSString * _Nonnull)getMediaEngineVersion NS_SWIFT_NAME(getMediaEngineVersion()) __deprecated;
6046 
6047 
6066 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6067 
6076 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg("use delegate instead.");
6077 
6081 - (int)setLocalRenderMode:(NSUInteger)uid
6082  mode:(AgoraVideoRenderMode)mode NS_SWIFT_NAME(setLocalRenderMode(_:mode:)) __deprecated;
6083 
6094 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:)) __deprecated;;
6095 
6096 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:)) __deprecated;;
6097 
6103 - (void)addDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(addDelegate(_:));
6104 
6110 - (void)removeDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(removeDelegate(_:));
6111 
6112 @end
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
AgoraAudioTrackType
AgoraAudioTrackType
Definition: AgoraEnumerates.h:3592
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Definition: AgoraRtcEngineKit.h:60
AgoraRecorderStreamInfo
Definition: AgoraObjects.h:3189
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:47
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:274
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:300
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1303
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
Definition: AgoraEnumerates.h:3216
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:3320
AgoraBeautyOptions
Definition: AgoraObjects.h:2428
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:3168
AgoraMediaRecorder
Definition: AgoraMediaRecorder.h:14
AgoraRtcMediaPlayerProtocol.h
AgoraAudioTrackConfig
Definition: AgoraObjects.h:3580
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:527
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:2958
AgoraHeadphoneEQPreset
AgoraHeadphoneEQPreset
Definition: AgoraEnumerates.h:1738
AgoraVideoModule
AgoraVideoModule
Definition: AgoraEnumerates.h:3708
AgoraVideoFrameDelegate.h
AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition: AgoraEnumerates.h:3611
-[AgoraRtcEngineKit startMediaRenderingTracing]
int startMediaRenderingTracing()
Start tracing media rendering events.
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
AgoraFeatureType
AgoraFeatureType
Definition: AgoraEnumerates.h:3703
AgoraFaceShapeAreaOptions
Definition: AgoraObjects.h:2470
AgoraCameraStabilizationMode
AgoraCameraStabilizationMode
Definition: AgoraEnumerates.h:2555
AgoraFaceInfoDelegate.h
AgoraVideoFrame
Definition: AgoraObjects.h:1783
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:3017
AgoraLocalAudioMixerConfiguration
Definition: AgoraObjects.h:2701
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
Definition: AgoraEnumerates.h:1678
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2742
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1379
+[AgoraRtcEngineKit destroy]
void destroy()
AgoraMediaRecorder.h
AgoraSegmentationProperty
Definition: AgoraObjects.h:2629
AgoraSimulcastConfig
Definition: AgoraObjects.h:3051
AgoraVoiceAITunerType
AgoraVoiceAITunerType
Definition: AgoraEnumerates.h:1747
AgoraContentInspectConfig
Definition: AgoraObjects.h:3118
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:3101
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:227
AgoraH265TranscoderProtocol.h
AgoraAudioProfile
AgoraAudioProfile
Definition: AgoraEnumerates.h:1264
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2553
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:603
-[AgoraRtcEngineKit stopLocalVideoTranscoder]
int stopLocalVideoTranscoder()
AgoraFaceShapeArea
AgoraFaceShapeArea
Definition: AgoraEnumerates.h:2048
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
WatermarkOptions
Definition: AgoraObjects.h:1398
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2860
-[AgoraRtcEngineKit createMediaPlayerCacheManager]
id< AgoraRtcMediaPlayerCacheManagerProtocol > _Nullable createMediaPlayerCacheManager()
-[AgoraRtcEngineKit stopScreenCapture]
int stopScreenCapture()
-[AgoraRtcEngineKit getCurrentMonotonicTimeInMs]
int64_t getCurrentMonotonicTimeInMs()
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
AgoraQoEPreferenceType
AgoraQoEPreferenceType
Definition: AgoraEnumerates.h:2722
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:14
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:493
-[AgoraRtcEngineKit uploadLogFile]
NSString *_Nullable uploadLogFile()
-[AgoraRtcEngineKit pauseAllChannelMediaRelay]
int pauseAllChannelMediaRelay()
-[AgoraRtcEngineKit stopPreview]
int stopPreview()
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:2145
AgoraDataStreamConfig
Definition: AgoraObjects.h:2347
AgoraMediaRecorderDelegate.h
-[AgoraRtcEngineKit stopLocalAudioMixer]
int stopLocalAudioMixer()
-[AgoraRtcEngineKit getH265Transcoder]
id< AgoraH265TranscoderProtocol >_Nullable getH265Transcoder()
AgoraUserInfo
Definition: AgoraObjects.h:2281
AgoraRtcAudioSpectrumDelegate.h
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
Definition: AgoraEnumerates.h:1425
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1945
AgoraMediaMetadataDataSource.h
AgoraImageTrackOptions
Definition: AgoraObjects.h:3369
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:843
AgoraAudioEncodedFrameDelegate.h
AgoraEncryptionConfig
Definition: AgoraObjects.h:2262
AgoraAudioFrameDelegate.h
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:3215
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2376
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:813
-[AgoraRtcEngineKit stopPlaybackDeviceTest]
int stopPlaybackDeviceTest()
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:3415
AgoraConnectionState
AgoraConnectionState
Definition: AgoraEnumerates.h:1907
AgoraHDRCapability
AgoraHDRCapability
Definition: AgoraEnumerates.h:3717
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:3363
AgoraScreenScenarioType
AgoraScreenScenarioType
Definition: AgoraEnumerates.h:2746
AgoraEncodedVideoFrameDelegate.h
-[AgoraRtcEngineKit getFaceShapeBeautyOptions]
AgoraFaceShapeBeautyOptions *_Nullable getFaceShapeBeautyOptions()
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:3291
AgoraConstants.h
-[AgoraRtcEngineKit disableAudio]
int disableAudio()
-[AgoraRtcEngineKit stopRhythmPlayer]
int stopRhythmPlayer()
-[AgoraRtcEngineKit createCustomVideoTrack]
unsigned int createCustomVideoTrack()
-[AgoraRtcEngineKit disableVideo]
int disableVideo()
AgoraFaceShapeBeautyOptions
Definition: AgoraObjects.h:2505
+[AgoraRtcEngineKit getSdkVersion]
NSString *_Nonnull getSdkVersion()
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2598
AgoraRtcMediaPlayerDelegate.h
-[AgoraRtcEngineKit startPreview]
int startPreview()
AgoraSnapshotConfig
Definition: AgoraObjects.h:3127
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2570
AgoraSimulcastStreamMode
AgoraSimulcastStreamMode
Definition: AgoraEnumerates.h:2931
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
AgoraDirectCdnStreamingEventDelegate.h
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
Definition: AgoraEnumerates.h:2917
-[AgoraRtcEngineKit getAudioTrackCount]
int getAudioTrackCount()
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2719
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:523
AgoraRtcEngineDelegate.h
AgoraApplicationScenarioType
AgoraApplicationScenarioType
Definition: AgoraEnumerates.h:2701
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:2980
AgoraMetadataType
AgoraMetadataType
Definition: AgoraEnumerates.h:2343
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2585
-[AgoraRtcEngineKit getNtpWallTimeInMs]
uint64_t getNtpWallTimeInMs()
AgoraClientRoleOptions
Definition: AgoraObjects.h:2294
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2763
AgoraNetworkQuality
AgoraNetworkQuality
Definition: AgoraEnumerates.h:734
-[AgoraRtcEngineKit stopRecordingDeviceTest]
int stopRecordingDeviceTest()
-[AgoraRtcEngineKit queryCameraFocalLengthCapability]
NSArray< AgoraFocalLengthInfo * > *_Nullable queryCameraFocalLengthCapability()
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2304
AgoraCloudProxyType
AgoraCloudProxyType
Definition: AgoraEnumerates.h:596
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
AgoraScreenCaptureFrameRateCapability
AgoraScreenCaptureFrameRateCapability
Definition: AgoraEnumerates.h:3585
AgoraExtensionInfo
Definition: AgoraObjects.h:3545
-[AgoraRtcEngineKit queryCodecCapability]
NSArray< AgoraVideoCodecCapInfo * > *_Nullable queryCodecCapability()
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2364
AgoraChannelStats
Definition: AgoraObjects.h:1033
-[AgoraRtcEngineKit queryScreenCaptureCapability]
AgoraScreenCaptureFrameRateCapability queryScreenCaptureCapability()