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 
29 
30 #pragma mark - AgoraRtcEngineKit
31 
44 __attribute__((visibility("default"))) @interface AgoraRtcEngineKit : NSObject
45 
46 #pragma mark Core Methods
47 
55 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate;
56 
84 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
85  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(withAppId:delegate:));
86 
112 + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config
113  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(with:delegate:));
114 
172 - (int)preloadChannelByToken:(NSString * _Nullable)token
173  channelId:(NSString * _Nonnull)channelId
174  uid:(NSUInteger)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:uid:));
175 
240 - (int)preloadChannelByTokenWithUserAccount:(NSString * _Nullable)token
241  channelId:(NSString * _Nonnull)channelId
242  userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(preloadChannelWithUserAccount(byToken:channelId:userAccount:));
243 
265 - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:));
266 
346 - (int)joinChannelByToken:(NSString * _Nullable)token
347  channelId:(NSString * _Nonnull)channelId
348  info:(NSString * _Nullable)info
349  uid:(NSUInteger)uid
350  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:info:uid:joinSuccess:));
351 
434 - (int)joinChannelByToken:(NSString * _Nullable)token
435  channelId:(NSString * _Nonnull)channelId
436  uid:(NSUInteger)uid
437  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
438  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:uid:mediaOptions:joinSuccess:));
439 
472 - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:));
473 
504 - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options
505 leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:leaveChannelBlock:));
506 
531 - (int)setChannelProfile:(AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:));
532 
553 - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions NS_SWIFT_NAME(updateChannel(with:));
554 
599 - (int)setClientRole:(AgoraClientRole)role NS_SWIFT_NAME(setClientRole(_:));
600 
654 - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options NS_SWIFT_NAME(setClientRole(_:options:));
655 
684 - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:));
685 
696 
733 - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:));
734 
757 - (int)stopChannelMediaRelay NS_SWIFT_NAME(stopChannelMediaRelay());
758 
775 
791 
845 - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:));
846 
865 - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:));
866 
878 - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder());
879 
913 - (int)startLocalAudioMixer:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalAudioMixer(_:));
914 
935 - (int)updateLocalAudioMixerConfiguration:(AgoraLocalAudioMixerConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalAudioMixerConfiguration(_:));
936 
951 - (int)stopLocalAudioMixer NS_SWIFT_NAME(stopLocalAudioMixer());
952 
983 
1008 
1025 + (void)destroy NS_SWIFT_NAME(destroy());
1026 
1047 + (void)destroy:(void (^ _Nullable)(void))engineReleasedBlock NS_SWIFT_NAME(destroy(_:));
1048 
1049 #pragma mark Core Audio
1050 
1075 - (int)enableAudio NS_SWIFT_NAME(enableAudio());
1076 
1098 - (int)disableAudio NS_SWIFT_NAME(disableAudio());
1099 
1130 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
1131 
1150 - (int)setAudioProfile:(AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
1151 
1173 - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
1174 
1210 - (int)enableAudioVolumeIndication:(NSInteger)interval
1211  smooth:(NSInteger)smooth
1212  reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
1213 
1214 
1215 #if TARGET_OS_IPHONE
1216 
1243 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
1244 
1256 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
1257 
1290 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
1291 #endif
1292 
1310 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
1311 
1330 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
1331 
1351 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
1352 
1372 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
1373 
1395 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
1396 
1414 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
1415 
1440 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
1441 
1468 - (int)startRecordingDeviceTest:(int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
1469 
1483 - (int)stopRecordingDeviceTest NS_SWIFT_NAME(stopRecordingDeviceTest());
1484 
1510 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
1511 
1525 - (int)stopPlaybackDeviceTest NS_SWIFT_NAME(stopPlaybackDeviceTest());
1526 
1558 - (int)registerExtensionWithVendor:(NSString * _Nonnull)provider
1559  extension:(NSString * _Nonnull)extension
1560  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:));
1561 
1581 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider extension:(NSString * _Nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
1582 
1608 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1609  extension:(NSString * _Nonnull)extension
1610  enabled:(BOOL)enabled
1611  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
1612 
1633 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1634  extension:(NSString * _Nonnull)extension
1635  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1636  enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
1637 
1658 - (int)setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider
1659  key:(NSString * _Nonnull)key
1660  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
1661 
1684 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1685  extension:(NSString * _Nonnull)extension
1686  key:(NSString * _Nonnull)key
1687  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
1688 
1702 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1703  extension:(NSString * _Nonnull)extension
1704  key:(NSString * _Nonnull)key
1705  value:(NSString * _Nonnull)value
1706  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
1707 
1721 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1722  extension:(NSString * _Nonnull)extension
1723  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1724  key:(NSString * _Nonnull)key
1725  value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
1726 
1741 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1742  extension:(NSString * _Nonnull)extension
1743  key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
1744 
1760 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1761  extension:(NSString * _Nonnull)extension
1762  key:(NSString * _Nonnull)key
1763  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
1764 
1776 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1777  extension:(NSString * _Nonnull)extension
1778  extensionInfo:(AgoraExtensionInfo * _Nonnull)extensionInfo
1779  key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
1780 
1781 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1782 
1811 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
1812 
1827 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
1828 
1835 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
1836 
1837 #endif
1838 
1839 #pragma mark Core Video
1840 
1869 - (int)enableVideo NS_SWIFT_NAME(enableVideo());
1870 
1897 - (int)disableVideo NS_SWIFT_NAME(disableVideo());
1898 
1928 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
1929 
1939 - (NSArray <AgoraVideoCodecCapInfo *> *_Nullable)queryCodecCapability;
1940 
1957 - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore());
1958 
1971 - (AgoraHDRCapability)queryHDRCapability:(AgoraVideoModule)videoModule NS_SWIFT_NAME(queryHDRCapability(_:));
1972 
1998 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
1999 
2031 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
2032 
2053 - (int)setLocalRenderTargetFps:(AgoraVideoSourceType)sourceType
2054  targetFps:(int)targetFps;
2074 - (int)setRemoteRenderTargetFps:(int)targetFps;
2075 
2101 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
2102  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
2103 
2120 - (int)startPreview NS_SWIFT_NAME(startPreview());
2121 
2141 - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:));
2142 
2150 - (int)stopPreview NS_SWIFT_NAME(stopPreview());
2151 
2166 - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:));
2167 
2185 - (int)setRemoteRenderRotation:(NSUInteger)uid
2186  rotation:(AgoraVideoRotation)rotation NS_SWIFT_NAME(setRemoteRenderRotation(_:rotation:));
2187 
2188 
2216 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
2217 
2238 - (int)setRemoteRenderMode:(NSUInteger)uid
2239  mode:(AgoraVideoRenderMode)mode
2240  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
2241 
2265 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
2266 
2284 - (int)muteRemoteVideoStream:(NSUInteger)uid
2285  mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
2286 
2311 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
2312 
2340 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
2341 
2368 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:));
2369 
2398 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:));
2399 
2438 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:sourceType:));
2439 
2455 
2478 
2506 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeAreaOptions(_:));
2507 
2541 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeAreaOptions(_:sourceType:));
2542 
2559 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area NS_SWIFT_NAME(getFaceShapeAreaOptions(_:));
2560 
2583 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeAreaOptions(_:sourceType:));
2584 
2626 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
2627 
2676 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:));
2677 
2678 
2704 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options NS_SWIFT_NAME(setFilterEffectOptions(_:options:));
2705 
2740 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFilterEffectOptions(_:options:sourceType:));
2741 
2742 #pragma mark VideoEffectObject
2743 
2759 - (id<AgoraVideoEffectObject> _Nullable)createVideoEffectObjectWithBundlePath:(NSString * _Nonnull)bundlePath
2760  sourceType:(AgoraMediaSourceType)sourceType
2761  NS_SWIFT_NAME(createVideoEffectObject(bundlePath:sourceType:));
2762 
2775 - (int)destroyVideoEffectObject:(id<AgoraVideoEffectObject> _Nullable)videoEffectObject
2776  NS_SWIFT_NAME(destroyVideoEffectObject(_:));
2777 
2778 
2821 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
2822 
2860 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:));
2861 
2894 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
2895 
2933 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:));
2934 
2987 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:));
2988 
3049 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:));
3050 
3121 - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:));
3122 
3134 - (int)setVideoQoEPreference:(AgoraQoEPreferenceType)preferenceType NS_SWIFT_NAME(setVideoQoEPreference(_:));
3135 
3156 - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type;
3157 
3158 #pragma mark Audio Effect
3159 
3172 - (int)setLocalVoicePitch:(double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:));
3173 
3194 - (int)setLocalVoiceFormant:(double)formantRatio;
3195 
3212 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:));
3213 
3231 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:));
3232 
3233 #pragma mark Audio Effect Playback
3234 
3258 - (int)preloadEffect:(int)soundId
3259  filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:));
3260 
3284 - (int)preloadEffect:(int)soundId
3285  filePath:(NSString* _Nonnull)filePath
3286  startPos:(int)startPos NS_SWIFT_NAME(preloadEffect(_:filePath:startPos:));
3287 
3335 - (int)playEffect:(int)soundId
3336  filePath:(NSString* _Nonnull)filePath
3337  loopCount:(NSInteger)loopCount
3338  pitch:(double)pitch
3339  pan:(double)pan
3340  gain:(NSInteger)gain NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:));
3341 
3342 
3391 - (int)playEffect:(int)soundId
3392  filePath:(NSString* _Nonnull)filePath
3393  loopCount:(NSInteger)loopCount
3394  pitch:(double)pitch
3395  pan:(double)pan
3396  gain:(NSInteger)gain
3397  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:startPos:));
3398 
3450 - (int)playEffect:(int)soundId
3451  filePath:(NSString* _Nonnull)filePath
3452  loopCount:(NSInteger)loopCount
3453  pitch:(double)pitch
3454  pan:(double)pan
3455  gain:(NSInteger)gain
3456  publish:(BOOL)publish NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:));
3457 
3511 - (int)playEffect:(int)soundId
3512  filePath:(NSString* _Nonnull)filePath
3513  loopCount:(NSInteger)loopCount
3514  pitch:(double)pitch
3515  pan:(double)pan
3516  gain:(NSInteger)gain
3517  publish:(BOOL)publish
3518  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:startPos:));
3519 
3550 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
3551  pitch:(double)pitch
3552  pan:(double)pan
3553  gain:(NSInteger)gain
3554  publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:));
3555 
3569 - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume());
3570 
3585 - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:));
3586 
3602 - (int)setVolumeOfEffect:(int)soundId
3603  withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:));
3604 
3615 - (int)getVolumeOfEffect:(int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:));
3616 
3626 - (int)pauseEffect:(int)soundId NS_SWIFT_NAME(pauseEffect(_:));
3627 
3635 - (int)pauseAllEffects NS_SWIFT_NAME(pauseAllEffects());
3636 
3646 - (int)resumeEffect:(int)soundId NS_SWIFT_NAME(resumeEffect(_:));
3647 
3660 - (int)resumeAllEffects NS_SWIFT_NAME(resumeAllEffects());
3661 
3678 - (int)stopEffect:(int)soundId NS_SWIFT_NAME(stopEffect(_:));
3679 
3694 - (int)stopAllEffects NS_SWIFT_NAME(stopAllEffects());
3695 
3709 - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:));
3710 
3726 - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:));
3727 
3739 - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:));
3740 
3755 - (int)unloadEffect:(int)soundId NS_SWIFT_NAME(unloadEffect(_:));
3756 
3763 - (int)unloadAllEffects NS_SWIFT_NAME(unloadAllEffects());
3764 
3765 #pragma mark beautifier effect
3766 
3805 - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset NS_SWIFT_NAME(setVoiceBeautifierPreset(_:));
3806 
3846 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:));
3847 
3889 - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset NS_SWIFT_NAME(setVoiceConversionPreset(_:));
3890 
3965 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setAudioEffectParameters(_:param1:param2:));
3966 
4015 - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:));
4016 
4029 - (int)setVoiceConversionParameters:(AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceConversionParameters(_:param1:param2:));
4030 
4048 - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset NS_SWIFT_NAME(setHeadphoneEQPreset(_:));
4049 
4068 - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:));
4069 
4088 - (int)enableVoiceAITuner:(BOOL)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:));
4089 
4090 #pragma mark Sound Position Indication
4091 
4107 - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:));
4108 
4138 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:));
4139 
4162 - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:));
4163 
4179 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
4180  params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:));
4181 
4182 #pragma mark Audio Noise Suppression
4183 
4219 - (int)setAINSMode:(BOOL)enabled mode:(AUDIO_AINS_MODE)mode NS_SWIFT_NAME(setAINSMode(_:mode:));
4220 
4221 #pragma mark Audio Mixing
4222 
4266 - (int)startAudioMixing:(NSString * _Nonnull)filePath
4267  loopback:(BOOL)loopback
4268  cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
4269 
4314 - (int)startAudioMixing:(NSString * _Nonnull)filePath
4315  loopback:(BOOL)loopback
4316  cycle:(NSInteger)cycle
4317  startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
4318 
4331 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
4332 
4345 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
4346 
4359 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
4360 
4383 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
4384 
4396 - (int)getAudioTrackCount NS_SWIFT_NAME(getAudioTrackCount());
4397 
4415 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
4416 
4433 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
4434 
4449 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
4450 
4466 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
4467 
4481 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
4482 
4495 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
4496 
4515 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
4516 
4532 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
4533 
4559 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
4560 
4580 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
4581 
4600 - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:));
4601 
4602 #pragma mark Audio Recording
4603 
4632 - (int)startAudioRecording:(NSString * _Nonnull)filePath
4633  quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
4634 
4656 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config NS_SWIFT_NAME(startAudioRecording(withConfig:));
4657 
4675 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:));
4676 
4684 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
4685 
4686 #pragma mark Echo Test
4687 
4714 - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config NS_SWIFT_NAME(startEchoTest(withConfig:));
4715 
4728 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
4729 
4730 
4731 #pragma mark Miscellaneous Audio Control
4732 
4750 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
4751 
4772 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
4773 
4791 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
4792 
4793 #if TARGET_OS_IPHONE
4794 
4815 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
4816 #endif
4817 
4818 #pragma mark Dual Video Mode
4819 
4846 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:)) __deprecated_msg("use setDualStreamMode: instead.");
4847 
4879 - (int)enableDualStreamMode:(BOOL)enabled
4880  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:)) __deprecated_msg("use setDualStreamMode: instead.");
4881 
4912 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode NS_SWIFT_NAME(setDualStreamMode(_:));
4913 
4951 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode
4952  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(setDualStreamMode(_:streamConfig:));
4953 
4973 - (int)setSimulcastConfig:(AgoraSimulcastConfig* _Nonnull)simulcastConfig NS_SWIFT_NAME(setSimulcastConfig(_:));
4974 
5011 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
5012 
5050 - (int)setRemoteVideoStream:(NSUInteger)uid
5051  type:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteVideoStream(_:type:));
5052 
5077 - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid
5078  options:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideoSubscriptionOptions(_:options:));
5079 
5080 #pragma mark Subscribe Blocklist / Allowlist
5081 
5108 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
5109 
5135 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
5136 
5163 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
5164 
5190 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
5191 
5192 #pragma mark Stream Fallback
5193 
5215 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
5216 
5228 - (int)setHighPriorityUserList:(NSArray <NSNumber *> *_Nullable)uidList
5229  option:(AgoraStreamFallbackOptions)option;
5230 
5231 
5232 #pragma mark External Media Source
5233 
5256 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
5257 
5278 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
5279  sourceType:(AgoraExternalVideoSourceType)sourceType
5280  encodedVideoTrackOption:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
5281 
5296 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) __deprecated_msg("use pushExternalVideoFrame:frame,videoTrackId options instead.");
5297 
5332 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:));
5333 
5348 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
5349  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:));
5350 
5366 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
5367  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info
5368  videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:videoTrackId:));
5369 
5370 
5388 - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack());
5389 
5397 - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
5398 
5408 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
5409 
5418 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
5419 
5420 #pragma mark External Audio Data
5421 
5446 - (void)enableExternalAudioSink:(BOOL)enabled
5447  sampleRate:(NSUInteger)sampleRate
5448  channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
5449 
5486 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
5487  lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
5488 
5505 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
5506 
5534 - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType
5535  config:(AgoraAudioTrackConfig* _Nonnull)config;
5536 
5546 - (int)destroyCustomAudioTrack:(NSInteger)trackId;
5547 
5570 - (int)enableCustomAudioLocalPlayback:(NSInteger)trackId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
5571 
5583 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
5584  samples:(NSInteger)samples
5585  trackId:(NSInteger)trackId
5586  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:trackId:timestamp:)) __deprecated_msg("use pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp: instead.");
5587 
5616 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
5617  samples:(NSInteger)samples
5618  sampleRate:(NSInteger)sampleRate
5619  channels:(NSInteger)channels
5620  trackId:(NSInteger)trackId
5621  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:));
5622 
5632 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:)) __deprecated_msg("use pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId: instead.");
5633 
5657 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer
5658  sampleRate:(NSInteger)sampleRate
5659  channels:(NSInteger)channels
5660  trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:));
5661 
5684 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5685  channel:(NSInteger)channel
5687  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5688 
5711 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5712  channel:(NSInteger)channel
5714  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5715 
5737 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5738  channel:(NSInteger)channel
5739  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
5740 
5771 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5772  channel:(NSInteger)channel
5774  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5775 
5794 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
5795  channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
5796 
5820 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
5821  channel:(NSInteger)channel
5822  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:samplesPerCall:));
5842 - (int)adjustCustomAudioPublishVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
5843 
5863 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
5864 
5882 - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs());
5883 
5884 #pragma mark Audio spectrum monitor
5885 
5903 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
5904 
5920 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
5921 
5940 - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
5941 
5956 
5957 #pragma mark Built-in Encryption
5958 
5987 - (int)enableEncryption:(BOOL)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
5988 
5989 #pragma mark Data Stream
5990 
6028 - (int)createDataStream:(NSInteger * _Nonnull)streamId
6029  reliable:(BOOL)reliable
6030  ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
6031 
6054 - (int)createDataStream:(NSInteger * _Nonnull)streamId
6055  config:(AgoraDataStreamConfig * _Nonnull)config NS_SWIFT_NAME(createDataStream(_:config:));
6056 
6088 - (int)sendStreamMessage:(NSInteger)streamId
6089  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
6090 
6091 #pragma mark Common Data Transmission
6092 
6109 - (int)sendRdtMessage:(NSInteger)uid
6110  type:(AgoraRdtStreamType)type
6111  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendRdtMessage(_:type:data:));
6112 
6124 - (int)sendMediaControlMessage:(NSInteger)uid
6125  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendMediaControlMessage(_:data:));
6126 
6127 #pragma mark Stream Publish
6128 
6161 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
6162 
6197 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
6198 
6215 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
6216 
6237 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
6238 
6239 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6240 #pragma mark Screen Capture
6241 
6266 - (int)startScreenCapture:(AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:));
6267 
6283 - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:));
6284 
6324 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
6325  regionRect:(CGRect)regionRect
6326  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
6327 
6369 - (int)startScreenCaptureByWindowId:(UInt32)windowId
6370  regionRect:(CGRect)regionRect
6371  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
6372 
6385 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
6386 
6404 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
6405 
6436 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
6437 
6438 #endif
6439 
6456 - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
6457 
6475 - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture());
6476 
6477 #if TARGET_OS_IPHONE
6478 
6521 - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:));
6522 
6532 - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(updateScreenCapture(_:));
6533 
6554 
6569 - (NSArray<AgoraFocalLengthInfo *>* _Nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability());
6570 
6571 #pragma mark Camera Control
6572 
6584 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
6585 
6596 - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor());
6597 
6623 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
6624 
6636 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
6637 
6655 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
6656 
6668 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
6669 
6687 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
6688 
6707 - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported());
6708 
6740 - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:));
6741 
6759 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
6760 
6777 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
6778 
6790 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
6791 
6809 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
6810 
6822 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
6823 
6833 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
6834 
6854 - (int)switchCamera NS_SWIFT_NAME(switchCamera());
6855 
6897 - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:));
6898 
6924  - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:));
6925 #endif
6926 
6940 - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported());
6941 
6978 - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:));
6979 
6998 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:));
6999 
7023 - (int)startCameraCapture:(AgoraVideoSourceType)sourceType config:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(startCameraCapture(_:config:));
7024 
7045 - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:));
7046 
7047 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
7048 #pragma mark macOS Device
7049 
7062 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
7063 
7080 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
7081 
7096 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
7097 
7110 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
7111 
7122 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
7123 
7134 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
7135 
7152 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
7153 
7181 - (int)startAudioDeviceLoopbackTest:(int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
7182 
7196 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
7197 
7213 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
7214 
7230 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
7231 
7240 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
7241 
7248 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
7249 #endif
7250 
7251 #pragma mark Face Detection
7252 
7253 #if TARGET_OS_IPHONE
7254 
7275 - (int)enableFaceDetection:(BOOL)enable NS_SWIFT_NAME(enableFaceDetection(_:));
7276 #endif
7277 
7278 #pragma mark Watermark
7279 
7306 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg("use addVideoWatermarkWithConfig:config instead.");
7307 
7356 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:)) __deprecated_msg("use addVideoWatermarkWithConfig:config instead.");
7357 
7373 - (int)addVideoWatermarkWithConfig:(WatermarkConfig* _Nonnull)config NS_SWIFT_NAME(addVideoWatermark(_:));
7374 
7390 - (int)removeVideoWatermark:(NSString* _Nonnull)id NS_SWIFT_NAME(removeVideoWatermark(_:));
7391 
7399 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
7400 
7401 #pragma mark String UID
7402 
7451 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
7452 
7543 - (int)joinChannelByToken:(NSString * _Nullable)token
7544  channelId:(NSString * _Nonnull)channelId
7545  userAccount:(NSString * _Nonnull)userAccount
7546  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
7547 
7641 - (int)joinChannelByToken:(NSString * _Nullable)token
7642  channelId:(NSString * _Nonnull)channelId
7643  userAccount:(NSString * _Nonnull)userAccount
7644  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
7645  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
7646 
7667 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
7668 
7689 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
7690 
7691 #pragma mark Custom Audio PCM Frame
7692 
7710 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
7711 
7712 #pragma mark Custom Video Frame
7713 
7743 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
7744 
7745 #pragma mark Encoded Video Frame
7746 
7763 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
7764 
7765 #pragma mark Custom Face Info
7766 
7793 - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:));
7794 
7795 #pragma mark Custom Media Metadata
7796 
7819 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
7820 
7845 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
7846 
7847 #pragma mark Miscellaneous Methods
7848 
7854 + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion());
7855 
7864 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
7865 
7876 - (void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
7877 
7894 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
7895 
7913 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
7914 
7948 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
7949 
7957 - (NSString * _Nullable)uploadLogFile NS_SWIFT_NAME(uploadLogFile());
7958 
7969 - (int)writeLog:(AgoraLogLevel)level content:(NSString * _Nonnull)content NS_SWIFT_NAME(writeLog(_:content:));
7970 
7983 - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId());
7984 
8001 - (int)rate:(NSString * _Nonnull)callId
8002  rating:(NSInteger)rating
8003 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
8004 
8023 - (int)complain:(NSString * _Nonnull)callId
8024  description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
8025 
8040 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
8041 
8067 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
8068 
8076 - (int)stopLastmileProbeTest NS_SWIFT_NAME(stopLastmileProbeTest());
8077 
8088 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
8089 
8095 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
8096  args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
8097 
8110 - (uint64_t)getNtpWallTimeInMs;
8111 
8112 #pragma mark MediaPlayer
8113 
8129 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:));
8130 
8145 - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager NS_SWIFT_NAME(createMediaPlayerCacheManager());
8146 
8156 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
8157 
8163 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
8164 
8165 #pragma mark rhythm player
8166 
8201 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
8202 
8214 - (int)stopRhythmPlayer NS_SWIFT_NAME(stopRhythmPlayer());
8215 
8241 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:));
8242 
8243 #pragma mark Streaming Kit
8244 
8261 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
8262 
8287 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
8288 
8327 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
8328  publishUrl:(NSString * _Nonnull)publishUrl
8329  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(startDirectCdnStreaming(_:publishUrl:mediaOptions:));
8330 
8340 - (int)stopDirectCdnStreaming NS_SWIFT_NAME(stopDirectCdnStreaming());
8341 
8353 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(updateDirectCdnStreamingMediaOptions(_:));
8354 
8372 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
8373 
8385 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
8386  category:(NSString * _Nullable)category
8387  event:(NSString * _Nullable)event
8388  label:(NSString * _Nullable)label
8389  value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
8390 
8404 - (int)setLogLevel:(AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
8405 
8425 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
8426 
8461 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
8462 
8492 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
8493 
8518 - (NSInteger)takeSnapshotWithConfig:(NSInteger)uid config:(AgoraSnapshotConfig* _Nonnull)config NS_SWIFT_NAME(takeSnapshotWithConfig(_:config:));
8519 
8549 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
8550 
8571 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
8572 
8582 - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:));
8603 - (int)enableVideoImageSource:(BOOL)enable
8604  options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:));
8605 
8626 - (int)getNetworkType NS_SWIFT_NAME(getNetworkType());
8627 
8649 - (AgoraMediaRecorder * _Nullable)createMediaRecorder:(AgoraRecorderStreamInfo * _Nonnull)info NS_SWIFT_NAME(createMediaRecorder(withInfo:));
8650 
8666 - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder;
8667 
8668 #pragma mark Channel Transcoder
8669 
8674 - (id<AgoraH265TranscoderProtocol>_Nullable)getH265Transcoder NS_SWIFT_NAME (getH265Transcoder());
8675 
8676 #pragma mark Deprecated Methods
8677 
8689 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:)) __deprecated;
8690 
8712 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:)) __deprecated;
8713 
8725 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg("use delegate instead.");
8726 
8735 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
8736 
8747 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg("use delegate instead.");
8748 
8758 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
8759 
8769 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg("use delegate instead.");
8770 
8779 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg("use delegate instead.");
8780 
8790 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg("use delegate instead.");
8791 
8806 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg("use delegate instead.");
8807 
8815 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
8816 
8826 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
8827 
8831 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg("use delegate instead.");
8832 
8836 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg("use delegate instead.");
8837 
8848 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg("use delegate instead.");
8849 
8856 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg("use delegate instead.");
8857 
8867 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg("use delegate instead.");
8868 
8877 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg("use delegate instead.");
8878 
8885 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg("use delegate instead.");
8886 
8890 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg("use delegate instead.");
8891 
8901 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
8902 
8912 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
8913 
8920 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
8921  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
8922 
8928 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
8929  stereo:(BOOL)stereo
8930  fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg("use setAudioProfile:scenario: instead.");
8931 
8932 
8961 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated_msg("use setAudioProfile: instead.");
8962 
8969 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg("use getDeviceInfo: instead.");
8970 
8993 - (int)setExternalAudioSource:(BOOL)enabled
8994  sampleRate:(NSInteger)sampleRate
8995  channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
8996 
9024 - (int)setExternalAudioSource:(BOOL)enabled
9025  sampleRate:(NSInteger)sampleRate
9026  channels:(NSInteger)channels
9027  localPlayback:(BOOL)localPlayback
9028  publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
9029 
9030 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
9031 
9040 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg("use setDeviceVolume:volume: instead.");
9041 
9042 - (int)startScreenCapture:(NSUInteger)windowId
9043  withCaptureFreq:(NSInteger)captureFreq
9044  bitRate:(NSInteger)bitRate
9045  andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
9046 #endif
9047 
9053 + (NSString * _Nonnull)getMediaEngineVersion NS_SWIFT_NAME(getMediaEngineVersion()) __deprecated;
9054 
9055 
9074 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
9075 
9084 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg("use delegate instead.");
9085 
9102 - (int)setLocalRenderMode:(NSUInteger)uid
9103  mode:(AgoraVideoRenderMode)mode NS_SWIFT_NAME(setLocalRenderMode(_:mode:)) __deprecated;
9104 
9115 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:)) __deprecated;;
9116 
9117 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:)) __deprecated;;
9118 
9124 - (void)addDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(addDelegate(_:));
9125 
9131 - (void)removeDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(removeDelegate(_:));
9132 
9133 @end
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
Enables the audio module.
AgoraAudioTrackType
AgoraAudioTrackType
The type of the audio track.
Definition: AgoraEnumerates.h:5273
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Sets and retrieves AgoraRtcEngineDelegate.
Definition: AgoraRtcEngineKit.h:55
AgoraRecorderStreamInfo
Information about the audio and video streams to be recorded.
Definition: AgoraObjects.h:3901
AgoraRtcEngineKit
Provides all methods that can be invoked by your application.
Definition: AgoraRtcEngineKit.h:45
AgoraRtcMediaPlayerCacheManagerProtocol.h
-[AgoraRtcEngineKit getNetworkType]
int getNetworkType()
Gets the type of the local network connection.
-[AgoraRtcEngineKit queryDeviceScore]
int queryDeviceScore()
Queries device score.
-[AgoraRtcEngineKit enableInstantMediaRendering]
int enableInstantMediaRendering()
Enables audio and video frame instant rendering.
-[AgoraRtcEngineKit cameraMaxZoomFactor]
CGFloat cameraMaxZoomFactor()
Gets the maximum zoom ratio supported by the camera.
-[AgoraRtcEngineKit stopChannelMediaRelay]
int stopChannelMediaRelay()
Stops the media stream relay. Once the relay stops, the host quits all the target channels.
AgoraMediaMetadataDelegate.h
-[AgoraRtcEngineKit getConnectionState]
AgoraConnectionState getConnectionState()
Gets the current connection state of the SDK.
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:345
AgoraRtcChannelMediaOptions
The channel media options.
Definition: AgoraObjects.h:383
AgoraAudioScenario
AgoraAudioScenario
The audio scenarios.
Definition: AgoraEnumerates.h:1902
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
The audio filter types of in-ear monitoring.
Definition: AgoraEnumerates.h:4725
AgoraRhythmPlayerConfig
The metronome configuration.
Definition: AgoraObjects.h:4045
AgoraBeautyOptions
Image enhancement options.
Definition: AgoraObjects.h:3018
AgoraVideoSubscriptionOptions
Video subscription options.
Definition: AgoraObjects.h:3880
AgoraMediaRecorder
The media recorder class.
Definition: AgoraMediaRecorder.h:22
AgoraRtcMediaPlayerProtocol.h
AgoraAudioTrackConfig
The configuration of custom audio tracks.
Definition: AgoraObjects.h:4435
AgoraClientRole
AgoraClientRole
The user role in the interactive live streaming.
Definition: AgoraEnumerates.h:769
AgoraScreenCaptureParameters2
Screen sharing configurations.
Definition: AgoraObjects.h:3550
AgoraHeadphoneEQPreset
AgoraHeadphoneEQPreset
Preset headphone equalizer types.
Definition: AgoraEnumerates.h:2362
AgoraVideoModule
AgoraVideoModule
Definition: AgoraEnumerates.h:5428
AgoraVideoFrameDelegate.h
AUDIO_AINS_MODE
AUDIO_AINS_MODE
AI noise suppression modes.
Definition: AgoraEnumerates.h:5295
AgoraRdtStreamType
AgoraRdtStreamType
Reliable Data Transmission Tunnel message stream type.
Definition: AgoraEnumerates.h:5514
-[AgoraRtcEngineKit startMediaRenderingTracing]
int startMediaRenderingTracing()
Enables tracing the video frame rendering process.
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
Switches between front and rear cameras.
AgoraFeatureType
AgoraFeatureType
The type of the advanced feature.
Definition: AgoraEnumerates.h:5417
AgoraFaceShapeAreaOptions
Filter effect options.
Definition: AgoraObjects.h:3055
AgoraCameraStabilizationMode
AgoraCameraStabilizationMode
Camera stabilization modes.
Definition: AgoraEnumerates.h:3763
AgoraFaceInfoDelegate.h
AgoraVideoFrame
The external video frame.
Definition: AgoraObjects.h:2171
AgoraSimulcastStreamConfig
The configuration of the low-quality video stream.
Definition: AgoraObjects.h:3629
AgoraLocalAudioMixerConfiguration
The configurations for mixing the local audio.
Definition: AgoraObjects.h:3342
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
The options for SDK preset voice conversion effects.
Definition: AgoraEnumerates.h:2285
AgoraScreenCaptureParameters
Screen sharing configurations.
Definition: AgoraObjects.h:3388
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
The use mode of the audio data.
Definition: AgoraEnumerates.h:1993
+[AgoraRtcEngineKit destroy]
void destroy()
Releases the AgoraRtcEngineKit instance.
AgoraMediaRecorder.h
AgoraSegmentationProperty
Processing properties for background images.
Definition: AgoraObjects.h:3223
AgoraSimulcastConfig
Configure video streams of different quality levels.
Definition: AgoraObjects.h:3679
AgoraVoiceAITunerType
AgoraVoiceAITunerType
Voice AI tuner sound types.
Definition: AgoraEnumerates.h:2380
AgoraContentInspectConfig
Screenshot and upload configuration.
Definition: AgoraObjects.h:3806
AgoraAudioEncodedFrameDelegateConfig
Observer settings for the encoded audio.
Definition: AgoraObjects.h:3769
AgoraDirectCdnStreamingMediaOptions
The media setting options for the host.
Definition: AgoraObjects.h:297
AgoraH265TranscoderProtocol.h
AgoraAudioProfile
AgoraAudioProfile
The audio profile.
Definition: AgoraEnumerates.h:1858
AgoraVideoDenoiserOptions
Video noise reduction options.
Definition: AgoraObjects.h:3119
AgoraLastmileProbeConfig
Configurations of the last-mile network test.
Definition: AgoraObjects.h:755
-[AgoraRtcEngineKit stopLocalVideoTranscoder]
int stopLocalVideoTranscoder()
Stops the local video mixing.
AgoraFaceShapeArea
AgoraFaceShapeArea
Chooses the specific facial areas that need to be adjusted.
Definition: AgoraEnumerates.h:2864
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
Stops the last mile network probe test.
WatermarkOptions
Watermark image configurations.
Definition: AgoraObjects.h:1702
AgoraVideoSourceType
AgoraVideoSourceType
The type of the video source.
Definition: AgoraEnumerates.h:4207
-[AgoraRtcEngineKit createMediaPlayerCacheManager]
id< AgoraRtcMediaPlayerCacheManagerProtocol > _Nullable createMediaPlayerCacheManager()
Creates one AgoraRtcMediaPlayerCacheManagerProtocol instance.
-[AgoraRtcEngineKit stopScreenCapture]
int stopScreenCapture()
Stops screen capture.
-[AgoraRtcEngineKit getCurrentMonotonicTimeInMs]
int64_t getCurrentMonotonicTimeInMs()
Gets the current Monotonic Time of the SDK.
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
Stops pushing media streams to the CDN directly.
AgoraQoEPreferenceType
AgoraQoEPreferenceType
Definition: AgoraEnumerates.h:4052
AgoraVideoRotation
AgoraVideoRotation
Definition: AgoraEnumerates.h:1376
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:14
AgoraChannelProfile
AgoraChannelProfile
The channel profile.
Definition: AgoraEnumerates.h:738
-[AgoraRtcEngineKit uploadLogFile]
NSString *_Nullable uploadLogFile()
-[AgoraRtcEngineKit pauseAllChannelMediaRelay]
int pauseAllChannelMediaRelay()
Pauses the media stream relay to all target channels.
-[AgoraRtcEngineKit stopPreview]
int stopPreview()
AgoraLeaveChannelOptions
The options for leaving a channel.
Definition: AgoraObjects.h:2609
AgoraDataStreamConfig
The configurations for the data stream.
Definition: AgoraObjects.h:2895
AgoraMediaRecorderDelegate.h
-[AgoraRtcEngineKit stopLocalAudioMixer]
int stopLocalAudioMixer()
Stops the local audio mixing.
-[AgoraRtcEngineKit getH265Transcoder]
id< AgoraH265TranscoderProtocol >_Nullable getH265Transcoder()
AgoraUserInfo
The information of the user.
Definition: AgoraObjects.h:2799
AgoraRtcAudioSpectrumDelegate.h
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
The options for SDK preset voice beautifier effects.
Definition: AgoraEnumerates.h:2081
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
Disables audio spectrum monitoring.
AgoraRtcEngineConfig
Configurations for the AgoraRtcEngineConfig instance.
Definition: AgoraObjects.h:2370
AgoraMediaMetadataDataSource.h
AgoraImageTrackOptions
Image configurations.
Definition: AgoraObjects.h:4109
AgoraVideoRenderMode
AgoraVideoRenderMode
Video display modes.
Definition: AgoraEnumerates.h:1314
AgoraAudioEncodedFrameDelegate.h
AgoraVideoEffectObject.h
AgoraEncryptionConfig
Built-in encryption configurations.
Definition: AgoraObjects.h:2765
AgoraAudioFrameDelegate.h
AgoraEncodedVideoFrameInfo
Information about externally encoded video frames.
Definition: AgoraObjects.h:3920
AgoraChannelMediaRelayConfiguration
Configuration of cross channel media relay.
Definition: AgoraObjects.h:2947
AgoraVideoStreamType
AgoraVideoStreamType
The type of video streams.
Definition: AgoraEnumerates.h:1251
-[AgoraRtcEngineKit stopPlaybackDeviceTest]
int stopPlaybackDeviceTest()
Stops the audio playback device test.
AgoraEchoTestConfiguration
The configuration of the audio and video call loop test.
Definition: AgoraObjects.h:4210
AgoraConnectionState
AgoraConnectionState
Connection states.
Definition: AgoraEnumerates.h:2633
AgoraHDRCapability
AgoraHDRCapability
Definition: AgoraEnumerates.h:5437
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
Retrieves the call ID.
AgoraAdvancedAudioOptions
The advanced options for audio.
Definition: AgoraObjects.h:4097
AgoraScreenScenarioType
AgoraScreenScenarioType
The screen sharing scenario.
Definition: AgoraEnumerates.h:4076
AgoraEncodedVideoFrameDelegate.h
-[AgoraRtcEngineKit getFaceShapeBeautyOptions]
AgoraFaceShapeBeautyOptions *_Nullable getFaceShapeBeautyOptions()
Gets the beauty effect options.
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
Resumes the media stream relay to all target channels.
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Local Access Point configuration.
Definition: AgoraObjects.h:4006
AgoraConstants.h
-[AgoraRtcEngineKit disableAudio]
int disableAudio()
Disables the audio module.
-[AgoraRtcEngineKit stopRhythmPlayer]
int stopRhythmPlayer()
Disables the virtual metronome.
-[AgoraRtcEngineKit createCustomVideoTrack]
unsigned int createCustomVideoTrack()
Creates a custom video track.
-[AgoraRtcEngineKit disableVideo]
int disableVideo()
Disables the video module.
AgoraFaceShapeBeautyOptions
The facial enhancement style options.
Definition: AgoraObjects.h:3071
+[AgoraRtcEngineKit getSdkVersion]
NSString *_Nonnull getSdkVersion()
Gets the SDK version.
AgoraVirtualBackgroundSource
The custom background.
Definition: AgoraObjects.h:3181
AgoraRtcMediaPlayerDelegate.h
-[AgoraRtcEngineKit startPreview]
int startPreview()
Enables the local video preview.
AgoraSnapshotConfig
The snapshot configuration.
Definition: AgoraObjects.h:3834
AgoraLowlightEnhanceOptions
The low-light enhancement options.
Definition: AgoraObjects.h:3136
AgoraSimulcastStreamMode
AgoraSimulcastStreamMode
The mode in which the video stream is sent.
Definition: AgoraEnumerates.h:4295
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
AgoraDirectCdnStreamingEventDelegate.h
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
The external video frame encoding type.
Definition: AgoraEnumerates.h:4281
-[AgoraRtcEngineKit getAudioTrackCount]
int getAudioTrackCount()
Gets the index of audio tracks of the current music file.
AgoraLocalTranscoderConfiguration
The configuration of the video mixing on the local client.
Definition: AgoraObjects.h:3363
AgoraRtcVideoCanvas
Attributes of the video canvas object.
Definition: AgoraObjects.h:671
AgoraRtcEngineDelegate.h
AgoraApplicationScenarioType
AgoraApplicationScenarioType
The video application scenarios.
Definition: AgoraEnumerates.h:3981
AgoraAudioRecordingConfiguration
Recording configurations.
Definition: AgoraObjects.h:3581
AgoraMetadataType
AgoraMetadataType
Metadata type of the observer. We only support video metadata for now.
Definition: AgoraEnumerates.h:3463
AgoraColorEnhanceOptions
The color enhancement options.
Definition: AgoraObjects.h:3153
-[AgoraRtcEngineKit getNtpWallTimeInMs]
uint64_t getNtpWallTimeInMs()
Gets the current NTP (Network Time Protocol) time.
AgoraClientRoleOptions
Setting of user role properties.
Definition: AgoraObjects.h:2815
AgoraMediaSourceType
AgoraMediaSourceType
Media source type.
Definition: AgoraEnumerates.h:4103
AgoraNetworkQuality
AgoraNetworkQuality
Network quality types.
Definition: AgoraEnumerates.h:1144
-[AgoraRtcEngineKit stopRecordingDeviceTest]
int stopRecordingDeviceTest()
Stops the audio capturing device test.
WatermarkConfig
Used to configure watermark-related information.
Definition: AgoraObjects.h:1771
-[AgoraRtcEngineKit queryCameraFocalLengthCapability]
NSArray< AgoraFocalLengthInfo * > *_Nullable queryCameraFocalLengthCapability()
Queries the focal length capability supported by the camera.
AgoraCameraCapturerConfiguration
The camera capturer preference.
Definition: AgoraObjects.h:2828
AgoraCloudProxyType
AgoraCloudProxyType
The cloud proxy type.
Definition: AgoraEnumerates.h:883
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
Enables the video module.
AgoraScreenCaptureFrameRateCapability
AgoraScreenCaptureFrameRateCapability
The highest frame rate supported by the screen sharing device.
Definition: AgoraEnumerates.h:5254
AgoraExtensionInfo
Definition: AgoraObjects.h:4399
-[AgoraRtcEngineKit queryCodecCapability]
NSArray< AgoraVideoCodecCapInfo * > *_Nullable queryCodecCapability()
Queries the video codec capabilities of the SDK.
AgoraLogLevel
AgoraLogLevel
The output log level of the SDK.
Definition: AgoraEnumerates.h:3486
AgoraChannelStats
Statistics of a call session.
Definition: AgoraObjects.h:1247
-[AgoraRtcEngineKit queryScreenCaptureCapability]
AgoraScreenCaptureFrameRateCapability queryScreenCaptureCapability()
Queries the highest frame rate supported by the device during screen sharing.