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"
12 #import "AgoraBaseDelegate.h"
14 
19 @class AgoraRtcEngineKit;
20 
24 @protocol AgoraAudioFrameDelegate <NSObject>
25 @optional
26 
42 - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onRecordAudioFrame(_:channelId:));
43 
59 - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onPlaybackAudioFrame(_:channelId:));
60 
76 - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onMixedAudioFrame(_:channelId:));
77 
85 - (BOOL)onEarMonitoringAudioFrame:(AgoraAudioFrame* _Nonnull)frame NS_SWIFT_NAME(onEarMonitoringAudioFrame(_:));
86 
103 - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(onPlaybackAudioFrame(beforeMixing:channelId:uid:));
104 
121 
141 - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams());
142 
164 - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams());
165 
186 - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams());
187 
209 - (AgoraAudioParams* _Nonnull)getEarMonitoringAudioParams NS_SWIFT_NAME(getEarMonitoringAudioParams());
210 
211 @end
212 
213 @protocol AgoraAudioEncodedFrameDelegate <NSObject>
214 @required
215 
219 - (void)onRecordEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull)info NS_SWIFT_NAME(onRecordEncodedAudioFrame(_:info:));
220 
224 - (void)onPlaybackEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull)info NS_SWIFT_NAME(onPlaybackEncodedAudioFrame(_:info:));
225 
229 - (void)onMixedEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull)info NS_SWIFT_NAME(onMixedEncodedAudioFrame(_:info:));
230 @end
231 
232 @protocol AgoraEncodedVideoFrameDelegate <NSObject>
233 @optional
234 
239 - (BOOL)onEncodedVideoFrameReceived:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo NS_SWIFT_NAME(onEncodedVideoFrameReceived(_:length:info:));
240 @end
241 
242 @protocol AgoraVideoFrameDelegate <NSObject>
243 @optional
244 
261 - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onCapture(_:));
262 - (BOOL)onSecondaryCameraCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onSecondaryCameraCapture(_:));
263 
281 - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onPreEncode(_:));
282 
298 - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onScreenCapture(_:));
316 - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onPreEncodeScreenVideoFrame(_:));
317 - (BOOL)onSecondaryScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onSecondaryScreenCapture(_:));
318 - (BOOL)onTranscodedVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(onTranscodedVideoFrame(_:));
319 
337 - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onRenderVideoFrame(_:uid:channelId:));
338 
355 - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId NS_SWIFT_NAME(onMediaPlayerVideoFrame(_:mediaPlayerId:));
356 
361 - (BOOL)getRotationApplied NS_SWIFT_NAME(getRotationApplied());
362 
369 - (BOOL)getMirrorApplied NS_SWIFT_NAME(getMirrorApplied());
370 
376 
382 
401 
402 @end
403 
404 @protocol AgoraRtcMediaPlayerDelegate <NSObject>
405 
406 @optional
407 
408 
417 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
418  didChangedToState:(AgoraMediaPlayerState)state
419  error:(AgoraMediaPlayerError)error NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:error:));
420 
430 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
431  didChangedToPosition:(NSInteger)position NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:));
432 
440 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
441  didOccurEvent:(AgoraMediaPlayerEvent)eventCode
442  elapsedTime:(NSInteger)elapsedTime
443  message:(NSString *_Nullable)message NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didOccur:elapsedTime:message:));
444 
456 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
457  didReceiveData:(NSString *_Nullable)data
458  length:(NSInteger)length NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveData:length:));
459 
466 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
467  didPlayBufferUpdated:(NSInteger)playCachedBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPlayBufferUpdated:));
468 
475 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
476  didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPreloadEvent:));
477 
484 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playerSrcInfoDidChange:from:));
485 
491 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:infoUpdated:));
492 
498 
504 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
505  volumeIndicationDidReceive:(NSInteger)volume NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:volumeIndicationDidReceive:));
506 @end
507 
508 
510 @optional
521 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
522  didReceiveVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveVideoFrame:));
523 
534 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
535  didReceivePixelBuffer:(CVPixelBufferRef _Nonnull)pixelBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceivePixelBuffer:));
536 
542 
543 @end
544 
545 
547 
558 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
559  didReceiveAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveAudioFrame:));
560 
561 @end
562 
563 
569 
570  @optional
571 
578 - (void)onDirectCdnStreamingStateChanged:(AgoraDirectCdnStreamingState)state
579  error:(AgoraDirectCdnStreamingError)error
580  message:(NSString *_Nullable)message NS_SWIFT_NAME(onDirectCdnStreamingStateChanged(_:error:message:));
581 
582 - (void)onDirectCdnStreamingStats:(AgoraDirectCdnStreamingStats *_Nonnull)stats NS_SWIFT_NAME(onDirectCdnStreamingStats(_:));
583 
584 @end
585 
590 @protocol AgoraMediaMetadataDataSource <NSObject>
591 @required
592 
602 - (NSInteger)metadataMaxSize NS_SWIFT_NAME(metadataMaxSize());
603 
616 - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(readyToSendMetadata(atTimestamp:sourceType:));
617 
618 @end
619 
623 @protocol AgoraMediaMetadataDelegate <NSObject>
624 @required
625 
632 - (void)receiveMetadata:(NSData * _Nonnull)data fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(receiveMetadata(_:fromUser:atTimestamp:));
633 
634 @end
635 
642 @protocol AgoraRtcEngineDelegate <NSObject>
643 @optional
644 
645 #pragma mark Delegate Methods
646 
655 #pragma mark Core Delegate Methods
656 
669 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurWarning:(AgoraWarningCode)warningCode NS_SWIFT_NAME(rtcEngine(_:didOccurWarning:));
670 
679 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode NS_SWIFT_NAME(rtcEngine(_:didOccurError:));
680 
685 - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineMediaEngineDidLoaded(_:));
686 
691 - (void)rtcEngineMediaEngineDidStartCall:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineMediaEngineDidStartCall(_:));
692 
693 
707 - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineRequestToken(_:));
708 
722 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token NS_SWIFT_NAME(rtcEngine(_:tokenPrivilegeWillExpire:));
723 
729 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine licenseValidationFailure:(AgoraLicenseVerifyCode) error;
730 
737 - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineConnectionDidInterrupted(_:));
738 
739 
748 - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineConnectionDidLost(_:));
749 
750 
757 - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineConnectionDidBanned(_:));
758 
765 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type NS_SWIFT_NAME(rtcEngine(_:networkTypeChanged:));
766 
773 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type NS_SWIFT_NAME(rtcEngine(_:permissionError:));
774 
782 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine connectionChangedToState:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason NS_SWIFT_NAME(rtcEngine(_:connectionChangedTo:reason:));
783 
784 
793 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine wlAccMessage:(AgoraWlAccReason)reason action:(AgoraWlAccAction)action wlAccMsg:(NSString * _Nonnull)wlAccMsg NS_SWIFT_NAME(rtcEngine(_:wlAccMessage:action:wlAccMsg:));
794 
802 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine wlAccStats:(AgoraWlAccStats * _Nonnull)currentStats averageStats:(AgoraWlAccStats * _Nonnull)averageStats NS_SWIFT_NAME(rtcEngine(_:wlAccStats:averageStats:));
803 
812 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:reportRtcStats:));
813 
814 
822 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality NS_SWIFT_NAME(rtcEngine(_:lastmileQuality:));
823 
824 
832 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result NS_SWIFT_NAME(rtcEngine(_:lastmileProbeTest:));
833 
843 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didApiCallExecute:(NSInteger)error api:(NSString * _Nonnull)api result:(NSString * _Nonnull)result NS_SWIFT_NAME(rtcEngine(_:didApiCallExecute:api:result:)) __deprecated;
844 
845 
846 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
847 
860 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine device:(NSString * _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state NS_SWIFT_NAME(rtcEngine(_:device:type:stateChanged:));
861 
862 #endif
863 
868 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType NS_SWIFT_NAME(rtcEngine(_:didOccur:));
875 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine uploadLogResultRequestId:(NSString * _Nonnull)requestId success:(BOOL)success reason:(AgoraUploadErrorReason)reason NS_SWIFT_NAME(rtcEngine(_:uploadLogResultRequestId:success:reason:));
876 
877 #pragma mark Local User Core Delegate Methods
878 
892 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didJoinChannel:withUid:elapsed:));
893 
907 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRejoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didRejoinChannel:withUid:elapsed:));
908 
917 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged:(AgoraClientRole)oldRole newRole:(AgoraClientRole)newRole newRoleOptions:(AgoraClientRoleOptions * _Nullable)newRoleOptions NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:));
918 
926 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChangeFailed:(AgoraClientRoleChangeFailedReason)reason currentRole:(AgoraClientRole)currentRole NS_SWIFT_NAME(rtcEngine(_:didClientRoleChangeFailed:currentRole:));
927 
940 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:didLeaveChannelWith:));
941 
942 
952 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality NS_SWIFT_NAME(rtcEngine(_:networkQuality:txQuality:rxQuality:));
953 
954 
955 #pragma mark Local User Audio Delegate Methods
956 
967 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstLocalAudioFramePublished:));
968 
976 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:localAudioStats:));
977 
991 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStateChanged:(AgoraAudioLocalState)state error:(AgoraAudioLocalError)error NS_SWIFT_NAME(rtcEngine(_:localAudioStateChanged:error:));
992 
1000 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing NS_SWIFT_NAME(rtcEngine(_:didAudioRouteChanged:));
1001 
1008 - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineLocalAudioMixingDidFinish(_:));
1009 
1017 - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId NS_SWIFT_NAME(rtcEngineDidAudioEffectFinish(_:soundId:));
1018 
1019 
1020 #pragma mark Local User Video Delegate Methods
1021 
1032 - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineCameraDidReady(_:));
1033 
1034 #if TARGET_OS_IPHONE
1035 
1041 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect NS_SWIFT_NAME(rtcEngine(_:cameraFocusDidChangedTo:));
1042 
1048 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect NS_SWIFT_NAME(rtcEngine(_:cameraExposureDidChangedTo:));
1049 
1050 #endif
1051 
1058 - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineVideoDidStop(_:));
1059 
1065 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:firstLocalVideoFramePublishedWithElapsed:sourceType:));
1066 
1076 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFrameWithSize:(CGSize)size elapsed:(NSInteger)elapsed sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:firstLocalVideoFrameWith:elapsed:sourceType:));
1077 
1092 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStats:sourceType:));
1093 
1104 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalPublishFallbackToAudioOnly:(BOOL)isFallbackOrRecover NS_SWIFT_NAME(rtcEngine(_:didLocalPublishFallbackToAudioOnly:));
1105 
1113 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoRenderingTracingResultOfUid:(NSUInteger)uid currentEvent:(AgoraMediaTraceEvent)currentEvent tracingInfo:(AgoraVideoRenderingTracingInfo * _Nonnull)tracingInfo NS_SWIFT_NAME(rtcEngine(_:videoRenderingTracingResultOfUid:currentEvent:tracingInfo:));
1114 
1115 
1116 
1117 #pragma mark Remote User Core Delegate Methods
1118 
1143 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didJoinedOfUid:elapsed:));
1144 
1161 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason NS_SWIFT_NAME(rtcEngine(_:didOfflineOfUid:reason:));
1162 
1163 
1173 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data NS_SWIFT_NAME(rtcEngine(_:receiveStreamMessageFromUid:streamId:data:));
1174 
1187 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurStreamMessageErrorFromUid:(NSUInteger)uid streamId:(NSInteger)streamId error:(NSInteger)error missed:(NSInteger)missed cached:(NSInteger)cached NS_SWIFT_NAME(rtcEngine(_:didOccurStreamMessageErrorFromUid:streamId:error:missed:cached:));
1188 
1189 
1190 #pragma mark Remote User Audio Delegate Methods
1191 
1204 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid:elapsed:));
1205 
1206 
1225 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameDecodedOfUid:elapsed:)) __deprecated_msg("use rtcEngine:remoteAudioStateChangedOfUid:state:reason:elapsed: instead.");
1226 
1235 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:remoteAudioStats:));
1236 
1243 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didAudioMuted:byUid:));
1244 
1245 
1277 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume NS_SWIFT_NAME(rtcEngine(_:reportAudioVolumeIndicationOfSpeakers:totalVolume:));
1278 
1279 
1296 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid NS_SWIFT_NAME(rtcEngine(_:activeSpeaker:));
1297 
1304 - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineRemoteAudioMixingDidStart(_:));
1305 
1310 - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineRemoteAudioMixingDidFinish(_:));
1311 
1320 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioQualityOfUid:(NSUInteger)uid quality:(AgoraNetworkQuality)quality delay:(NSUInteger)delay lost:(NSUInteger)lost NS_SWIFT_NAME(rtcEngine(_:audioQualityOfUid:quality:delay:lost:));
1321 
1332 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate NS_SWIFT_NAME(rtcEngine(_:audioTransportStatsOfUid:delay:lost:rxKBitRate:));
1333 
1334 
1338 - (void)rtcEngineIntraRequestReceived:(AgoraRtcEngineKit *_Nonnull)engine NS_SWIFT_NAME(rtcEngineIntraRequestReceived(_:));
1339 
1344 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo NS_SWIFT_NAME(rtcEngine(_:uplinkNetworkInfoUpdate:));
1345 
1350 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine downlinkNetworkInfoUpdate:(AgoraDownlinkNetworkInfo *_Nonnull)networkInfo NS_SWIFT_NAME(rtcEngine(_:downlinkNetworkInfoUpdate:));
1351 
1362 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioSubscribeStateChange:(NSString * _Nonnull)channelId
1363  uid:(unsigned int)uid
1364  oldState:(AgoraStreamSubscribeState)oldState
1365  newState:(AgoraStreamSubscribeState)newState
1366 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didAudioSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:));
1367 
1376 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId
1377  oldState:(AgoraStreamPublishState)oldState
1378  newState:(AgoraStreamPublishState)newState
1379 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didAudioPublishStateChange:oldState:newState:elapseSinceLastState:));
1380 
1381 #pragma mark String UID
1382 
1389 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(rtcEngine(_:didLocalUserRegisteredWithUserId:userAccount:));
1390 
1400 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo NS_SWIFT_NAME(rtcEngine(_:didUserInfoUpdatedWithUserId:userInfo:));
1401 
1402 #pragma mark Rhythm Player Delegates Methods
1403 
1404 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRhythmPlayerStateChanged:(AgoraRhythmPlayerState)state
1405  errorCode:(AgoraRhythmPlayerError)errorCode NS_SWIFT_NAME(rtcEngine(_:didRhythmPlayerStateChanged:errorCode:));
1406 
1407 #pragma mark Remote User Video Delegates Methods
1408 
1429 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoDecodedOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteVideoDecodedOfUid:size:elapsed:)) __deprecated;
1430 
1438 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteVideoFrameOfUid:size:elapsed:));
1439 
1448 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfSourceType:(AgoraVideoSourceType)sourceType uid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation NS_SWIFT_NAME(rtcEngine(_:videoSizeChangedOf:uid:size:rotation:));
1449 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result NS_SWIFT_NAME(rtcEngine(_:contentInspectResult:));
1450 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode NS_SWIFT_NAME(rtcEngine(_:snapshotTaken:filePath:width:height:errCode:));
1463 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state error:(AgoraLocalVideoStreamError)error sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:error:sourceType:));
1464 
1476 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:remoteVideoStateChangedOfUid:state:reason:elapsed:));
1477 
1487 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:remoteAudioStateChangedOfUid:state:reason:elapsed:));
1488 
1497 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
1498 channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state
1499  error:(AgoraChannelMediaRelayError)error NS_SWIFT_NAME(rtcEngine(_:channelMediaRelayStateDidChange:error:));
1500 
1506 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
1507 didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event NS_SWIFT_NAME(rtcEngine(_:didReceive:));
1508 
1521 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didVideoMuted:byUid:)) __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead.");
1522 
1537 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didVideoEnabled:byUid:)) __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead.");
1538 
1549 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didLocalVideoEnabled:byUid:)) __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead.");
1550 
1559 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didProxyConnected:(NSString* _Nonnull)channel withUid:(NSUInteger)uid proxyType:(AgoraProxyType)proxyType localProxyIp:(NSString* _Nonnull)localProxyIp elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didProxyConnected:withUid:proxyType:localProxyIp:elapsed:));
1560 
1568 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteUserStateChangedOfUid:(NSUInteger)uid state:(NSUInteger)state NS_SWIFT_NAME(rtcEngine(_:remoteUserStateChangedOfUid:state:));
1569 
1581 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:remoteVideoStats:));
1582 
1583 
1596 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRemoteSubscribeFallbackToAudioOnly:(BOOL)isFallbackOrRecover byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didRemoteSubscribeFallbackToAudioOnly:byUid:));
1597 
1608 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate NS_SWIFT_NAME(rtcEngine(_:videoTransportStatsOfUid:delay:lost:rxKBitRate:));
1609 
1620 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoSubscribeStateChange:(NSString * _Nonnull)channelId
1621  uid:(unsigned int)uid
1622  oldState:(AgoraStreamSubscribeState)oldState
1623  newState:(AgoraStreamSubscribeState)newState
1624 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:));
1625 
1636 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId
1637  sourceType:(AgoraVideoSourceType)sourceType
1638  oldState:(AgoraStreamPublishState)oldState
1639  newState:(AgoraStreamPublishState)newState
1640 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoPublishStateChange:sourceType:oldState:newState:elapseSinceLastState:));
1641 
1642 #pragma mark Stream Publish Delegate Methods
1643 
1667 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingChangedToState:(NSString* _Nonnull)url state:(AgoraRtmpStreamingState)state errCode:(AgoraRtmpStreamingErrorCode)errCode NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingChangedToState:state:errCode:));
1668 
1677 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingEventWithUrl:eventCode:));
1678 
1679 
1686 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode NS_SWIFT_NAME(rtcEngine(_:streamPublishedWithUrl:errorCode:));
1687 
1693 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url NS_SWIFT_NAME(rtcEngine(_:streamUnpublishedWithUrl:));
1694 
1699 - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineTranscodingUpdated(_:));
1700 
1708 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status NS_SWIFT_NAME(rtcEngine(_:streamInjectedStatusOfUrl:uid:status:));
1709 
1715 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state
1716  reasonCode:(AgoraAudioMixingReasonCode)reasonCode NS_SWIFT_NAME(rtcEngine(_:audioMixingStateChanged:reasonCode:));
1717 
1724 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:));
1725 
1726 #if TARGET_OS_IPHONE
1727 #pragma mark Face Detection Delegate Methods
1728 
1755 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces NS_SWIFT_NAME(rtcEngine(_:facePositionDidChangeWidth:previewHeight:faces:));
1756 #endif
1757 
1758 #pragma mark - Unavailable Delegate Methods
1759 #if TARGET_OS_IPHONE
1760 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state error:(AgoraLocalVideoStreamError)error NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:error:)) __attribute__((availability(ios,deprecated=7_0,message="Use rtcEngine:localVideoStateChangedOfState:error:sourceType instead.")));
1761 
1762 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:localVideoStats:)) __attribute__((availability(ios,deprecated=7_0,message="Use rtcEngine:localVideoStats:sourceType instead.")));
1763 
1764 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId
1765  oldState:(AgoraStreamPublishState)oldState
1766  newState:(AgoraStreamPublishState)newState
1767 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoPublishStateChange:oldState:newState:elapseSinceLastState:)) __attribute__((availability(ios,deprecated=7_0,message="Use rtcEngine:didVideoPublishStateChange:sourceType:oldState:newState:elapseSinceLastState: instead.")));
1768 
1769 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstLocalVideoFramePublishedWithElapsed:)) __attribute__((availability(ios,deprecated=7_0,message="Use rtcEngine:firstLocalVideoFramePublishedWithElapsed:sourceType: instead.")));
1770 
1771 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfUid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation NS_SWIFT_NAME(rtcEngine(_:videoSizeChangedOfUid:size:rotation:)) __attribute__((availability(ios,deprecated=7_0,message="Use rtcEngine:videoSizeChangedOfSourceType:uid:size:rotation instead.")));
1772 #endif
1773 
1774 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
1775 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state error:(AgoraLocalVideoStreamError)error NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:error:)) __attribute__((availability(macos,deprecated=10_9,message="Use rtcEngine:localVideoStateChangedOfState:error:sourceType instead.")));
1776 
1777 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:localVideoStats:)) __attribute__((availability(macos,deprecated=10_9,message="Use rtcEngine:localVideoStats:sourceType instead.")));
1778 
1779 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId
1780  oldState:(AgoraStreamPublishState)oldState
1781  newState:(AgoraStreamPublishState)newState
1782 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoPublishStateChange:oldState:newState:elapseSinceLastState:)) __attribute__((availability(macos,deprecated=10_9,message="Use rtcEngine:didVideoPublishStateChange:sourceType:oldState:newState:elapseSinceLastState: instead.")));
1783 
1784 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstLocalVideoFramePublishedWithElapsed:)) __attribute__((availability(macos,deprecated=10_9,message="Use rtcEngine:firstLocalVideoFramePublishedWithElapsed:sourceType: instead.")));
1785 
1786 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfUid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation NS_SWIFT_NAME(rtcEngine(_:videoSizeChangedOfUid:size:rotation:)) __attribute__((availability(macos,deprecated=10_9,message="Use rtcEngine:videoSizeChangedOfSourceType:uid:size:rotation instead.")));
1787 #endif
1788 @end
1789 
1790 #pragma mark - AgoraRtcEngineKit
1791 
1802 __attribute__((visibility("default"))) @interface AgoraRtcEngineKit : NSObject
1803 
1804 #pragma mark Core Methods
1805 
1817 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate;
1818 
1881 - (int)joinChannelByToken:(NSString * _Nullable)token
1882  channelId:(NSString * _Nonnull)channelId
1883  info:(NSString * _Nullable)info
1884  uid:(NSUInteger)uid
1885  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:info:uid:joinSuccess:));
1886 
1947 - (int)joinChannelByToken:(NSString * _Nullable)token
1948  channelId:(NSString * _Nonnull)channelId
1949  uid:(NSUInteger)uid
1950  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
1951  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:uid:mediaOptions:joinSuccess:));
1952 
1953 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:));
1954 
1955 
1981 - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:));
1982 
2009 - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options
2010  leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:leaveChannelBlock:));
2011 
2029 - (int)setChannelProfile:(AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:));
2030 
2039 - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions NS_SWIFT_NAME(updateChannel(with:));
2040 
2056 - (int)setClientRole:(AgoraClientRole)role NS_SWIFT_NAME(setClientRole(_:));
2057 
2085 - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options NS_SWIFT_NAME(setClientRole(_:options:));
2086 
2103 - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:));
2104 
2111 
2132 - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startChannelMediaRelay(_:));
2133 
2150 - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(updateChannelMediaRelay(_:));
2151 
2163 - (int)stopChannelMediaRelay NS_SWIFT_NAME(stopChannelMediaRelay());
2164 
2171 
2178 
2193 - (int)enableWirelessAccelerate:(BOOL)enabled NS_SWIFT_NAME(enableWirelessAccelerate(_:));
2194 
2195 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2196 
2197 - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:));
2198 
2199 - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:));
2200 
2201 - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder());
2202 
2203 #endif
2204 
2220 
2235 
2246 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:)) __deprecated;
2247 
2262 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
2263  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(withAppId:delegate:));
2264 
2285 + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config
2286  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(with:delegate:));
2287 
2304 + (void)destroy NS_SWIFT_NAME(destroy());
2305 
2306 #pragma mark Core Audio
2307 
2326 - (int)enableAudio NS_SWIFT_NAME(enableAudio());
2327 
2339 - (int)disableAudio NS_SWIFT_NAME(disableAudio());
2340 
2363 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
2364 
2380 - (int)setAudioProfile:(AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
2381 
2382 - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
2383 
2405 - (int)enableAudioVolumeIndication:(NSInteger)interval
2406  smooth:(NSInteger)smooth
2407  reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
2408 
2409 
2410 #if TARGET_OS_IPHONE
2411 
2428 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
2429 
2439 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
2440 
2468 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
2469 #endif
2470 
2482 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
2483 
2495 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
2496 
2516 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
2517 
2526 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
2527 
2538 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
2539 
2553 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
2554 
2580 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
2581 
2596 - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(setDefaultMuteAllRemoteAudioStreams(_:)) __deprecated;
2597 
2598 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
2599 
2614 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
2615  extension:(NSString * __nonnull)extension
2616  enabled:(BOOL)enabled
2617  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
2618 
2633 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
2634  extension:(NSString * __nonnull)extension
2635  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
2636  enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
2637 
2649 - (int)setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider
2650  key:(NSString * __nonnull)key
2651  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
2652 
2653 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2654  extension:(NSString * __nonnull)extension
2655  key:(NSString * __nonnull)key
2656  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
2657 
2671 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2672  extension:(NSString * __nonnull)extension
2673  key:(NSString * __nonnull)key
2674  value:(NSString * __nonnull)value
2675  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
2689 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2690  extension:(NSString * __nonnull)extension
2691  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
2692  key:(NSString * __nonnull)key
2693  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
2694 
2705 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
2706  extension:(NSString * __nonnull)extension
2707  key:(NSString * __nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
2708 
2720 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
2721  extension:(NSString * __nonnull)extension
2722  key:(NSString * __nonnull)key
2723  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
2724 
2736 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
2737  extension:(NSString * __nonnull)extension
2738  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
2739  key:(NSString * __nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
2740 
2741 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2742 
2763 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
2764 
2777 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
2778 
2785 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
2786 
2787 #endif
2788 
2789 #pragma mark Core Video
2790 
2811 - (int)enableVideo NS_SWIFT_NAME(enableVideo());
2812 
2822 - (int)disableVideo NS_SWIFT_NAME(disableVideo());
2823 
2849 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
2850 
2851 
2868 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
2869 
2870 
2890 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
2891 
2895 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:)) __deprecated;
2896 
2900 - (int)setLocalRenderMode:(NSUInteger)uid
2901  mode:(AgoraVideoRenderMode)mode NS_SWIFT_NAME(setLocalRenderMode(_:mode:)) __deprecated;
2902 
2921 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
2922  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
2923 
2936 - (int)startPreview NS_SWIFT_NAME(startPreview());
2937 
2945 - (int)stopPreview NS_SWIFT_NAME(stopPreview());
2946 
2947 
2958 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
2959 
2969 - (int)setRemoteRenderMode:(NSUInteger)uid
2970  mode:(AgoraVideoRenderMode)mode
2971  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
2972 
2973 
2986 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
2987 
3013 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
3014 
3029 - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(setDefaultMuteAllRemoteVideoStreams(_:)) __deprecated;
3030 
3046 - (int)muteRemoteVideoStream:(NSUInteger)uid
3047  mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
3048 
3062 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
3087 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
3112 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
3137 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
3138 
3186 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:));
3187 
3188 #pragma mark Audio Effect
3189 
3204 - (int)setLocalVoicePitch:(double)pitch NS_SWIFT_NAME(setLocalVoicePitch(_:));
3205 
3213 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain NS_SWIFT_NAME(setLocalVoiceEqualizationOf(_:withGain:));
3214 
3222 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value NS_SWIFT_NAME(setLocalVoiceReverbOf(_:withValue:));
3223 
3224 #pragma mark Audio Effect Playback
3225 
3254 - (int)preloadEffect:(int)soundId
3255  filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(preloadEffect(_:filePath:));
3256 
3282 - (int)preloadEffect:(int)soundId
3283  filePath:(NSString* _Nonnull)filePath
3284  startPos:(int)startPos NS_SWIFT_NAME(preloadEffect(_:filePath:startPos:));
3285 
3309 - (int)playEffect:(int)soundId
3310  filePath:(NSString* _Nonnull)filePath
3311  loopCount:(NSInteger)loopCount
3312  pitch:(double)pitch
3313  pan:(double)pan
3314  gain:(NSInteger)gain NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:));
3315 
3340 - (int)playEffect:(int)soundId
3341  filePath:(NSString* _Nonnull)filePath
3342  loopCount:(NSInteger)loopCount
3343  pitch:(double)pitch
3344  pan:(double)pan
3345  gain:(NSInteger)gain
3346  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:startPos:));
3347 
3379 - (int)playEffect:(int)soundId
3380  filePath:(NSString* _Nonnull)filePath
3381  loopCount:(NSInteger)loopCount
3382  pitch:(double)pitch
3383  pan:(double)pan
3384  gain:(NSInteger)gain
3385  publish:(BOOL)publish NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:));
3386 
3419 - (int)playEffect:(int)soundId
3420  filePath:(NSString* _Nonnull)filePath
3421  loopCount:(NSInteger)loopCount
3422  pitch:(double)pitch
3423  pan:(double)pan
3424  gain:(NSInteger)gain
3425  publish:(BOOL)publish
3426  startPos:(int)startPos NS_SWIFT_NAME(playEffect(_:filePath:loopCount:pitch:pan:gain:publish:startPos:));
3427 
3458 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
3459  pitch:(double)pitch
3460  pan:(double)pan
3461  gain:(NSInteger)gain
3462  publish:(BOOL)publish NS_SWIFT_NAME(playAllEffects(withLoopCount:pitch:pan:gain:publish:));
3463 
3471 - (int)getEffectsVolume NS_SWIFT_NAME(getEffectsVolume());
3472 
3482 - (int)setEffectsVolume:(NSInteger)volume NS_SWIFT_NAME(setEffectsVolume(_:));
3483 
3494 - (int)setVolumeOfEffect:(int)soundId
3495  withVolume:(int)volume NS_SWIFT_NAME(setVolumeOfEffect(_:withVolume:));
3496 
3506 - (int)getVolumeOfEffect:(int)soundId NS_SWIFT_NAME(getVolumeOfEffect(_:));
3507 
3515 - (int)pauseEffect:(int)soundId NS_SWIFT_NAME(pauseEffect(_:));
3516 
3522 - (int)pauseAllEffects NS_SWIFT_NAME(pauseAllEffects());
3523 
3531 - (int)resumeEffect:(int)soundId NS_SWIFT_NAME(resumeEffect(_:));
3532 
3538 - (int)resumeAllEffects NS_SWIFT_NAME(resumeAllEffects());
3539 
3547 - (int)stopEffect:(int)soundId NS_SWIFT_NAME(stopEffect(_:));
3548 
3555 - (int)stopAllEffects NS_SWIFT_NAME(stopAllEffects());
3556 
3573 - (int)getEffectDuration:(NSString* _Nonnull)filePath NS_SWIFT_NAME(getEffectDuration(_:));
3588 - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos NS_SWIFT_NAME(setEffectPosition(_:pos:));
3599 - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:));
3600 
3601 
3602 
3603 
3611 - (int)unloadEffect:(int)soundId NS_SWIFT_NAME(unloadEffect(_:));
3612 
3619 - (int)unloadAllEffects NS_SWIFT_NAME(unloadAllEffects());
3620 
3621 #pragma mark beautifier effect
3622 
3659 - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset NS_SWIFT_NAME(setVoiceBeautifierPreset(_:));
3660 
3698 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset NS_SWIFT_NAME(setAudioEffectPreset(_:));
3699 
3737 - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset NS_SWIFT_NAME(setVoiceConversionPreset(_:));
3738 
3814 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setAudioEffectParameters(_:param1:param2:));
3815 
3858 - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceBeautifierParameters(_:param1:param2:));
3859 
3872 - (int)setVoiceConversionParameters:(AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(int)param2 NS_SWIFT_NAME(setVoiceConversionParameters(_:param1:param2:));
3884 - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset NS_SWIFT_NAME(setHeadphoneEQPreset(_:));
3894 - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain NS_SWIFT_NAME(setHeadphoneEQParameters(_:highGain:));
3895 
3896 #pragma mark Sound Position Indication
3897 
3916 - (int)enableSoundPositionIndication:(BOOL)enabled NS_SWIFT_NAME(enableSoundPositionIndication(_:));
3917 
3941 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain NS_SWIFT_NAME(setRemoteVoicePosition(_:pan:gain:));
3942 
3953 - (int)enableSpatialAudio:(BOOL)enabled NS_SWIFT_NAME(enableSpatialAudio(_:));
3954 
3970 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
3971  params:(AgoraSpatialAudioParams* _Nonnull)params NS_SWIFT_NAME(setRemoteUserSpatialAudioParams(_:params:));
3972 
3973 #pragma mark Audio Mixing
3974 
4011 - (int)startAudioMixing:(NSString * _Nonnull)filePath
4012  loopback:(BOOL)loopback
4013  cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
4014 
4047 - (int)startAudioMixing:(NSString * _Nonnull)filePath
4048  loopback:(BOOL)loopback
4049  cycle:(NSInteger)cycle
4050  startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
4051 
4061 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
4062 
4071 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
4072 
4082 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
4083 
4092 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
4101 - (int)getAudioTrackCount NS_SWIFT_NAME(getAudioTrackCount());
4102 
4113 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
4114 
4115 
4124 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
4125 
4134 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
4135 
4144 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
4145 
4154 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
4155 
4156 
4166 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
4167 
4176 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
4177 
4188 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
4189 
4200 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
4201 
4211 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
4212 
4213 #pragma mark Audio Recording
4214 
4235 - (int)startAudioRecording:(NSString * _Nonnull)filePath
4236  quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
4237 
4261 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config NS_SWIFT_NAME(startAudioRecording(withConfig:));
4262 
4263 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:));
4271 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
4272 
4273 #pragma mark Echo Test
4274 
4292 - (int)startEchoTest:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock NS_SWIFT_NAME(startEchoTest(_:));
4293 
4310 - (int)startEchoTestWithInterval:(NSInteger)interval
4311  successBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock NS_SWIFT_NAME(startEchoTest(withInterval:successBlock:));
4312 
4320 - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config NS_SWIFT_NAME(startEchoTest(withConfig:));
4321 
4329 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
4330 
4331 
4332 #pragma mark Miscellaneous Audio Control
4333 
4349 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
4350 
4362 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
4363 
4375 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
4376 
4377 #if TARGET_OS_IPHONE
4378 
4387 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
4388 
4389 #endif
4390 
4391 #pragma mark Dual Video Mode
4392 
4408 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:));
4409 
4426 - (int)enableDualStreamMode:(BOOL)enabled
4427  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:));
4428 
4438 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode NS_SWIFT_NAME(setDualStreamMode(_:));
4439 
4456 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode
4457  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(setDualStreamMode(_:streamConfig:));
4477 - (int)setRemoteVideoStream:(NSUInteger)uid
4478  type:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteVideoStream(_:type:));
4479 
4490 - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid
4491  options:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideoSubscriptionOptions(_:options:));
4502 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
4503 
4504 #pragma mark Subscribe Blocklist / Allowlist
4505 
4519 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
4520 
4536 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
4537 
4551 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
4552 
4568 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
4569 
4570 #pragma mark Stream Fallback
4571 
4594 - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setLocalPublishFallbackOption(_:));
4595 
4607 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
4608 
4609 #pragma mark Video Quality Control
4610 
4626 - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality NS_SWIFT_NAME(setVideoQualityParameters(_:));
4627 
4628 #pragma mark External Media Source
4629 
4654 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
4655 
4675 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
4676  sourceType:(AgoraExternalVideoSourceType)sourceType
4677  encodedVideoTrackOption:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
4678 
4692 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
4693  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:));
4694 
4712 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:));
4713 
4714 
4722 - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack());
4723 
4731 - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
4732 
4741 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
4742 
4751 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
4752 
4753 #pragma mark External Audio Data
4754 
4767 - (void)enableExternalAudioSink:(BOOL)enabled
4768  sampleRate:(NSUInteger)sampleRate
4769  channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
4770 
4787 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
4788  lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
4789 
4808 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
4809 
4810 
4829 - (int)setExternalAudioSource:(BOOL)enabled
4830  sampleRate:(NSInteger)sampleRate
4831  channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:));
4832 
4833 - (int)enableEchoCancellationExternal:(BOOL)enabled
4834  audioSourceDelay:(NSInteger)audioSourceDelay NS_SWIFT_NAME(enableEchoCancellationExternal(_:audioSourceDelay:));
4854 - (int)setExternalAudioSource:(BOOL)enabled
4855  sampleRate:(NSInteger)sampleRate
4856  channels:(NSInteger)channels
4857  sourceNumber:(NSInteger)sourceNumber
4858  localPlayback:(BOOL)localPlayback
4859  publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:sourceNumber:localPlayback:publish:));
4860 
4875 - (int)enableCustomAudioLocalPlayback:(NSInteger)sourceId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
4876 
4886 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
4887  samples:(NSInteger)samples
4888  sourceId:(NSInteger)sourceId
4889  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sourceId:timestamp:));
4890 
4904 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
4905  samples:(NSInteger)samples
4906  sampleRate:(NSInteger)sampleRate
4907  channels:(NSInteger)channels
4908  sourceId:(NSInteger)sourceId
4909  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:sourceId:timestamp:));
4918 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:));
4919 
4920 - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(pushCaptureAudioFrame(_:));
4921 
4922 - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(pushReverseAudioFrame(_:));
4930 - (int)setDirectExternalAudioSource:(BOOL)enabled NS_SWIFT_NAME(setDirectExternalAudioSource(_:));
4931 
4940 - (int)setDirectExternalAudioSource:(BOOL)enabled localPlayback:(BOOL)localPlayback NS_SWIFT_NAME(setDirectExternalAudioSource(_:localPlayback:));
4941 
4949 - (int)pushDirectAudioFrameNSData:(NSData* _Nonnull)data NS_SWIFT_NAME(pushDirectAudioFrameNSData(_:));
4950 
4963 - (int)pushDirectAudioFrameRawData:(void* _Nonnull)data
4964  samples:(NSInteger)samples
4965  sampleRate:(NSInteger)sampleRate
4966  channels:(NSInteger)channels NS_SWIFT_NAME(pushDirectAudioFrameRawData(_:samples:sampleRate:channels:));
4967 
4978 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:));
4979 
5003 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5004  channel:(NSInteger)channel
5006  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5031 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5032  channel:(NSInteger)channel
5034  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5035 
5053 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5054  channel:(NSInteger)channel
5055  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
5056 
5081 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5082  channel:(NSInteger)channel
5084  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5085 
5086 
5100 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
5101  channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
5102 /*
5103  * Adjust the custom audio publish volume by source id.
5104  * @param sourceId custom audio source id.
5105  * @param volume The volume, range is [0,100]:
5106  * 0: mute, 100: The original volume
5107  * @return
5108  * - 0: Success.
5109  * - < 0: Failure.
5110  */
5111 - (int)adjustCustomAudioPublishVolume:(NSInteger)sourceId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
5112 
5113 /*
5114  * Adjust the custom audio playout volume by source id.
5115  * @param sourceId custom audio source id.
5116  * @param volume The volume, range is [0,100]:
5117  * 0: mute, 100: The original volume
5118  * @return
5119  * - 0: Success.
5120  * - < 0: Failure.
5121  */
5122 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)sourceId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
5123 
5124 /*
5125  * Get monotonic time in ms which can be used by capture time,
5126  * typical scenario is as follows:
5127  *
5128  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5129  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
5130  * | int64_t custom_capture_time_base; |
5131  * | |
5132  * | int64_t agora_monotonic_time = getAgoraCurrentMonotonicTimeInMs(); |
5133  * | |
5134  * | // offset is fixed once calculated in the begining. |
5135  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
5136  * | |
5137  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
5138  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
5139  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
5140  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
5141  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5142  *
5143  * @return
5144  * - >= 0: Success.
5145  * - < 0: Failure.
5146  */
5147 - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs());
5148 
5149 #pragma mark Audio spectrum monitor
5150 
5161 - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
5162 
5171 
5184 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
5185 
5194 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
5195 
5196 #pragma mark Built-in Encryption
5197 
5227 - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
5228 
5229 
5230 #pragma mark Data Stream
5231 
5255 - (int)createDataStream:(NSInteger * _Nonnull)streamId
5256  reliable:(BOOL)reliable
5257  ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
5267 - (int)createDataStream:(NSInteger * _Nonnull)streamId
5268  config:(AgoraDataStreamConfig * _Nonnull)config NS_SWIFT_NAME(createDataStream(_:config:));
5292 - (int)sendStreamMessage:(NSInteger)streamId
5293  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
5294 
5295 #pragma mark Stream Publish
5296 
5314 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
5315 
5328 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
5329 
5346 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
5347 
5365 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
5366 
5367 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
5368 #pragma mark Screen Capture
5369 
5393 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
5394  regionRect:(CGRect)regionRect
5395  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
5396 
5416 - (int)startScreenCaptureByWindowId:(UInt32)windowId
5417  regionRect:(CGRect)regionRect
5418  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
5419 
5429 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
5430 
5440 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
5441 
5451 - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
5452 
5483 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
5484 
5485 #endif
5486 
5494 - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture());
5495 
5496 #if TARGET_OS_IPHONE
5497 
5516 - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:));
5517 
5527 - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(updateScreenCapture(_:));
5528 
5529 #pragma mark Camera Control
5530 
5543 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
5544 
5551 - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor());
5552 
5559 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
5560 
5568 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
5569 
5577 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
5578 
5586 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
5587 
5595 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
5596 
5617 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
5618 
5635 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
5636 
5644 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
5645 
5657 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
5658 
5666 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
5667 
5679 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
5680 
5689 - (int)switchCamera NS_SWIFT_NAME(switchCamera());
5690 
5700 - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:));
5701 
5710 
5718 #endif
5719 
5731 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:));
5732 
5733 
5734 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
5735 #pragma mark macOS Device
5736 
5748 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
5749 
5762 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
5763 
5771 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
5772 
5783 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
5784 
5791 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
5792 
5801 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
5802 
5812 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
5813 
5824 - (int)startRecordingDeviceTest:(int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
5825 
5835 - (int)stopRecordingDeviceTest NS_SWIFT_NAME(stopRecordingDeviceTest());
5836 
5851 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
5852 
5862 - (int)stopPlaybackDeviceTest NS_SWIFT_NAME(stopPlaybackDeviceTest());
5863 
5877 - (int)startAudioDeviceLoopbackTest:(int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
5878 
5886 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
5887 
5899 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
5900 
5912 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
5913 
5922 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
5923 
5930 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
5931 #endif
5932 
5933 #pragma mark Face Detection
5934 
5935 #if TARGET_OS_IPHONE
5936 
5960 - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:));
5961 #endif
5962 
5963 #pragma mark Watermark
5964 
5976 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg("use addVideoWatermark:url options instead.");
5977 
6003 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:));
6004 
6009 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
6010 
6011 #pragma mark String UID
6012 
6045 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
6046 
6081 - (int)joinChannelByToken:(NSString * _Nullable)token
6082  channelId:(NSString * _Nonnull)channelId
6083  userAccount:(NSString * _Nonnull)userAccount
6084  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
6085 
6121 - (int)joinChannelByToken:(NSString * _Nullable)token
6122  channelId:(NSString * _Nonnull)channelId
6123  userAccount:(NSString * _Nonnull)userAccount
6124  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
6125  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
6126 
6137 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
6138 
6149 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
6150 
6151 #pragma mark Custom Audio PCM Frame
6152 
6159 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
6160 
6161 #pragma mark Custom Video Frame
6162 
6174 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
6175 
6176 #pragma mark Encoded Video Frame
6177 
6189 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
6190 
6191 #pragma mark Custom Media Metadata
6192 
6215 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
6216 
6232 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
6233 
6234 #pragma mark Miscellaneous Methods
6235 
6246 + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion());
6247 
6253 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
6254 
6255 
6260 - (void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
6261 
6262 
6286 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
6287 
6302 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
6303 
6318 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
6319 
6327 - (NSString * _Nullable)uploadLogFile NS_SWIFT_NAME(uploadLogFile());
6328 
6339 - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId());
6340 
6361 - (int)rate:(NSString * _Nonnull)callId
6362  rating:(NSInteger)rating
6363 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
6364 
6382 - (int)complain:(NSString * _Nonnull)callId
6383  description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
6384 
6385 
6396 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
6397 
6398 
6419 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
6420 
6428 - (int)stopLastmileProbeTest NS_SWIFT_NAME(stopLastmileProbeTest());
6429 
6436 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
6437 
6443 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
6444  args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
6445 
6446 
6450 - (NSInteger)getNtpTimeInMs;
6451 
6452 #pragma mark MediaPlayer
6453 
6462 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:));
6467 - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager NS_SWIFT_NAME(createMediaPlayerCacheManager());
6468 
6480 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
6481 
6487 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
6488 
6489 #pragma mark rhythm player
6490 
6501 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
6502 
6509 - (int)stopRhythmPlayer NS_SWIFT_NAME(stopRhythmPlayer());
6510 
6519 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:));
6520 
6521 #pragma mark Streaming Kit
6522 
6535 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
6536 
6551 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
6552 
6564 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
6565  publishUrl:(NSString * _Nonnull)publishUrl
6566  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(startDirectCdnStreaming(_:publishUrl:mediaOptions:));
6567 
6577 - (int)stopDirectCdnStreaming NS_SWIFT_NAME(stopDirectCdnStreaming());
6578 
6588 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(updateDirectCdnStreamingMediaOptions(_:));
6589 
6590 
6591 
6592 #pragma mark Deprecated Methods
6593 
6610 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg("use delegate instead.");
6611 
6620 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
6621 
6632 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg("use delegate instead.");
6633 
6643 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
6644 
6654 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg("use delegate instead.");
6655 
6664 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg("use delegate instead.");
6665 
6675 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg("use delegate instead.");
6676 
6691 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg("use delegate instead.");
6692 
6700 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
6701 
6711 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
6712 
6716 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg("use delegate instead.");
6717 
6721 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg("use delegate instead.");
6722 
6733 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg("use delegate instead.");
6734 
6741 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg("use delegate instead.");
6742 
6751 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg("use delegate instead.");
6752 
6762 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6763 
6772 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6773 
6780 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6781 
6785 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg("use delegate instead.");
6786 
6796 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
6797 
6807 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
6808 
6815 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
6816  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
6817 
6823 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
6824  stereo:(BOOL)stereo
6825  fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg("use setAudioProfile:scenario: instead.");
6826 
6844 - (int)setVideoProfile:(AgoraVideoProfile)profile
6845  swapWidthAndHeight:(BOOL)swapWidthAndHeight NS_SWIFT_NAME(setVideoProfile(_:swapWidthAndHeight:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6846 
6865 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6866 
6885 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated;
6886 
6894 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg("use getDeviceInfo: instead.");
6895 
6896 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6897 
6906 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg("use setDeviceVolume:volume: instead.");
6907 
6908 - (int)startScreenCapture:(NSUInteger)windowId
6909  withCaptureFreq:(NSInteger)captureFreq
6910  bitRate:(NSInteger)bitRate
6911  andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
6912 #endif
6913 
6919 + (NSString * _Nonnull)getMediaEngineVersion __deprecated NS_SWIFT_NAME(getMediaEngineVersion());
6920 
6921 - (int)setAudioOptionParams:(NSString * _Nonnull)params NS_SWIFT_NAME(setAudioOptionParams(_:));
6922 - (NSString * _Nullable)getAudioOptionParams NS_SWIFT_NAME(getAudioOptionParams());
6923 - (int)setAudioSessionParams:(NSString * _Nonnull)params NS_SWIFT_NAME(setAudioSessionParams(_:));
6924 - (NSString * _Nullable)getAudioSessionParams NS_SWIFT_NAME(getAudioSessionParams());
6925 
6933 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
6934 
6935 - (BOOL)isSecure NS_SWIFT_NAME(isSecure());
6936 
6937 
6947 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
6948  category:(NSString * _Nullable)category
6949  event:(NSString * _Nullable)event
6950  label:(NSString * _Nullable)label
6951  value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
6967 - (int)setLogLevel:(AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
6968 
6984 - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode NS_SWIFT_NAME(setEncryptionMode(_:)) __deprecated_msg("use enableEncryption: instead.");
6985 
7000 - (int)setEncryptionSecret:(NSString * _Nullable)secret NS_SWIFT_NAME(setEncryptionSecret(_:)) __deprecated_msg("use enableEncryption: instead.");
7001 
7009 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
7010 
7049 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
7050 
7051 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
7052 
7053 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
7054 
7065 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
7066 
7073 - (int)enableVideoImageSource:(BOOL)enable
7074  options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:));
7087 - (int)getNetworkType NS_SWIFT_NAME(getNetworkType());
7088 @end
7089 
7090 @class AgoraMediaRecorder;
7091 @protocol AgoraMediaRecorderDelegate <NSObject>
7092 #pragma mark Media Recorder Delegate Methods
7093 
7105 - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder stateDidChanged:(AgoraMediaRecorderState)state error:(AgoraMediaRecorderErrorCode)error NS_SWIFT_NAME(mediaRecorder(_:stateDidChanged:error:));
7106 
7113 - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder informationDidUpdated:(AgoraMediaRecorderInfo* _Nonnull)info NS_SWIFT_NAME(mediaRecorder(_:informationDidUpdated:));
7114 
7115 @end
7116 
7117 __attribute__((visibility("default"))) @interface AgoraMediaRecorder : NSObject
7118 
7126 + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine NS_SWIFT_NAME(sharedMediaRecorder(withRtcEngine:));
7127 
7128 - (int)setMediaRecorderDelegate:(AgoraRtcConnection * _Nonnull)connection
7129  delegate:(id<AgoraMediaRecorderDelegate> _Nullable)delegate NS_SWIFT_NAME(setMediaRecorderDelegate(_:delegate:));
7133 + (void)destroy NS_SWIFT_NAME(destroy());
7134 
7144 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
7145 
7152 - (int)startRecording:(AgoraRtcConnection * _Nonnull)connection
7153  config:(AgoraMediaRecorderConfiguration* _Nonnull)config NS_SWIFT_NAME(startRecording(_:config:));
7154 
7155 
7161 - (int)stopRecording:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopRecording(_:));
7162 
7163 @end
7164 
7165 
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Definition: AgoraRtcEngineKit.h:1817
AgoraLocalVideoStreamError
AgoraLocalVideoStreamError
Definition: AgoraEnumerates.h:875
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:1803
AgoraRtcEngineDelegate2.h
AgoraRtcEngineDelegate-p
Definition: AgoraRtcEngineKit.h:642
AgoraMediaPlayerState
AgoraMediaPlayerState
Player state.
Definition: AgoraEnumerates.h:2534
-[AgoraRtcMediaPlayerVideoFrameDelegate-p AgoraRtcMediaPlayerGetVideoPixelFormat]
AgoraVideoFormat AgoraRtcMediaPlayerGetVideoPixelFormat()
AgoraFacePositionInfo
Definition: AgoraObjects.h:2813
-[AgoraRtcEngineKit getNetworkType]
int getNetworkType()
-[AgoraRtcEngineKit enableInstantMediaRendering]
int enableInstantMediaRendering()
Enable instant media rendering.
AgoraConnectionChangedReason
AgoraConnectionChangedReason
Definition: AgoraEnumerates.h:1897
-[AgoraRtcEngineKit cameraMaxZoomFactor]
CGFloat cameraMaxZoomFactor()
-[AgoraRtcEngineKit stopChannelMediaRelay]
int stopChannelMediaRelay()
AgoraDirectCdnStreamingStats
Definition: AgoraObjects.h:135
-[AgoraRtcEngineKit getConnectionState]
AgoraConnectionState getConnectionState()
AgoraEncodedVideoTrackOptions
Definition: AgoraObjects.h:209
AgoraVideoRenderingTracingInfo
Definition: AgoraObjects.h:3033
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:236
AgoraWlAccAction
AgoraWlAccAction
Definition: AgoraEnumerates.h:2988
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1232
AgoraRtmpStreamingErrorCode
AgoraRtmpStreamingErrorCode
Definition: AgoraEnumerates.h:2163
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
Definition: AgoraEnumerates.h:2751
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:2795
AgoraBeautyOptions
Definition: AgoraObjects.h:2150
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:2677
AgoraMediaRecorder
Definition: AgoraRtcEngineKit.h:7118
-[AgoraAudioFrameDelegate-p getObservedAudioFramePosition]
AgoraAudioFramePosition getObservedAudioFramePosition()
AgoraPermissionType
AgoraPermissionType
Definition: AgoraEnumerates.h:2706
AgoraMediaPlayerError
AgoraMediaPlayerError
Definition: AgoraEnumerates.h:2603
AgoraRtcMediaPlayerProtocol.h
AgoraOutputVideoFrame
Definition: AgoraObjects.h:1923
AgoraLicenseVerifyCode
AgoraLicenseVerifyCode
Definition: AgoraEnumerates.h:1063
-[AgoraMediaMetadataDataSource-p metadataMaxSize]
NSInteger metadataMaxSize()
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:511
AgoraUserOfflineReason
AgoraUserOfflineReason
Definition: AgoraEnumerates.h:593
AgoraScreenCaptureParameters2
Definition: AgoraObjects.h:2505
AgoraAudioRemoteReason
AgoraAudioRemoteReason
Definition: AgoraEnumerates.h:1125
AgoraHeadphoneEQPreset
AgoraHeadphoneEQPreset
Definition: AgoraEnumerates.h:1630
-[AgoraVideoFrameDelegate-p getRotationApplied]
BOOL getRotationApplied()
AgoraWlAccReason
AgoraWlAccReason
Definition: AgoraEnumerates.h:2974
AgoraMediaPlayerSrcInfo
The information of the media stream object.
Definition: AgoraObjects.h:119
-[AgoraRtcEngineKit startMediaRenderingTracing]
int startMediaRenderingTracing()
Start tracing media rendering events.
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
AgoraDirectCdnStreamingEventDelegate-p
Definition: AgoraRtcEngineKit.h:568
AgoraMediaTraceEvent
AgoraMediaTraceEvent
Definition: AgoraEnumerates.h:3062
AgoraRhythmPlayerState
AgoraRhythmPlayerState
Definition: AgoraEnumerates.h:2884
AgoraChannelMediaRelayEvent
AgoraChannelMediaRelayEvent
Definition: AgoraEnumerates.h:2265
AgoraMediaMetadataDataSource-p
Definition: AgoraRtcEngineKit.h:590
AgoraVideoFrame
Definition: AgoraObjects.h:1576
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:2564
AgoraRtmpStreamingEvent
AgoraRtmpStreamingEvent
Definition: AgoraEnumerates.h:2206
AgoraClientRoleChangeFailedReason
AgoraClientRoleChangeFailedReason
Definition: AgoraEnumerates.h:1994
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
Definition: AgoraEnumerates.h:1595
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2326
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1304
AgoraVideoFrameProcessMode
AgoraVideoFrameProcessMode
Definition: AgoraEnumerates.h:1709
AgoraMediaRecorderInfo
Definition: AgoraObjects.h:2931
+[AgoraRtcEngineKit destroy]
void destroy()
AgoraVideoRemoteReason
AgoraVideoRemoteReason
Definition: AgoraEnumerates.h:949
AgoraAudioLocalState
AgoraAudioLocalState
Definition: AgoraEnumerates.h:1004
AgoraSegmentationProperty
Definition: AgoraObjects.h:2269
AgoraRtcRemoteVideoStats
Definition: AgoraObjects.h:673
AgoraContentInspectConfig
Definition: AgoraObjects.h:2639
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:2622
AgoraAudioRemoteState
AgoraAudioRemoteState
Definition: AgoraEnumerates.h:1093
AgoraChannelMediaRelayState
AgoraChannelMediaRelayState
Definition: AgoraEnumerates.h:2248
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:162
AgoraAudioProfile
AgoraAudioProfile
Definition: AgoraEnumerates.h:1193
AgoraVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:242
AgoraRtcMediaPlayerProtocol-p
Definition: AgoraRtcMediaPlayerProtocol.h:23
AgoraVideoDenoiserOptions
Definition: AgoraObjects.h:2193
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:497
AgoraVideoFramePosition
AgoraVideoFramePosition
Definition: AgoraEnumerates.h:2959
AgoraWlAccStats
Definition: AgoraObjects.h:2916
AgoraVideoLocalState
AgoraVideoLocalState
Definition: AgoraEnumerates.h:855
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
WatermarkOptions
Definition: AgoraObjects.h:1213
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2448
-[AgoraRtcEngineKit createMediaPlayerCacheManager]
id< AgoraRtcMediaPlayerCacheManagerProtocol > _Nullable createMediaPlayerCacheManager()
-[AgoraRtcEngineKit stopScreenCapture]
int stopScreenCapture()
-[AgoraRtcEngineKit getCurrentMonotonicTimeInMs]
int64_t getCurrentMonotonicTimeInMs()
AgoraRtcMediaPlayerDelegate-p
Definition: AgoraRtcEngineKit.h:404
AgoraAudioFrame
Definition: AgoraObjects.h:1768
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
AgoraAudioFramePosition
AgoraAudioFramePosition
Definition: AgoraEnumerates.h:2768
-[AgoraVideoFrameDelegate-p getMirrorApplied]
BOOL getMirrorApplied()
-[AgoraRtcEngineKit getNtpTimeInMs]
NSInteger getNtpTimeInMs()
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:15
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:477
-[AgoraRtcEngineKit uploadLogFile]
NSString *_Nullable uploadLogFile()
-[AgoraRtcEngineKit pauseAllChannelMediaRelay]
int pauseAllChannelMediaRelay()
-[AgoraRtcEngineKit stopPreview]
int stopPreview()
AgoraRtcMediaPlayerVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:509
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:1899
AgoraDataStreamConfig
Definition: AgoraObjects.h:2069
AgoraMediaPlayerEvent
AgoraMediaPlayerEvent
Definition: AgoraEnumerates.h:2645
AgoraRtcRemoteAudioStats
Definition: AgoraObjects.h:776
AgoraChannelMediaRelayError
AgoraChannelMediaRelayError
Definition: AgoraEnumerates.h:2306
AgoraDirectCdnStreamingError
AgoraDirectCdnStreamingError
Definition: AgoraEnumerates.h:2734
-[AgoraRtcMediaPlayerDelegate-p onAgoraCDNTokenWillExpire]
void onAgoraCDNTokenWillExpire()
AgoraCDN Token has expired and needs to be set up with renewAgoraCDNSrcToken(const char* src).
AgoraUserInfo
Definition: AgoraObjects.h:2017
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
Definition: AgoraEnumerates.h:1350
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1713
AgoraImageTrackOptions
Definition: AgoraObjects.h:2844
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:815
AgoraEncryptionConfig
Definition: AgoraObjects.h:1999
AgoraRhythmPlayerError
AgoraRhythmPlayerError
Definition: AgoraEnumerates.h:2900
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:2697
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2098
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:797
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:2890
AgoraMediaRecorderErrorCode
AgoraMediaRecorderErrorCode
Definition: AgoraEnumerates.h:3017
AgoraConnectionState
AgoraConnectionState
Definition: AgoraEnumerates.h:1715
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
AgoraContentInspectResult
AgoraContentInspectResult
Definition: AgoraEnumerates.h:2847
AgoraVideoFormat
AgoraVideoFormat
Definition: AgoraEnumerates.h:1668
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:2838
-[AgoraVideoFrameDelegate-p getObservedFramePosition]
AgoraVideoFramePosition getObservedFramePosition()
AgoraRtcAudioVolumeInfo
Definition: AgoraObjects.h:868
AgoraScreenScenarioType
AgoraScreenScenarioType
Definition: AgoraEnumerates.h:2369
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
AgoraMediaRecorderState
AgoraMediaRecorderState
Definition: AgoraEnumerates.h:3008
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:2772
AgoraConstants.h
-[AgoraRtcEngineKit disableAudio]
int disableAudio()
-[AgoraRtcEngineKit stopRhythmPlayer]
int stopRhythmPlayer()
AgoraBaseDelegate.h
-[AgoraRtcEngineKit createCustomVideoTrack]
unsigned int createCustomVideoTrack()
-[AgoraVideoFrameDelegate-p getVideoFrameProcessMode]
AgoraVideoFrameProcessMode getVideoFrameProcessMode()
-[AgoraRtcEngineKit disableVideo]
int disableVideo()
+[AgoraRtcEngineKit getSdkVersion]
NSString *_Nonnull getSdkVersion()
-[AgoraRtcEngineKit startSecondaryCameraCapture]
int startSecondaryCameraCapture()
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:2238
-[AgoraRtcEngineKit startPreview]
int startPreview()
AgoraStreamPublishState
AgoraStreamPublishState
Definition: AgoraEnumerates.h:2358
AgoraRtcConnection
Definition: AgoraObjects.h:2645
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2210
AgoraSimulcastStreamMode
AgoraSimulcastStreamMode
Definition: AgoraEnumerates.h:2504
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
Definition: AgoraEnumerates.h:2490
-[AgoraRtcEngineKit getAudioTrackCount]
int getAudioTrackCount()
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2312
AgoraRtmpStreamingState
AgoraRtmpStreamingState
Definition: AgoraEnumerates.h:2145
AgoraAudioEncodedFrameDelegate-p
Definition: AgoraRtcEngineKit.h:213
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:441
AgoraMediaPlayerPreloadEvent
AgoraMediaPlayerPreloadEvent
The play preload another source event.
Definition: AgoraEnumerates.h:2685
AgoraEncodedAudioFrameInfo
Definition: AgoraObjects.h:1865
AgoraEncodedVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:232
AgoraMediaMetadataDelegate-p
Definition: AgoraRtcEngineKit.h:623
AgoraEncryptionErrorType
AgoraEncryptionErrorType
Definition: AgoraEnumerates.h:2226
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:2527
AgoraMetadataType
AgoraMetadataType
Definition: AgoraEnumerates.h:2067
-[AgoraRtcEngineKit isSecure]
BOOL isSecure()
AgoraNetworkType
AgoraNetworkType
Definition: AgoraEnumerates.h:1739
AgoraMediaRecorderDelegate-p
Definition: AgoraRtcEngineKit.h:7091
AgoraAudioLocalError
AgoraAudioLocalError
Definition: AgoraEnumerates.h:1026
AgoraDirectCdnStreamingState
AgoraDirectCdnStreamingState
Streaming state.
Definition: AgoraEnumerates.h:2719
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2225
AgoraAudioFrameDelegate-p
Definition: AgoraRtcEngineKit.h:24
AgoraMediaRecorderConfiguration
Definition: AgoraObjects.h:2945
AgoraClientRoleOptions
Definition: AgoraObjects.h:2030
AgoraUploadErrorReason
AgoraUploadErrorReason
Definition: AgoraEnumerates.h:790
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2386
AgoraNetworkQuality
AgoraNetworkQuality
Definition: AgoraEnumerates.h:718
AgoraRtcLocalAudioStats
Definition: AgoraObjects.h:747
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2040
AgoraCloudProxyType
AgoraCloudProxyType
Definition: AgoraEnumerates.h:580
AgoraProxyType
AgoraProxyType
Definition: AgoraEnumerates.h:2924
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
-[AgoraRtcEngineKit stopSecondaryCameraCapture]
int stopSecondaryCameraCapture()
AgoraStreamSubscribeState
AgoraStreamSubscribeState
Definition: AgoraEnumerates.h:2348
AgoraExtensionInfo
Definition: AgoraObjects.h:2996
AgoraMediaPlayerUpdatedInfo
player_id and device_id has value when user trigger interface of opening.
Definition: AgoraObjects.h:109
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2088
-[AgoraVideoFrameDelegate-p getVideoFormatPreference]
AgoraVideoFormat getVideoFormatPreference()
AgoraLastmileProbeResult
Definition: AgoraObjects.h:547
AgoraChannelStats
Definition: AgoraObjects.h:887
AgoraRtcMediaPlayerAudioFrameDelegate-p
Definition: AgoraRtcEngineKit.h:546