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 
597 
612 
629 + (void)destroy NS_SWIFT_NAME(destroy());
630 
631 #pragma mark Core Audio
632 
646 - (int)enableAudio NS_SWIFT_NAME(enableAudio());
647 
659 - (int)disableAudio NS_SWIFT_NAME(disableAudio());
660 
683 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
684 
700 - (int)setAudioProfile:(AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
701 
702 - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
703 
725 - (int)enableAudioVolumeIndication:(NSInteger)interval
726  smooth:(NSInteger)smooth
727  reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
728 
729 
730 #if TARGET_OS_IPHONE
731 
748 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
749 
759 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
760 
788 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
789 #endif
790 
802 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
803 
815 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
816 
836 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
837 
846 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
847 
858 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
859 
873 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
874 
900 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
901 
912 - (int)startRecordingDeviceTest:(int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
913 
923 - (int)stopRecordingDeviceTest NS_SWIFT_NAME(stopRecordingDeviceTest());
924 
939 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
940 
950 - (int)stopPlaybackDeviceTest NS_SWIFT_NAME(stopPlaybackDeviceTest());
951 
964 - (int)registerExtensionWithVendor:(NSString * __nonnull)provider
965  extension:(NSString * __nonnull)extension
966  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:));
967 
987 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
988 
1009 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
1010  extension:(NSString * __nonnull)extension
1011  enabled:(BOOL)enabled
1012  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
1013 
1034 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
1035  extension:(NSString * __nonnull)extension
1036  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
1037  enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
1038 
1050 - (int)setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider
1051  key:(NSString * __nonnull)key
1052  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
1053 
1064 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
1065  extension:(NSString * __nonnull)extension
1066  key:(NSString * __nonnull)key
1067  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
1068 
1082 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
1083  extension:(NSString * __nonnull)extension
1084  key:(NSString * __nonnull)key
1085  value:(NSString * __nonnull)value
1086  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
1087 
1101 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
1102  extension:(NSString * __nonnull)extension
1103  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
1104  key:(NSString * __nonnull)key
1105  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
1106 
1117 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
1118  extension:(NSString * __nonnull)extension
1119  key:(NSString * __nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
1120 
1132 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
1133  extension:(NSString * __nonnull)extension
1134  key:(NSString * __nonnull)key
1135  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
1136 
1148 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
1149  extension:(NSString * __nonnull)extension
1150  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
1151  key:(NSString * __nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
1152 
1153 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1154 
1174 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
1175 
1188 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
1189 
1196 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
1197 #endif
1198 
1199 #pragma mark Core Video
1200 
1221 - (int)enableVideo NS_SWIFT_NAME(enableVideo());
1222 
1232 - (int)disableVideo NS_SWIFT_NAME(disableVideo());
1233 
1259 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
1260 
1266 - (NSArray <AgoraVideoCodecCapInfo *> *__nullable)queryCodecCapability;
1267 
1277 - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore());
1278 
1295 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
1296 
1316 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
1317 
1336 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
1337  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
1338 
1350 - (int)startPreview NS_SWIFT_NAME(startPreview());
1351 
1365 - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:));
1366 
1374 - (int)stopPreview NS_SWIFT_NAME(stopPreview());
1375 
1383 - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:));
1384 
1395 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
1396 
1406 - (int)setRemoteRenderMode:(NSUInteger)uid
1407  mode:(AgoraVideoRenderMode)mode
1408  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
1409 
1422 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
1423 
1439 - (int)muteRemoteVideoStream:(NSUInteger)uid
1440  mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
1441 
1467 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
1468 
1482 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
1483 
1498 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:));
1499 
1513 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:));
1514 
1529 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(AgoraFaceShapeBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:sourceType:));
1530 
1539 
1550 
1560 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeAreaOptions(_:));
1561 
1572 - (int)setFaceShapeAreaOptions:(AgoraFaceShapeAreaOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFaceShapeAreaOptions(_:sourceType:));
1573 
1583 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area NS_SWIFT_NAME(getFaceShapeAreaOptions(_:));
1584 
1595 - (AgoraFaceShapeAreaOptions * _Nullable)getFaceShapeAreaOptions:(AgoraFaceShapeArea) area sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getFaceShapeAreaOptions(_:sourceType:));
1596 
1621 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
1622 
1648 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:));
1649 
1674 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
1675 
1701 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:));
1702 
1727 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
1728 
1754 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:));
1755 
1803 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:));
1804 
1853 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:));
1854 
1866 - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:));
1867 
1879 - (int)setVideoQoEPreference:(AgoraQoEPreferenceType)preferenceType NS_SWIFT_NAME(setVideoQoEPreference(_:));
1880 
1889 - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type;
1890 
1891 #pragma mark Audio Effect
1892 
1906 - (int)setLocalVoicePitch:(double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:));
1907 
1917 - (int)setLocalVoiceFormant:(double)formantRatio;
1918 
1926 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:));
1927 
1935 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:));
1936 
1937 #pragma mark Audio Effect Playback
1938 
1967 - (int)preloadEffect:(int)soundId
1968  filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:));
1969 
1994 - (int)preloadEffect:(int)soundId
1995  filePath:(NSString* _Nonnull)filePath
1996  startPos:(int)startPos NS_SWIFT_NAME(preloadEffect(_:filePath:startPos:));
1997 
2021 - (int)playEffect:(int)soundId
2022  filePath:(NSString* _Nonnull)filePath
2023  loopCount:(NSInteger)loopCount
2024  pitch:(double)pitch
2025  pan:(double)pan
2026  gain:(NSInteger)gain NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:));
2027 
2052 - (int)playEffect:(int)soundId
2053  filePath:(NSString* _Nonnull)filePath
2054  loopCount:(NSInteger)loopCount
2055  pitch:(double)pitch
2056  pan:(double)pan
2057  gain:(NSInteger)gain
2058  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:startPos:));
2059 
2091 - (int)playEffect:(int)soundId
2092  filePath:(NSString* _Nonnull)filePath
2093  loopCount:(NSInteger)loopCount
2094  pitch:(double)pitch
2095  pan:(double)pan
2096  gain:(NSInteger)gain
2097  publish:(BOOL)publish NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:));
2098 
2131 - (int)playEffect:(int)soundId
2132  filePath:(NSString* _Nonnull)filePath
2133  loopCount:(NSInteger)loopCount
2134  pitch:(double)pitch
2135  pan:(double)pan
2136  gain:(NSInteger)gain
2137  publish:(BOOL)publish
2138  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:startPos:));
2139 
2170 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
2171  pitch:(double)pitch
2172  pan:(double)pan
2173  gain:(NSInteger)gain
2174  publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:));
2175 
2183 - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume());
2184 
2194 - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:));
2195 
2206 - (int)setVolumeOfEffect:(int)soundId
2207  withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:));
2208 
2218 - (int)getVolumeOfEffect:(int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:));
2219 
2227 - (int)pauseEffect:(int)soundId NS_SWIFT_NAME(pauseEffect(_:));
2228 
2234 - (int)pauseAllEffects NS_SWIFT_NAME(pauseAllEffects());
2235 
2243 - (int)resumeEffect:(int)soundId NS_SWIFT_NAME(resumeEffect(_:));
2244 
2250 - (int)resumeAllEffects NS_SWIFT_NAME(resumeAllEffects());
2251 
2259 - (int)stopEffect:(int)soundId NS_SWIFT_NAME(stopEffect(_:));
2260 
2267 - (int)stopAllEffects NS_SWIFT_NAME(stopAllEffects());
2268 
2284 - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:));
2285 
2300 - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:));
2301 
2312 - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:));
2313 
2321 - (int)unloadEffect:(int)soundId NS_SWIFT_NAME(unloadEffect(_:));
2322 
2329 - (int)unloadAllEffects NS_SWIFT_NAME(unloadAllEffects());
2330 
2331 #pragma mark beautifier effect
2332 
2369 - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset NS_SWIFT_NAME(setVoiceBeautifierPreset(_:));
2370 
2408 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:));
2409 
2448 - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset NS_SWIFT_NAME(setVoiceConversionPreset(_:));
2449 
2525 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setAudioEffectParameters(_:param1:param2:));
2526 
2569 - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:));
2570 
2583 - (int)setVoiceConversionParameters:(AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceConversionParameters(_:param1:param2:));
2584 
2596 - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset NS_SWIFT_NAME(setHeadphoneEQPreset(_:));
2597 
2607 - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:));
2608 
2620 - (int)enableVoiceAITuner:(bool)enabled type:(AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:));
2621 
2622 #pragma mark Sound Position Indication
2623 
2641 - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:));
2642 
2666 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:));
2667 
2678 - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:));
2679 
2695 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
2696  params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:));
2697 
2698 #pragma mark Audio Noise Suppression
2699 
2709 - (int)setAINSMode:(BOOL)enabled mode:(AUDIO_AINS_MODE)mode NS_SWIFT_NAME(setAINSMode(_:mode:));
2710 
2711 #pragma mark Audio Mixing
2712 
2749 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2750  loopback:(BOOL)loopback
2751  cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
2752 
2785 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2786  loopback:(BOOL)loopback
2787  cycle:(NSInteger)cycle
2788  startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
2789 
2799 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
2800 
2809 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
2810 
2820 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
2821 
2830 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
2831 
2840 - (int)getAudioTrackCount NS_SWIFT_NAME(getAudioTrackCount());
2841 
2852 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
2853 
2862 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
2863 
2872 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
2873 
2882 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
2883 
2892 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
2893 
2903 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
2904 
2913 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
2914 
2925 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
2926 
2937 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
2938 
2948 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
2949 
2968 - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:));
2969 
2970 #pragma mark Audio Recording
2971 
2992 - (int)startAudioRecording:(NSString * _Nonnull)filePath
2993  quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
2994 
3018 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config NS_SWIFT_NAME(startAudioRecording(withConfig:));
3019 
3020 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:));
3021 
3029 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
3030 
3031 #pragma mark Echo Test
3032 
3049 - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config NS_SWIFT_NAME(startEchoTest(withConfig:));
3050 
3058 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
3059 
3060 
3061 #pragma mark Miscellaneous Audio Control
3062 
3077 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
3078 
3090 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
3091 
3103 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
3104 
3105 #if TARGET_OS_IPHONE
3106 
3114 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
3115 #endif
3116 
3117 #pragma mark Dual Video Mode
3118 
3135 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:)) __deprecated_msg("use setDualStreamMode: instead.");
3136 
3155 - (int)enableDualStreamMode:(BOOL)enabled
3156  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:)) __deprecated_msg("use setDualStreamMode: instead.");
3157 
3167 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode NS_SWIFT_NAME(setDualStreamMode(_:));
3168 
3185 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode
3186  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(setDualStreamMode(_:streamConfig:));
3187 
3202 - (int)setSimulcastConfig:(AgoraSimulcastConfig* _Nonnull)simulcastConfig NS_SWIFT_NAME(setSimulcastConfig(_:));
3203 
3214 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
3215 
3235 - (int)setRemoteVideoStream:(NSUInteger)uid
3236  type:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteVideoStream(_:type:));
3237 
3248 - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid
3249  options:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideoSubscriptionOptions(_:options:));
3250 
3251 #pragma mark Subscribe Blocklist / Allowlist
3252 
3266 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
3267 
3283 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
3284 
3298 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
3299 
3315 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
3316 
3317 #pragma mark Stream Fallback
3318 
3341 - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setLocalPublishFallbackOption(_:));
3342 
3354 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
3355 
3367 - (int)setHighPriorityUserList:(NSArray <NSNumber *> *_Nullable)uidList
3368  option:(AgoraStreamFallbackOptions)option;
3369 
3370 
3371 #pragma mark External Media Source
3372 
3397 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
3398 
3418 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
3419  sourceType:(AgoraExternalVideoSourceType)sourceType
3420  encodedVideoTrackOption:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
3421 
3439 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) __deprecated_msg("use pushExternalVideoFrame:frame,videoTrackId options instead.");
3440 
3459 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:));
3460 
3474 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3475  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:));
3476 
3491 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3492  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info
3493  videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:videoTrackId:));
3494 
3495 
3503 - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack());
3504 
3512 - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
3513 
3522 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
3523 
3532 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
3533 
3534 #pragma mark External Audio Data
3535 
3549 - (void)enableExternalAudioSink:(BOOL)enabled
3550  sampleRate:(NSUInteger)sampleRate
3551  channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
3552 
3569 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
3570  lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
3571 
3590 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
3591 
3607 - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType
3608  config:(AgoraAudioTrackConfig* _Nonnull)config;
3609 
3619 - (int)destroyCustomAudioTrack:(NSInteger)trackId;
3620 
3635 - (int)enableCustomAudioLocalPlayback:(NSInteger)trackId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
3636 
3648 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
3649  samples:(NSInteger)samples
3650  trackId:(NSInteger)trackId
3651  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:trackId:timestamp:)) __deprecated_msg("use pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp: instead.");
3652 
3666 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
3667  samples:(NSInteger)samples
3668  sampleRate:(NSInteger)sampleRate
3669  channels:(NSInteger)channels
3670  trackId:(NSInteger)trackId
3671  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:));
3672 
3683 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:)) __deprecated_msg("use pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId: instead.");
3684 
3698 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer
3699  sampleRate:(NSInteger)sampleRate
3700  channels:(NSInteger)channels
3701  trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:));
3702 
3726 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3727  channel:(NSInteger)channel
3729  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3730 
3755 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3756  channel:(NSInteger)channel
3758  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3759 
3777 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3778  channel:(NSInteger)channel
3779  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
3780 
3805 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3806  channel:(NSInteger)channel
3808  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3809 
3823 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
3824  channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
3825 
3826 /*
3827  * Adjust the custom audio publish volume by track id.
3828  * @param trackId custom audio track id.
3829  * @param volume The volume, range is [0,100]:
3830  * 0: mute, 100: The original volume
3831  * @return
3832  * - 0: Success.
3833  * - < 0: Failure.
3834  */
3835 - (int)adjustCustomAudioPublishVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
3836 
3837 /*
3838  * Adjust the custom audio playout volume by track id.
3839  * @param trackId custom audio track id.
3840  * @param volume The volume, range is [0,100]:
3841  * 0: mute, 100: The original volume
3842  * @return
3843  * - 0: Success.
3844  * - < 0: Failure.
3845  */
3846 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
3847 
3848 /*
3849  * Get monotonic time in ms which can be used by capture time,
3850  * typical scenario is as follows:
3851  *
3852  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3853  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
3854  * | int64_t custom_capture_time_base; |
3855  * | |
3856  * | int64_t agora_monotonic_time = getAgoraCurrentMonotonicTimeInMs(); |
3857  * | |
3858  * | // offset is fixed once calculated in the begining. |
3859  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
3860  * | |
3861  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
3862  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
3863  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
3864  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
3865  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3866  *
3867  * @return
3868  * - >= 0: Success.
3869  * - < 0: Failure.
3870  */
3871 - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs());
3872 
3873 #pragma mark Audio spectrum monitor
3874 
3887 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
3888 
3897 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
3898 
3909 - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
3910 
3919 
3920 #pragma mark Built-in Encryption
3921 
3951 - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
3952 
3953 #pragma mark Data Stream
3954 
3978 - (int)createDataStream:(NSInteger * _Nonnull)streamId
3979  reliable:(BOOL)reliable
3980  ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
3981 
3991 - (int)createDataStream:(NSInteger * _Nonnull)streamId
3992  config:(AgoraDataStreamConfig * _Nonnull)config NS_SWIFT_NAME(createDataStream(_:config:));
3993 
4017 - (int)sendStreamMessage:(NSInteger)streamId
4018  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
4019 
4020 #pragma mark Stream Publish
4021 
4039 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
4040 
4053 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
4054 
4071 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
4072 
4090 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
4091 
4092 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4093 #pragma mark Screen Capture
4094 
4108 - (int)startScreenCapture:(AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:));
4109 
4119 - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:));
4120 
4140 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
4141  regionRect:(CGRect)regionRect
4142  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
4143 
4163 - (int)startScreenCaptureByWindowId:(UInt32)windowId
4164  regionRect:(CGRect)regionRect
4165  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
4166 
4176 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
4177 
4187 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
4188 
4219 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
4220 
4221 #endif
4222 
4232 - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
4233 
4241 - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture());
4242 
4243 #if TARGET_OS_IPHONE
4244 
4263 - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:));
4264 
4274 - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(updateScreenCapture(_:));
4275 
4288 
4289 - (NSArray<AgoraFocalLengthInfo *>* __nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability());
4290 
4291 #pragma mark Camera Control
4292 
4304 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
4305 
4312 - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor());
4313 
4320 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
4321 
4329 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
4330 
4338 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
4339 
4347 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
4348 
4356 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
4357 
4366 - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported());
4367 
4375 - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:));
4376 
4397 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
4398 
4415 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
4416 
4424 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
4425 
4437 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
4438 
4446 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
4447 
4459 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
4460 
4469 - (int)switchCamera NS_SWIFT_NAME(switchCamera());
4470 
4480 - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:));
4481 
4490  - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:));
4491 #endif
4492 
4497 - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported());
4498 
4507 - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:));
4508 
4520 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:));
4521 
4530 - (int)startCameraCapture:(AgoraVideoSourceType)sourceType config:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(startCameraCapture(_:config:));
4531 
4540 - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:));
4541 
4542 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4543 #pragma mark macOS Device
4544 
4557 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
4558 
4571 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
4572 
4580 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
4581 
4591 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
4592 
4599 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
4600 
4609 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
4610 
4620 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
4621 
4635 - (int)startAudioDeviceLoopbackTest:(int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
4636 
4644 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
4645 
4657 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
4658 
4670 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
4671 
4680 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
4681 
4688 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
4689 #endif
4690 
4691 #pragma mark Face Detection
4692 
4693 #if TARGET_OS_IPHONE
4694 
4717 - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:));
4718 #endif
4719 
4720 #pragma mark Watermark
4721 
4733 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg("use addVideoWatermark:url options instead.");
4734 
4760 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:));
4761 
4766 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
4767 
4768 #pragma mark String UID
4769 
4801 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
4802 
4837 - (int)joinChannelByToken:(NSString * _Nullable)token
4838  channelId:(NSString * _Nonnull)channelId
4839  userAccount:(NSString * _Nonnull)userAccount
4840  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
4841 
4877 - (int)joinChannelByToken:(NSString * _Nullable)token
4878  channelId:(NSString * _Nonnull)channelId
4879  userAccount:(NSString * _Nonnull)userAccount
4880  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
4881  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
4882 
4893 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
4894 
4905 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
4906 
4907 #pragma mark Custom Audio PCM Frame
4908 
4914 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
4915 
4916 #pragma mark Custom Video Frame
4917 
4928 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
4929 
4930 #pragma mark Encoded Video Frame
4931 
4942 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
4943 
4944 #pragma mark Custom Face Info
4945 
4952 - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:));
4953 
4954 #pragma mark Custom Media Metadata
4955 
4977 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
4978 
4994 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
4995 
4996 #pragma mark Miscellaneous Methods
4997 
5007 + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion());
5008 
5014 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
5015 
5020 - (void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
5021 
5045 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
5046 
5061 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
5062 
5077 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
5078 
5086 - (NSString * _Nullable)uploadLogFile NS_SWIFT_NAME(uploadLogFile());
5087 
5098 - (int)writeLog:(AgoraLogLevel)level content:(NSString * _Nonnull)content NS_SWIFT_NAME(writeLog(_:content:));
5099 
5110 - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId());
5111 
5132 - (int)rate:(NSString * _Nonnull)callId
5133  rating:(NSInteger)rating
5134 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
5135 
5153 - (int)complain:(NSString * _Nonnull)callId
5154  description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
5155 
5166 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
5167 
5188 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
5189 
5197 - (int)stopLastmileProbeTest NS_SWIFT_NAME(stopLastmileProbeTest());
5198 
5205 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
5206 
5212 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
5213  args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
5214 
5218 - (uint64_t)getNtpWallTimeInMs;
5219 
5220 #pragma mark MediaPlayer
5221 
5230 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:));
5231 
5236 - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager NS_SWIFT_NAME(createMediaPlayerCacheManager());
5237 
5249 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
5250 
5256 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
5257 
5258 #pragma mark rhythm player
5259 
5270 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
5271 
5278 - (int)stopRhythmPlayer NS_SWIFT_NAME(stopRhythmPlayer());
5279 
5288 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:));
5289 
5290 #pragma mark Streaming Kit
5291 
5303 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
5304 
5319 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
5320 
5334 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
5335  publishUrl:(NSString * _Nonnull)publishUrl
5336  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(startDirectCdnStreaming(_:publishUrl:mediaOptions:));
5337 
5347 - (int)stopDirectCdnStreaming NS_SWIFT_NAME(stopDirectCdnStreaming());
5348 
5358 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(updateDirectCdnStreamingMediaOptions(_:));
5359 
5367 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
5368 
5378 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
5379  category:(NSString * _Nullable)category
5380  event:(NSString * _Nullable)event
5381  label:(NSString * _Nullable)label
5382  value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
5383 
5399 - (int)setLogLevel:(AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
5400 
5407 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
5408 
5447 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
5448 
5449 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
5450 
5451 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
5452 
5463 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
5464 
5474 - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:));
5481 - (int)enableVideoImageSource:(BOOL)enable
5482  options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:));
5483 
5495 - (int)getNetworkType NS_SWIFT_NAME(getNetworkType());
5496 
5506 - (AgoraMediaRecorder * _Nullable)createMediaRecorder:(AgoraRecorderStreamInfo * _Nonnull)info NS_SWIFT_NAME(createMediaRecorder(withInfo:));
5507 
5517 - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder;
5518 
5519 #pragma mark Channel Transcoder
5520 
5525 - (id<AgoraH265TranscoderProtocol>_Nullable)getH265Transcoder NS_SWIFT_NAME (getH265Transcoder());
5526 
5527 #pragma mark Deprecated Methods
5528 
5532 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:)) __deprecated;
5533 
5544 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:)) __deprecated;
5545 
5557 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg("use delegate instead.");
5558 
5567 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
5568 
5579 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg("use delegate instead.");
5580 
5590 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
5591 
5601 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg("use delegate instead.");
5602 
5611 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg("use delegate instead.");
5612 
5622 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg("use delegate instead.");
5623 
5638 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg("use delegate instead.");
5639 
5647 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
5648 
5658 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
5659 
5663 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg("use delegate instead.");
5664 
5668 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg("use delegate instead.");
5669 
5680 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg("use delegate instead.");
5681 
5688 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg("use delegate instead.");
5689 
5699 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg("use delegate instead.");
5700 
5709 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg("use delegate instead.");
5710 
5717 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg("use delegate instead.");
5718 
5722 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg("use delegate instead.");
5723 
5733 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
5734 
5744 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
5745 
5752 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
5753  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
5754 
5760 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
5761  stereo:(BOOL)stereo
5762  fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg("use setAudioProfile:scenario: instead.");
5763 
5764 
5783 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated_msg("use setAudioProfile: instead.");
5784 
5791 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg("use getDeviceInfo: instead.");
5792 
5813 - (int)setExternalAudioSource:(BOOL)enabled
5814  sampleRate:(NSInteger)sampleRate
5815  channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
5816 
5843 - (int)setExternalAudioSource:(BOOL)enabled
5844  sampleRate:(NSInteger)sampleRate
5845  channels:(NSInteger)channels
5846  localPlayback:(BOOL)localPlayback
5847  publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)) __deprecated_msg("use createCustomAudioTrack:config: instead.");
5848 
5849 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
5850 
5859 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg("use setDeviceVolume:volume: instead.");
5860 
5861 - (int)startScreenCapture:(NSUInteger)windowId
5862  withCaptureFreq:(NSInteger)captureFreq
5863  bitRate:(NSInteger)bitRate
5864  andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
5865 #endif
5866 
5872 + (NSString * _Nonnull)getMediaEngineVersion NS_SWIFT_NAME(getMediaEngineVersion()) __deprecated;
5873 
5874 
5893 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
5894 
5903 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg("use delegate instead.");
5904 
5908 - (int)setLocalRenderMode:(NSUInteger)uid
5909  mode:(AgoraVideoRenderMode)mode NS_SWIFT_NAME(setLocalRenderMode(_:mode:)) __deprecated;
5910 
5921 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:)) __deprecated;;
5922 
5923 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:)) __deprecated;;
5924 
5930 - (void)addDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(addDelegate(_:));
5931 
5937 - (void)removeDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)delegate NS_SWIFT_NAME(removeDelegate(_:));
5938 
5939 @end
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
AgoraAudioTrackType
AgoraAudioTrackType
Definition: AgoraEnumerates.h:3485
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Definition: AgoraRtcEngineKit.h:60
AgoraRecorderStreamInfo
Definition: AgoraObjects.h:3095
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:301
-[AgoraRtcEngineKit queryCodecCapability]
NSArray< AgoraVideoCodecCapInfo * > *__nullable queryCodecCapability()
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1304
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
Definition: AgoraEnumerates.h:3115
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:3222
AgoraBeautyOptions
Definition: AgoraObjects.h:2405
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:3074
AgoraMediaRecorder
Definition: AgoraMediaRecorder.h:14
AgoraRtcMediaPlayerProtocol.h
AgoraAudioTrackConfig
Definition: AgoraObjects.h:3465
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:528
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:2869
AgoraHeadphoneEQPreset
AgoraHeadphoneEQPreset
Definition: AgoraEnumerates.h:1739
AgoraVideoFrameDelegate.h
AUDIO_AINS_MODE
AUDIO_AINS_MODE
Definition: AgoraEnumerates.h:3504
-[AgoraRtcEngineKit startMediaRenderingTracing]
int startMediaRenderingTracing()
Start tracing media rendering events.
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
AgoraFeatureType
AgoraFeatureType
Definition: AgoraEnumerates.h:3596
AgoraFaceShapeAreaOptions
Definition: AgoraObjects.h:2447
AgoraCameraStabilizationMode
AgoraCameraStabilizationMode
Definition: AgoraEnumerates.h:2488
AgoraFaceInfoDelegate.h
AgoraVideoFrame
Definition: AgoraObjects.h:1766
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:2928
-[AgoraRtcEngineKit queryCameraFocalLengthCapability]
NSArray< AgoraFocalLengthInfo * > *__nullable queryCameraFocalLengthCapability()
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
Definition: AgoraEnumerates.h:1679
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2653
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1380
+[AgoraRtcEngineKit destroy]
void destroy()
AgoraMediaRecorder.h
AgoraSegmentationProperty
Definition: AgoraObjects.h:2580
AgoraSimulcastConfig
Definition: AgoraObjects.h:2962
AgoraVoiceAITunerType
AgoraVoiceAITunerType
Definition: AgoraEnumerates.h:1748
AgoraContentInspectConfig
Definition: AgoraObjects.h:3029
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:3012
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:227
AgoraH265TranscoderProtocol.h
AgoraAudioProfile
AgoraAudioProfile
Definition: AgoraEnumerates.h:1265
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2504
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:604
-[AgoraRtcEngineKit stopLocalVideoTranscoder]
int stopLocalVideoTranscoder()
AgoraFaceShapeArea
AgoraFaceShapeArea
Definition: AgoraEnumerates.h:1984
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
WatermarkOptions
Definition: AgoraObjects.h:1399
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2759
-[AgoraRtcEngineKit createMediaPlayerCacheManager]
id< AgoraRtcMediaPlayerCacheManagerProtocol > _Nullable createMediaPlayerCacheManager()
-[AgoraRtcEngineKit stopScreenCapture]
int stopScreenCapture()
-[AgoraRtcEngineKit getCurrentMonotonicTimeInMs]
int64_t getCurrentMonotonicTimeInMs()
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
AgoraQoEPreferenceType
AgoraQoEPreferenceType
Definition: AgoraEnumerates.h:2652
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:14
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:494
-[AgoraRtcEngineKit uploadLogFile]
NSString *_Nullable uploadLogFile()
-[AgoraRtcEngineKit pauseAllChannelMediaRelay]
int pauseAllChannelMediaRelay()
-[AgoraRtcEngineKit stopPreview]
int stopPreview()
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:2124
AgoraDataStreamConfig
Definition: AgoraObjects.h:2324
AgoraMediaRecorderDelegate.h
-[AgoraRtcEngineKit getH265Transcoder]
id< AgoraH265TranscoderProtocol >_Nullable getH265Transcoder()
AgoraUserInfo
Definition: AgoraObjects.h:2258
AgoraRtcAudioSpectrumDelegate.h
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
Definition: AgoraEnumerates.h:1426
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1924
AgoraMediaMetadataDataSource.h
AgoraImageTrackOptions
Definition: AgoraObjects.h:3271
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:844
AgoraAudioEncodedFrameDelegate.h
AgoraEncryptionConfig
Definition: AgoraObjects.h:2239
AgoraAudioFrameDelegate.h
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:3117
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2353
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:814
-[AgoraRtcEngineKit stopPlaybackDeviceTest]
int stopPlaybackDeviceTest()
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:3317
AgoraConnectionState
AgoraConnectionState
Definition: AgoraEnumerates.h:1854
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:3265
AgoraScreenScenarioType
AgoraScreenScenarioType
Definition: AgoraEnumerates.h:2676
AgoraEncodedVideoFrameDelegate.h
-[AgoraRtcEngineKit getFaceShapeBeautyOptions]
AgoraFaceShapeBeautyOptions *_Nullable getFaceShapeBeautyOptions()
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:3193
AgoraConstants.h
-[AgoraRtcEngineKit disableAudio]
int disableAudio()
-[AgoraRtcEngineKit stopRhythmPlayer]
int stopRhythmPlayer()
-[AgoraRtcEngineKit createCustomVideoTrack]
unsigned int createCustomVideoTrack()
-[AgoraRtcEngineKit disableVideo]
int disableVideo()
AgoraFaceShapeBeautyOptions
Definition: AgoraObjects.h:2482
+[AgoraRtcEngineKit getSdkVersion]
NSString *_Nonnull getSdkVersion()
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2549
AgoraRtcMediaPlayerDelegate.h
-[AgoraRtcEngineKit startPreview]
int startPreview()
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2521
AgoraSimulcastStreamMode
AgoraSimulcastStreamMode
Definition: AgoraEnumerates.h:2830
__deprecated
#define __deprecated
Definition: AgoraBase.h:74
AgoraDirectCdnStreamingEventDelegate.h
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
Definition: AgoraEnumerates.h:2816
-[AgoraRtcEngineKit getAudioTrackCount]
int getAudioTrackCount()
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2630
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:524
AgoraRtcEngineDelegate.h
AgoraApplicationScenarioType
AgoraApplicationScenarioType
Definition: AgoraEnumerates.h:2634
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:2891
AgoraMetadataType
AgoraMetadataType
Definition: AgoraEnumerates.h:2276
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2536
-[AgoraRtcEngineKit getNtpWallTimeInMs]
uint64_t getNtpWallTimeInMs()
AgoraClientRoleOptions
Definition: AgoraObjects.h:2271
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2693
AgoraNetworkQuality
AgoraNetworkQuality
Definition: AgoraEnumerates.h:735
-[AgoraRtcEngineKit stopRecordingDeviceTest]
int stopRecordingDeviceTest()
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2281
AgoraCloudProxyType
AgoraCloudProxyType
Definition: AgoraEnumerates.h:597
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
AgoraScreenCaptureFrameRateCapability
AgoraScreenCaptureFrameRateCapability
Definition: AgoraEnumerates.h:3478
AgoraExtensionInfo
Definition: AgoraObjects.h:3430
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2297
AgoraChannelStats
Definition: AgoraObjects.h:1034
-[AgoraRtcEngineKit queryScreenCaptureCapability]
AgoraScreenCaptureFrameRateCapability queryScreenCaptureCapability()