8 #import <Foundation/Foundation.h>
33 #pragma mark - AgoraRtcEngineKit
48 #pragma mark Core Methods
60 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable
delegate;
76 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
139 - (int)preloadChannelByToken:(NSString * _Nullable)token
140 channelId:(NSString * _Nonnull)channelId
141 uid:(NSUInteger)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:uid:));
182 - (int)preloadChannelByTokenWithUserAccount:(NSString * _Nullable)token
183 channelId:(NSString * _Nonnull)channelId
184 userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(preloadChannelWithUserAccount(byToken:channelId:userAccount:));
203 - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:));
267 - (int)joinChannelByToken:(NSString * _Nullable)token
268 channelId:(NSString * _Nonnull)channelId
269 info:(NSString * _Nullable)info
271 joinSuccess:(
void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:info:uid:joinSuccess:));
333 - (int)joinChannelByToken:(NSString * _Nullable)token
334 channelId:(NSString * _Nonnull)channelId
337 joinSuccess:(
void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:uid:mediaOptions:joinSuccess:));
364 - (int)leaveChannel:(
void(^ _Nullable)(
AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:));
393 leaveChannelBlock:(void (^ _Nullable)(
AgoraChannelStats * _Nonnull))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:leaveChannelBlock:));
412 - (int)setChannelProfile:(
AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:));
439 - (int)setClientRole:(
AgoraClientRole)role NS_SWIFT_NAME(setClientRole(_:));
486 - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:));
574 - (int)enableWirelessAccelerate:(BOOL)enabled NS_SWIFT_NAME(enableWirelessAccelerate(_:));
664 #pragma mark Core Audio
716 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
733 - (int)setAudioProfile:(
AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
735 - (int)setAudioScenario:(
AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
758 - (int)enableAudioVolumeIndication:(NSInteger)interval
759 smooth:(NSInteger)smooth
760 reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
781 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
792 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
821 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
835 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
848 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
869 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
879 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
891 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
906 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
933 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
945 - (int)startRecordingDeviceTest:(
int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
972 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
997 - (int)registerExtensionWithVendor:(NSString * _Nonnull)provider
998 extension:(NSString * _Nonnull)extension
999 sourceType:(
AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:));
1020 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider extension:(NSString * _Nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
1042 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1043 extension:(NSString * _Nonnull)extension
1044 enabled:(BOOL)enabled
1045 sourceType:(
AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
1067 - (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
1068 extension:(NSString * _Nonnull)extension
1070 enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
1083 - (int)setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider
1084 key:(NSString * _Nonnull)key
1085 value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
1097 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1098 extension:(NSString * _Nonnull)extension
1099 key:(NSString * _Nonnull)key
1100 value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
1115 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1116 extension:(NSString * _Nonnull)extension
1117 key:(NSString * _Nonnull)key
1118 value:(NSString * _Nonnull)value
1119 sourceType:(
AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
1134 - (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1135 extension:(NSString * _Nonnull)extension
1137 key:(NSString * _Nonnull)key
1138 value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
1150 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1151 extension:(NSString * _Nonnull)extension
1152 key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
1165 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1166 extension:(NSString * _Nonnull)extension
1167 key:(NSString * _Nonnull)key
1168 sourceType:(
AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
1181 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
1182 extension:(NSString * _Nonnull)extension
1184 key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
1186 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1207 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
1221 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
1229 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
1232 #pragma mark Core Video
1292 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
1336 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
1357 - (int)setupLocalVideo:(
AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
1370 targetFps:(int)targetFps;
1379 - (int)setRemoteRenderTargetFps:(
int)targetFps;
1400 mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
1458 - (int)setupRemoteVideo:(
AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
1469 - (int)setRemoteRenderMode:(NSUInteger)uid
1471 mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
1485 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
1502 - (int)muteRemoteVideoStream:(NSUInteger)uid
1503 mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
1530 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
1545 - (int)setBeautyEffectOptions:(BOOL)enable options:(
AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
1561 - (int)setBeautyEffectOptions:(BOOL)enable options:(
AgoraBeautyOptions* _Nullable)options sourceType:(
AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:));
1576 - (int)setFaceShapeBeautyOptions:(BOOL)enable options:(
AgoraFaceShapeBeautyOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeBeautyOptions(_:options:));
1623 - (int)setFaceShapeAreaOptions:(
AgoraFaceShapeAreaOptions* _Nullable)options NS_SWIFT_NAME(setFaceShapeAreaOptions(_:));
1684 - (int)setVideoDenoiserOptions:(BOOL)enable options:(
AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
1737 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options NS_SWIFT_NAME(setFilterEffectOptions(_:options:));
1763 - (int)setFilterEffectOptions:(BOOL)enable options:(AgoraFilterEffectOptions* _Nullable)options sourceType:(
AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setFilterEffectOptions(_:options:sourceType:));
1790 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(
AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
1843 - (int)setColorEnhanceOptions:(BOOL)enable options:(
AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
1995 - (int)setVideoQoEPreference:(
AgoraQoEPreferenceType)preferenceType NS_SWIFT_NAME(setVideoQoEPreference(_:));
2007 #pragma mark Audio Effect
2022 - (int)setLocalVoicePitch:(
double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:));
2033 - (int)setLocalVoiceFormant:(
double)formantRatio;
2042 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:));
2051 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:));
2053 #pragma mark Audio Effect Playback
2083 - (int)preloadEffect:(
int)soundId
2084 filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:));
2110 - (int)preloadEffect:(
int)soundId
2111 filePath:(NSString* _Nonnull)filePath
2112 startPos:(
int)startPos NS_SWIFT_NAME(preloadEffect(_:filePath:startPos:));
2137 - (int)playEffect:(
int)soundId
2138 filePath:(NSString* _Nonnull)filePath
2139 loopCount:(NSInteger)loopCount
2142 gain:(NSInteger)gain NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:));
2168 - (int)playEffect:(
int)soundId
2169 filePath:(NSString* _Nonnull)filePath
2170 loopCount:(NSInteger)loopCount
2173 gain:(NSInteger)gain
2174 startPos:(
int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:startPos:));
2207 - (int)playEffect:(
int)soundId
2208 filePath:(NSString* _Nonnull)filePath
2209 loopCount:(NSInteger)loopCount
2212 gain:(NSInteger)gain
2213 publish:(BOOL)publish NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:));
2247 - (int)playEffect:(
int)soundId
2248 filePath:(NSString* _Nonnull)filePath
2249 loopCount:(NSInteger)loopCount
2252 gain:(NSInteger)gain
2253 publish:(BOOL)publish
2254 startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:startPos:));
2286 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
2289 gain:(NSInteger)gain
2290 publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:));
2299 - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume());
2310 - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:));
2322 - (int)setVolumeOfEffect:(
int)soundId
2323 withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:));
2334 - (int)getVolumeOfEffect:(
int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:));
2343 - (int)pauseEffect:(
int)soundId NS_SWIFT_NAME(pauseEffect(_:));
2350 - (int)pauseAllEffects NS_SWIFT_NAME(pauseAllEffects());
2359 - (int)resumeEffect:(
int)soundId NS_SWIFT_NAME(resumeEffect(_:));
2366 - (int)resumeAllEffects NS_SWIFT_NAME(resumeAllEffects());
2375 - (int)stopEffect:(
int)soundId NS_SWIFT_NAME(stopEffect(_:));
2383 - (int)stopAllEffects NS_SWIFT_NAME(stopAllEffects());
2400 - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:));
2416 - (int)setEffectPosition:(
int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:));
2428 - (int)getEffectCurrentPosition:(
int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:));
2437 - (int)unloadEffect:(
int)soundId NS_SWIFT_NAME(unloadEffect(_:));
2445 - (int)unloadAllEffects NS_SWIFT_NAME(unloadAllEffects());
2447 #pragma mark beautifier effect
2524 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:));
2641 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(
int)param2 NS_SWIFT_NAME(setAudioEffectParameters(_:param1:param2:));
2685 - (int)setVoiceBeautifierParameters:(
AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(
int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:));
2699 - (int)setVoiceConversionParameters:(
AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(
int)param2 NS_SWIFT_NAME(setVoiceConversionParameters(_:param1:param2:));
2723 - (int)setHeadphoneEQParameters:(
int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:));
2736 - (int)enableVoiceAITuner:(BOOL)enabled type:(
AgoraVoiceAITunerType)type NS_SWIFT_NAME(enableVoiceAITuner(_:type:));
2738 #pragma mark Sound Position Indication
2757 - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:));
2782 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(
double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:));
2794 - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:));
2811 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
2812 params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:));
2814 #pragma mark Audio Noise Suppression
2825 - (int)setAINSMode:(BOOL)enabled mode:(
AUDIO_AINS_MODE)mode NS_SWIFT_NAME(setAINSMode(_:mode:));
2827 #pragma mark Audio Mixing
2865 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2866 loopback:(BOOL)loopback
2867 cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
2901 - (int)startAudioMixing:(NSString * _Nonnull)filePath
2902 loopback:(BOOL)loopback
2903 cycle:(NSInteger)cycle
2904 startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
2915 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
2925 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
2936 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
2946 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
2968 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
2978 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
2988 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
2998 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
3008 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
3019 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
3029 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
3041 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
3053 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
3064 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
3084 - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:));
3086 #pragma mark Audio Recording
3108 - (int)startAudioRecording:(NSString * _Nonnull)filePath
3109 quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
3145 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
3147 #pragma mark Echo Test
3174 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
3177 #pragma mark Miscellaneous Audio Control
3193 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
3206 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(
AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
3219 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
3221 #if TARGET_OS_IPHONE
3230 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
3233 #pragma mark Dual Video Mode
3251 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:)) __deprecated_msg(
"use setDualStreamMode: instead.");
3271 - (int)enableDualStreamMode:(BOOL)enabled
3272 streamConfig:(
AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:)) __deprecated_msg(
"use setDualStreamMode: instead.");
3318 - (int)setSimulcastConfig:(
AgoraSimulcastConfig* _Nonnull)simulcastConfig NS_SWIFT_NAME(setSimulcastConfig(_:));
3330 - (int)setRemoteDefaultVideoStreamType:(
AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
3351 - (int)setRemoteVideoStream:(NSUInteger)uid
3364 - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid
3367 #pragma mark Subscribe Blocklist / Allowlist
3382 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
3399 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
3414 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
3431 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
3433 #pragma mark Stream Fallback
3457 - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setLocalPublishFallbackOption(_:));
3470 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
3483 - (int)setHighPriorityUserList:(NSArray <NSNumber *> *_Nullable)uidList
3484 option:(AgoraStreamFallbackOptions)option;
3487 #pragma mark External Media Source
3513 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(
AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
3534 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
3536 encodedVideoTrackOption:(
AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
3555 - (BOOL)pushExternalVideoFrame:(
AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) __deprecated_msg(
"use pushExternalVideoFrame:frame,videoTrackId options instead.");
3575 - (BOOL)pushExternalVideoFrame:(
AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:));
3591 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3609 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
3611 videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:videoTrackId:));
3630 - (
unsigned int)createCustomEncodedVideoTrack:(
AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
3640 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
3650 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
3652 #pragma mark External Audio Data
3667 - (void)enableExternalAudioSink:(BOOL)enabled
3668 sampleRate:(NSUInteger)sampleRate
3669 channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
3687 - (BOOL)pullPlaybackAudioFrameRawData:(
void * _Nonnull)data
3688 lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
3708 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
3737 - (int)destroyCustomAudioTrack:(NSInteger)trackId;
3753 - (int)enableCustomAudioLocalPlayback:(NSInteger)trackId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
3766 - (int)pushExternalAudioFrameRawData:(
void * _Nonnull)data
3767 samples:(NSInteger)samples
3768 trackId:(NSInteger)trackId
3769 timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:trackId:timestamp:)) __deprecated_msg(
"use pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp: instead.");
3784 - (int)pushExternalAudioFrameRawData:(
void* _Nonnull)data
3785 samples:(NSInteger)samples
3786 sampleRate:(NSInteger)sampleRate
3787 channels:(NSInteger)channels
3788 trackId:(NSInteger)trackId
3789 timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:));
3801 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:)) __deprecated_msg(
"use pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId: instead.");
3816 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer
3817 sampleRate:(NSInteger)sampleRate
3818 channels:(NSInteger)channels
3819 trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:));
3844 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3845 channel:(NSInteger)channel
3847 samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3873 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3874 channel:(NSInteger)channel
3876 samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3895 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3896 channel:(NSInteger)channel
3897 samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
3923 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
3924 channel:(NSInteger)channel
3926 samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
3941 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
3942 channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
3953 - (int)adjustCustomAudioPublishVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
3964 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)trackId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
3991 #pragma mark Audio spectrum monitor
4005 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )
delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
4015 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)
delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
4027 - (int)enableAudioSpectrumMonitor:(
int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
4038 #pragma mark Built-in Encryption
4069 - (int)enableEncryption:(BOOL)enabled encryptionConfig:(
AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
4071 #pragma mark Data Stream
4096 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4097 reliable:(BOOL)reliable
4098 ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
4109 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4135 - (int)sendStreamMessage:(NSInteger)streamId
4136 data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
4138 #pragma mark Stream Publish
4157 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
4171 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
4189 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
4208 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
4210 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4211 #pragma mark Screen Capture
4226 - (int)startScreenCapture:(
AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:));
4258 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
4259 regionRect:(CGRect)regionRect
4260 captureParams:(
AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
4281 - (int)startScreenCaptureByWindowId:(UInt32)windowId
4282 regionRect:(CGRect)regionRect
4283 captureParams:(
AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
4294 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
4305 - (int)updateScreenCaptureParameters:(
AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
4337 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
4350 - (int)setScreenCaptureScenario:(
AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
4361 #if TARGET_OS_IPHONE
4409 #pragma mark Camera Control
4422 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
4438 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
4447 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
4456 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
4465 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
4474 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
4484 - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported());
4493 - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:));
4515 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
4533 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
4542 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
4555 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
4564 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
4577 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
4615 - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported());
4625 - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:));
4658 - (int)stopCameraCapture:(
AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:));
4660 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4661 #pragma mark macOS Device
4675 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
4689 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
4698 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
4709 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
4717 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
4727 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
4738 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
4753 - (int)startAudioDeviceLoopbackTest:(
int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
4762 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
4775 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
4788 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
4798 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
4806 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
4809 #pragma mark Face Detection
4811 #if TARGET_OS_IPHONE
4835 - (int)enableFaceDetection:(BOOL)enable NS_SWIFT_NAME(enableFaceDetection(_:));
4838 #pragma mark Watermark
4851 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg(
"use addVideoWatermark:url options instead.");
4878 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(
WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:));
4884 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
4886 #pragma mark String UID
4919 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
4955 - (int)joinChannelByToken:(NSString * _Nullable)token
4956 channelId:(NSString * _Nonnull)channelId
4957 userAccount:(NSString * _Nonnull)userAccount
4958 joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
4995 - (int)joinChannelByToken:(NSString * _Nullable)token
4996 channelId:(NSString * _Nonnull)channelId
4997 userAccount:(NSString * _Nonnull)userAccount
4999 joinSuccess:(
void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
5011 - (
AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
5023 - (
AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
5025 #pragma mark Custom Audio PCM Frame
5032 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)
delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
5034 #pragma mark Custom Video Frame
5046 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)
delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
5048 #pragma mark Encoded Video Frame
5060 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)
delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
5062 #pragma mark Custom Face Info
5070 - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)
delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:));
5072 #pragma mark Custom Media Metadata
5095 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(
AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
5112 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(
AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
5114 #pragma mark Miscellaneous Methods
5132 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
5138 - (
void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
5163 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
5179 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
5195 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
5216 - (int)writeLog:(
AgoraLogLevel)level content:(NSString * _Nonnull)content NS_SWIFT_NAME(writeLog(_:content:));
5250 - (int)rate:(NSString * _Nonnull)callId
5251 rating:(NSInteger)rating
5252 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
5271 - (int)complain:(NSString * _Nonnull)callId
5272 description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
5284 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
5306 - (int)startLastmileProbeTest:(
AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
5323 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
5330 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
5331 args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
5338 #pragma mark MediaPlayer
5348 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)
delegate NS_SWIFT_NAME(createMediaPlayer(with:));
5367 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
5374 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(
int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
5376 #pragma mark rhythm player
5388 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(
AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
5408 #pragma mark Streaming Kit
5421 - (int)setDirectCdnStreamingAudioConfiguration:(
AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
5437 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
5452 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)
delegate
5453 publishUrl:(NSString * _Nonnull)publishUrl
5485 - (int)setAdvancedAudioOptions:(
AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
5496 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
5497 category:(NSString * _Nullable)category
5498 event:(NSString * _Nullable)
event
5499 label:(NSString * _Nullable)label
5500 value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
5517 - (int)setLogLevel:(
AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
5596 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
5622 - (NSInteger)takeSnapshotWithConfig:(NSInteger)uid config:(
AgoraSnapshotConfig* _Nonnull)config NS_SWIFT_NAME(takeSnapshotWithConfig(_:config:));
5624 - (int)enableContentInspect:(BOOL)enabled config:(
AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
5636 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
5647 - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:));
5654 - (int)enableVideoImageSource:(BOOL)enable
5692 #pragma mark Channel Transcoder
5700 #pragma mark Deprecated Methods
5705 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:))
__deprecated;
5717 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:))
__deprecated;
5730 - (void)audioVolumeIndicationBlock:(
void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg(
"use delegate instead.");
5740 - (void)firstLocalVideoFrameBlock:(
void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg(
"use delegate instead.");
5752 - (void)firstRemoteVideoDecodedBlock:(
void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg(
"use delegate instead.");
5763 - (void)firstRemoteVideoFrameBlock:(
void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg(
"use delegate instead.");
5774 - (void)userJoinedBlock:(
void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg(
"use delegate instead.");
5784 - (void)userOfflineBlock:(
void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg(
"use delegate instead.");
5795 - (void)userMuteAudioBlock:(
void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg(
"use delegate instead.");
5811 - (void)userMuteVideoBlock:(
void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg(
"use delegate instead.");
5820 - (void)localVideoStatBlock:(
void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg(
"use delegate instead.");
5831 - (void)remoteVideoStatBlock:(
void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg(
"use delegate instead.");
5836 - (void)cameraReadyBlock:(
void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg(
"use delegate instead.");
5841 - (void)connectionLostBlock:(
void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg(
"use delegate instead.");
5853 - (void)rejoinChannelSuccessBlock:(
void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg(
"use delegate instead.");
5861 - (void)rtcStatsBlock:(
void(^ _Nullable)(
AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg(
"use delegate instead.");
5872 - (void)audioQualityBlock:(
void(^ _Nullable)(NSUInteger uid,
AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg(
"use delegate instead.");
5882 - (void)networkQualityBlock:(
void(^ _Nullable)(NSUInteger uid,
AgoraNetworkQuality txQuality,
AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg(
"use delegate instead.");
5890 - (void)lastmileQualityBlock:(
void(^ _Nullable)(
AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg(
"use delegate instead.");
5895 - (void)mediaEngineEventBlock:(
void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg(
"use delegate instead.");
5906 - (int)pauseAudio __deprecated_msg(
"use disableAudio instead.");
5917 - (int)resumeAudio __deprecated_msg(
"use enableAudio instead.");
5925 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
5926 error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg(
"use sharedEngineWithAppId:delegate: instead.");
5933 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
5935 fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg(
"use setAudioProfile:scenario: instead.");
5956 - (int)setAudioProfile:(
AgoraAudioProfile)profile scenario:(
AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated_msg(
"use setAudioProfile: instead.");
5964 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg(
"use getDeviceInfo: instead.");
5986 - (int)setExternalAudioSource:(BOOL)enabled
5987 sampleRate:(NSInteger)sampleRate
5988 channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:)) __deprecated_msg(
"use createCustomAudioTrack:config: instead.");
6016 - (int)setExternalAudioSource:(BOOL)enabled
6017 sampleRate:(NSInteger)sampleRate
6018 channels:(NSInteger)channels
6019 localPlayback:(BOOL)localPlayback
6020 publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:localPlayback:publish:)) __deprecated_msg(
"use createCustomAudioTrack:config: instead.");
6022 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6032 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg(
"use setDeviceVolume:volume: instead.");
6034 - (int)startScreenCapture:(NSUInteger)windowId
6035 withCaptureFreq:(NSInteger)captureFreq
6036 bitRate:(NSInteger)bitRate
6037 andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg(
"use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
6045 + (NSString * _Nonnull)getMediaEngineVersion NS_SWIFT_NAME(getMediaEngineVersion())
__deprecated;
6066 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg(
"use setVideoEncoderConfiguration: instead.");
6076 - (void)leaveChannelBlock:(
void(^ _Nullable)(
AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg(
"use delegate instead.");
6081 - (int)setLocalRenderMode:(NSUInteger)uid
6094 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:))
__deprecated;;
6096 - (int)startMultipleVideoStreams:(
VIEW_CLASS * _Nonnull)view screen:(
VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:))
__deprecated;;
6103 - (void)addDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)
delegate NS_SWIFT_NAME(addDelegate(_:));
6110 - (void)removeDelegate:(id<AgoraRtcEngineDelegate> _Nonnull)
delegate NS_SWIFT_NAME(removeDelegate(_:));