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 
1106 
1107 #pragma mark Remote User Core Delegate Methods
1108 
1133 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:didJoinedOfUid:elapsed:));
1134 
1151 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason NS_SWIFT_NAME(rtcEngine(_:didOfflineOfUid:reason:));
1152 
1153 
1163 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data NS_SWIFT_NAME(rtcEngine(_:receiveStreamMessageFromUid:streamId:data:));
1164 
1177 - (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:));
1178 
1179 
1180 #pragma mark Remote User Audio Delegate Methods
1181 
1194 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid:elapsed:));
1195 
1196 
1215 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameDecodedOfUid:elapsed:));
1216 
1225 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:remoteAudioStats:));
1226 
1233 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didAudioMuted:byUid:));
1234 
1235 
1267 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume NS_SWIFT_NAME(rtcEngine(_:reportAudioVolumeIndicationOfSpeakers:totalVolume:));
1268 
1269 
1286 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid NS_SWIFT_NAME(rtcEngine(_:activeSpeaker:));
1287 
1294 - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineRemoteAudioMixingDidStart(_:));
1295 
1300 - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineRemoteAudioMixingDidFinish(_:));
1301 
1310 - (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:));
1311 
1322 - (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:));
1323 
1324 
1328 - (void)rtcEngineIntraRequestReceived:(AgoraRtcEngineKit *_Nonnull)engine NS_SWIFT_NAME(rtcEngineIntraRequestReceived(_:));
1329 
1334 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo NS_SWIFT_NAME(rtcEngine(_:uplinkNetworkInfoUpdate:));
1335 
1340 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine downlinkNetworkInfoUpdate:(AgoraDownlinkNetworkInfo *_Nonnull)networkInfo NS_SWIFT_NAME(rtcEngine(_:downlinkNetworkInfoUpdate:));
1341 
1352 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioSubscribeStateChange:(NSString * _Nonnull)channelId
1353  uid:(unsigned int)uid
1354  oldState:(AgoraStreamSubscribeState)oldState
1355  newState:(AgoraStreamSubscribeState)newState
1356 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didAudioSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:));
1357 
1366 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId
1367  oldState:(AgoraStreamPublishState)oldState
1368  newState:(AgoraStreamPublishState)newState
1369 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didAudioPublishStateChange:oldState:newState:elapseSinceLastState:));
1370 
1371 #pragma mark String UID
1372 
1379 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount NS_SWIFT_NAME(rtcEngine(_:didLocalUserRegisteredWithUserId:userAccount:));
1380 
1390 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo NS_SWIFT_NAME(rtcEngine(_:didUserInfoUpdatedWithUserId:userInfo:));
1391 
1392 #pragma mark Rhythm Player Delegates Methods
1393 
1394 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRhythmPlayerStateChanged:(AgoraRhythmPlayerState)state
1395  errorCode:(AgoraRhythmPlayerError)errorCode NS_SWIFT_NAME(rtcEngine(_:didRhythmPlayerStateChanged:errorCode:));
1396 
1397 #pragma mark Remote User Video Delegates Methods
1398 
1419 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoDecodedOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteVideoDecodedOfUid:size:elapsed:)) __deprecated;
1420 
1428 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteVideoFrameOfUid:size:elapsed:));
1429 
1438 - (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:));
1439 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result NS_SWIFT_NAME(rtcEngine(_:contentInspectResult:));
1440 - (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:));
1453 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state error:(AgoraLocalVideoStreamError)error sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:error:sourceType:));
1454 
1466 - (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:));
1467 
1477 - (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:));
1478 
1487 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
1488 channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state
1489  error:(AgoraChannelMediaRelayError)error NS_SWIFT_NAME(rtcEngine(_:channelMediaRelayStateDidChange:error:));
1490 
1496 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
1497 didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event NS_SWIFT_NAME(rtcEngine(_:didReceive:));
1498 
1511 - (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.");
1512 
1527 - (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.");
1528 
1539 - (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.");
1540 
1549 - (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:));
1550 
1558 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteUserStateChangedOfUid:(NSUInteger)uid state:(NSUInteger)state NS_SWIFT_NAME(rtcEngine(_:remoteUserStateChangedOfUid:state:));
1559 
1571 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats NS_SWIFT_NAME(rtcEngine(_:remoteVideoStats:));
1572 
1573 
1586 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRemoteSubscribeFallbackToAudioOnly:(BOOL)isFallbackOrRecover byUid:(NSUInteger)uid NS_SWIFT_NAME(rtcEngine(_:didRemoteSubscribeFallbackToAudioOnly:byUid:));
1587 
1598 - (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:));
1599 
1610 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoSubscribeStateChange:(NSString * _Nonnull)channelId
1611  uid:(unsigned int)uid
1612  oldState:(AgoraStreamSubscribeState)oldState
1613  newState:(AgoraStreamSubscribeState)newState
1614 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoSubscribeStateChange:uid:oldState:newState:elapseSinceLastState:));
1615 
1626 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId
1627  sourceType:(AgoraVideoSourceType)sourceType
1628  oldState:(AgoraStreamPublishState)oldState
1629  newState:(AgoraStreamPublishState)newState
1630 elapseSinceLastState:(int)elapseSinceLastState NS_SWIFT_NAME(rtcEngine(_:didVideoPublishStateChange:sourceType:oldState:newState:elapseSinceLastState:));
1631 
1632 #pragma mark Stream Publish Delegate Methods
1633 
1657 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingChangedToState:(NSString* _Nonnull)url state:(AgoraRtmpStreamingState)state errCode:(AgoraRtmpStreamingErrorCode)errCode NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingChangedToState:state:errCode:));
1658 
1667 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode NS_SWIFT_NAME(rtcEngine(_:rtmpStreamingEventWithUrl:eventCode:));
1668 
1669 
1676 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode NS_SWIFT_NAME(rtcEngine(_:streamPublishedWithUrl:errorCode:));
1677 
1683 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url NS_SWIFT_NAME(rtcEngine(_:streamUnpublishedWithUrl:));
1684 
1689 - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine NS_SWIFT_NAME(rtcEngineTranscodingUpdated(_:));
1690 
1698 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status NS_SWIFT_NAME(rtcEngine(_:streamInjectedStatusOfUrl:uid:status:));
1699 
1705 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state
1706  reasonCode:(AgoraAudioMixingReasonCode)reasonCode NS_SWIFT_NAME(rtcEngine(_:audioMixingStateChanged:reasonCode:));
1707 
1714 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:));
1715 
1716 #if TARGET_OS_IPHONE
1717 #pragma mark Face Detection Delegate Methods
1718 
1745 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces NS_SWIFT_NAME(rtcEngine(_:facePositionDidChangeWidth:previewHeight:faces:));
1746 #endif
1747 
1748 #pragma mark - Unavailable Delegate Methods
1749 - (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.")));
1750 
1751 - (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.")));
1752 
1753 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId
1754  oldState:(AgoraStreamPublishState)oldState
1755  newState:(AgoraStreamPublishState)newState
1756 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.")));
1757 
1758 - (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.")));
1759 
1760 - (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.")));
1761 @end
1762 
1763 #pragma mark - AgoraRtcEngineKit
1764 
1775 __attribute__((visibility("default"))) @interface AgoraRtcEngineKit : NSObject
1776 
1777 #pragma mark Core Methods
1778 
1790 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate;
1791 
1854 - (int)joinChannelByToken:(NSString * _Nullable)token
1855  channelId:(NSString * _Nonnull)channelId
1856  info:(NSString * _Nullable)info
1857  uid:(NSUInteger)uid
1858  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:info:uid:joinSuccess:));
1859 
1920 - (int)joinChannelByToken:(NSString * _Nullable)token
1921  channelId:(NSString * _Nonnull)channelId
1922  uid:(NSUInteger)uid
1923  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
1924  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:uid:mediaOptions:joinSuccess:));
1925 
1926 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews NS_SWIFT_NAME(startMultipleVideoStreams(_:screen:remotes:));
1927 
1928 
1954 - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:));
1955 
1982 - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options
1983  leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock NS_SWIFT_NAME(leaveChannel(_:leaveChannelBlock:));
1984 
2002 - (int)setChannelProfile:(AgoraChannelProfile)profile NS_SWIFT_NAME(setChannelProfile(_:));
2003 
2012 - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions NS_SWIFT_NAME(updateChannel(with:));
2013 
2029 - (int)setClientRole:(AgoraClientRole)role NS_SWIFT_NAME(setClientRole(_:));
2030 
2058 - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options NS_SWIFT_NAME(setClientRole(_:options:));
2059 
2076 - (int)renewToken:(NSString * _Nonnull)token NS_SWIFT_NAME(renewToken(_:));
2077 
2084 
2105 - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startChannelMediaRelay(_:));
2106 
2123 - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(updateChannelMediaRelay(_:));
2124 
2136 - (int)stopChannelMediaRelay NS_SWIFT_NAME(stopChannelMediaRelay());
2137 
2144 
2151 
2166 - (int)enableWirelessAccelerate:(BOOL)enabled NS_SWIFT_NAME(enableWirelessAccelerate(_:));
2167 
2168 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2169 
2170 - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:));
2171 
2172 - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:));
2173 
2174 - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder());
2175 
2176 #endif
2177 
2187 - (int)enableWebSdkInteroperability:(BOOL)enabled NS_SWIFT_NAME(enableWebSdkInteroperability(_:)) __deprecated;
2188 
2203 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
2204  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(withAppId:delegate:));
2205 
2226 + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config
2227  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate NS_SWIFT_NAME(sharedEngine(with:delegate:));
2228 
2245 + (void)destroy NS_SWIFT_NAME(destroy());
2246 
2247 #pragma mark Core Audio
2248 
2267 - (int)enableAudio NS_SWIFT_NAME(enableAudio());
2268 
2280 - (int)disableAudio NS_SWIFT_NAME(disableAudio());
2281 
2304 - (int)enableLocalAudio:(BOOL)enabled NS_SWIFT_NAME(enableLocalAudio(_:));
2305 
2321 - (int)setAudioProfile:(AgoraAudioProfile)profile NS_SWIFT_NAME(setAudioProfile(_:));
2322 
2323 - (int)setAudioScenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioScenario(_:));
2324 
2346 - (int)enableAudioVolumeIndication:(NSInteger)interval
2347  smooth:(NSInteger)smooth
2348  reportVad:(BOOL)reportVad NS_SWIFT_NAME(enableAudioVolumeIndication(_:smooth:reportVad:));
2349 
2350 
2351 #if TARGET_OS_IPHONE
2352 
2369 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker NS_SWIFT_NAME(setEnableSpeakerphone(_:));
2370 
2380 - (BOOL)isSpeakerphoneEnabled NS_SWIFT_NAME(isSpeakerphoneEnabled());
2381 
2409 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker NS_SWIFT_NAME(setDefaultAudioRouteToSpeakerphone(_:));
2410 #endif
2411 
2423 - (int)adjustRecordingSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustRecordingSignalVolume(_:));
2424 
2436 - (int)adjustPlaybackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustPlaybackSignalVolume(_:));
2437 
2457 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume NS_SWIFT_NAME(adjustUserPlaybackSignalVolume(_:volume:));
2458 
2467 - (int)muteRecordingSignal:(BOOL)muted NS_SWIFT_NAME(muteRecordingSignal(_:));
2468 
2479 - (int)muteLocalAudioStream:(BOOL)mute NS_SWIFT_NAME(muteLocalAudioStream(_:));
2480 
2494 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudioStream(_:mute:));
2495 
2521 - (int)muteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteAudioStreams(_:));
2522 
2537 - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute NS_SWIFT_NAME(setDefaultMuteAllRemoteAudioStreams(_:)) __deprecated;
2538 
2539 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:));
2540 
2555 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
2556  extension:(NSString * __nonnull)extension
2557  enabled:(BOOL)enabled
2558  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));
2559 
2574 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
2575  extension:(NSString * __nonnull)extension
2576  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
2577  enabled:(BOOL)enabled NS_SWIFT_NAME(enableExtension(withVendor:extension:extensionInfo:enabled:));
2578 
2590 - (int)setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider
2591  key:(NSString * __nonnull)key
2592  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));
2593 
2594 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2595  extension:(NSString * __nonnull)extension
2596  key:(NSString * __nonnull)key
2597  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));
2598 
2612 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2613  extension:(NSString * __nonnull)extension
2614  key:(NSString * __nonnull)key
2615  value:(NSString * __nonnull)value
2616  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:sourceType:));
2630 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2631  extension:(NSString * __nonnull)extension
2632  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
2633  key:(NSString * __nonnull)key
2634  value:(NSString * __nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:extensionInfo:key:value:));
2635 
2646 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
2647  extension:(NSString * __nonnull)extension
2648  key:(NSString * __nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
2649 
2661 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
2662  extension:(NSString * __nonnull)extension
2663  key:(NSString * __nonnull)key
2664  sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));
2665 
2677 - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider
2678  extension:(NSString * __nonnull)extension
2679  extensionInfo:(AgoraExtensionInfo * __nonnull)extensionInfo
2680  key:(NSString * __nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:extensionInfo:key:));
2681 
2682 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2683 
2704 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName NS_SWIFT_NAME(enableLoopbackRecording(_:deviceName:));
2705 
2718 - (int)adjustLoopbackSignalVolume:(NSInteger)volume NS_SWIFT_NAME(adjustLoopbackSignalVolume(_:));
2719 
2726 - (int)getLoopbackRecordingVolume NS_SWIFT_NAME(getLoopbackRecordingVolume());
2727 
2728 #endif
2729 
2730 #pragma mark Core Video
2731 
2752 - (int)enableVideo NS_SWIFT_NAME(enableVideo());
2753 
2763 - (int)disableVideo NS_SWIFT_NAME(disableVideo());
2764 
2790 - (int)enableLocalVideo:(BOOL)enabled NS_SWIFT_NAME(enableLocalVideo(_:));
2791 
2792 
2809 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setVideoEncoderConfiguration(_:));
2810 
2811 
2831 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local NS_SWIFT_NAME(setupLocalVideo(_:));
2832 
2836 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode NS_SWIFT_NAME(setLocalVideoMirrorMode(_:)) __deprecated;
2837 
2841 - (int)setLocalRenderMode:(NSUInteger)uid
2842  mode:(AgoraVideoRenderMode)mode NS_SWIFT_NAME(setLocalRenderMode(_:mode:)) __deprecated;
2843 
2862 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
2863  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setLocalRenderMode(_:mirror:));
2864 
2877 - (int)startPreview NS_SWIFT_NAME(startPreview());
2878 
2886 - (int)stopPreview NS_SWIFT_NAME(stopPreview());
2887 
2888 
2899 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote NS_SWIFT_NAME(setupRemoteVideo(_:));
2900 
2910 - (int)setRemoteRenderMode:(NSUInteger)uid
2911  mode:(AgoraVideoRenderMode)mode
2912  mirror:(AgoraVideoMirrorMode)mirror NS_SWIFT_NAME(setRemoteRenderMode(_:mode:mirror:));
2913 
2914 
2927 - (int)muteLocalVideoStream:(BOOL)mute NS_SWIFT_NAME(muteLocalVideoStream(_:));
2928 
2954 - (int)muteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(muteAllRemoteVideoStreams(_:));
2955 
2970 - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute NS_SWIFT_NAME(setDefaultMuteAllRemoteVideoStreams(_:)) __deprecated;
2971 
2987 - (int)muteRemoteVideoStream:(NSUInteger)uid
2988  mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteVideoStream(_:mute:));
2989 
3003 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options NS_SWIFT_NAME(setBeautyEffectOptions(_:options:));
3028 - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:));
3053 - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:));
3078 - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options NS_SWIFT_NAME(setColorEnhanceOptions(_:options:));
3079 
3127 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:));
3128 
3129 #if TARGET_OS_IPHONE
3130 
3186 - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable NS_SWIFT_NAME(enableRemoteSuperResolution(_:enable:));
3187 #endif
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 
3974 #pragma mark Audio Mixing
3975 
4012 - (int)startAudioMixing:(NSString * _Nonnull)filePath
4013  loopback:(BOOL)loopback
4014  cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:));
4015 
4048 - (int)startAudioMixing:(NSString * _Nonnull)filePath
4049  loopback:(BOOL)loopback
4050  cycle:(NSInteger)cycle
4051  startPos:(NSInteger)startPos NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:startPos:));
4052 
4062 - (int)stopAudioMixing NS_SWIFT_NAME(stopAudioMixing());
4063 
4072 - (int)pauseAudioMixing NS_SWIFT_NAME(pauseAudioMixing());
4073 
4083 - (int)resumeAudioMixing NS_SWIFT_NAME(resumeAudioMixing());
4084 
4093 - (int)selectAudioTrack:(NSInteger)index NS_SWIFT_NAME(selectAudioTrack(_:));
4102 - (int)getAudioTrackCount NS_SWIFT_NAME(getAudioTrackCount());
4103 
4114 - (int)adjustAudioMixingVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingVolume(_:));
4115 
4116 
4125 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPublishVolume(_:));
4126 
4135 - (int)getAudioMixingPublishVolume NS_SWIFT_NAME(getAudioMixingPublishVolume());
4136 
4145 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(adjustAudioMixingPlayoutVolume(_:));
4146 
4155 - (int)getAudioMixingPlayoutVolume NS_SWIFT_NAME(getAudioMixingPlayoutVolume());
4156 
4157 
4167 - (int)getAudioMixingDuration NS_SWIFT_NAME(getAudioMixingDuration());
4168 
4177 - (int)getAudioMixingCurrentPosition NS_SWIFT_NAME(getAudioMixingCurrentPosition());
4178 
4189 - (int)setAudioMixingPosition:(NSInteger)pos NS_SWIFT_NAME(setAudioMixingPosition(_:));
4190 
4201 - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode NS_SWIFT_NAME(setAudioMixingDualMonoMode(_:));
4202 
4212 - (int)setAudioMixingPitch:(NSInteger)pitch NS_SWIFT_NAME(setAudioMixingPitch(_:));
4213 
4214 #pragma mark Audio Recording
4215 
4236 - (int)startAudioRecording:(NSString * _Nonnull)filePath
4237  quality:(AgoraAudioRecordingQuality)quality NS_SWIFT_NAME(startAudioRecording(_:quality:));
4238 
4262 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config NS_SWIFT_NAME(startAudioRecording(withConfig:));
4263 
4264 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nullable)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull)config NS_SWIFT_NAME(setAudioEncodedFrameDelegate(_:config:));
4272 - (int)stopAudioRecording NS_SWIFT_NAME(stopAudioRecording());
4273 
4274 #pragma mark Echo Test
4275 
4293 - (int)startEchoTest:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock NS_SWIFT_NAME(startEchoTest(_:));
4294 
4311 - (int)startEchoTestWithInterval:(NSInteger)interval
4312  successBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock NS_SWIFT_NAME(startEchoTest(withInterval:successBlock:));
4313 
4321 - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config NS_SWIFT_NAME(startEchoTest(withConfig:));
4322 
4330 - (int)stopEchoTest NS_SWIFT_NAME(stopEchoTest());
4331 
4332 
4333 #pragma mark Miscellaneous Audio Control
4334 
4350 - (int)enableInEarMonitoring:(BOOL)enabled NS_SWIFT_NAME(enable(inEarMonitoring:));
4351 
4363 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters NS_SWIFT_NAME(enable(inEarMonitoring:includeAudioFilters:));
4364 
4376 - (int)setInEarMonitoringVolume:(NSInteger)volume NS_SWIFT_NAME(setInEarMonitoringVolume(_:));
4377 
4378 #if TARGET_OS_IPHONE
4379 
4388 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:));
4389 
4390 #endif
4391 
4392 #pragma mark Dual Video Mode
4393 
4409 - (int)enableDualStreamMode:(BOOL)enabled NS_SWIFT_NAME(enableDualStreamMode(_:));
4410 
4427 - (int)enableDualStreamMode:(BOOL)enabled
4428  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(enableDualStreamMode(_:streamConfig:));
4429 
4439 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode NS_SWIFT_NAME(setDualStreamMode(_:));
4440 
4457 - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode
4458  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig NS_SWIFT_NAME(setDualStreamMode(_:streamConfig:));
4478 - (int)setRemoteVideoStream:(NSUInteger)uid
4479  type:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteVideoStream(_:type:));
4480 
4491 - (int)setRemoteVideo:(NSUInteger)uid
4492  SubscriptionOptions:(AgoraVideoSubscriptionOptions* _Nonnull)options NS_SWIFT_NAME(setRemoteVideo(_:SubscriptionOptions:));
4503 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType NS_SWIFT_NAME(setRemoteDefaultVideoStreamType(_:));
4504 
4505 #pragma mark Subscribe Blocklist / Allowlist
4506 
4520 - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeAudioBlocklist(_:));
4521 
4537 - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeAudioAllowlist(_:));
4538 
4552 - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist NS_SWIFT_NAME(setSubscribeVideoBlocklist(_:));
4553 
4569 - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist NS_SWIFT_NAME(setSubscribeVideoAllowlist(_:));
4570 
4571 #pragma mark Stream Fallback
4572 
4595 - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setLocalPublishFallbackOption(_:));
4596 
4608 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option NS_SWIFT_NAME(setRemoteSubscribeFallbackOption(_:));
4609 
4610 #pragma mark Video Quality Control
4611 
4627 - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality NS_SWIFT_NAME(setVideoQualityParameters(_:));
4628 
4629 #pragma mark External Media Source
4630 
4655 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:));
4656 
4676 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture
4677  sourceType:(AgoraExternalVideoSourceType)sourceType
4678  encodedVideoTrackOption:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(setExternalVideoSource(_:useTexture:sourceType:encodedVideoTrackOption:));
4679 
4693 - (int)pushExternalEncodedVideoFrame:(NSData* _Nonnull)frame
4694  info:(AgoraEncodedVideoFrameInfo * _Nonnull)info NS_SWIFT_NAME(pushExternalEncodedVideoFrame(_:info:));
4695 
4713 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:));
4714 
4715 
4723 - (unsigned int)createCustomVideoTrack NS_SWIFT_NAME(createCustomVideoTrack());
4724 
4732 - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption NS_SWIFT_NAME(createCustomEncodedVideoTrack(_:));
4733 
4742 - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomVideoTrack(_:));
4743 
4752 - (int)destroyCustomEncodedVideoTrack:(NSUInteger)videoTrackId NS_SWIFT_NAME(destroyCustomEncodedVideoTrack(_:));
4753 
4754 #pragma mark External Audio Data
4755 
4768 - (void)enableExternalAudioSink:(BOOL)enabled
4769  sampleRate:(NSUInteger)sampleRate
4770  channels:(NSUInteger)channels NS_SWIFT_NAME(enableExternalAudioSink(_:sampleRate:channels:));
4771 
4788 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
4789  lengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameRawData(_:lengthInByte:));
4790 
4809 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte NS_SWIFT_NAME(pullPlaybackAudioFrameSampleBufferBy(lengthInByte:));
4810 
4811 
4830 - (int)setExternalAudioSource:(BOOL)enabled
4831  sampleRate:(NSInteger)sampleRate
4832  channels:(NSInteger)channels NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:));
4833 
4834 - (int)enableEchoCancellationExternal:(BOOL)enabled
4835  audioSourceDelay:(NSInteger)audioSourceDelay NS_SWIFT_NAME(enableEchoCancellationExternal(_:audioSourceDelay:));
4855 - (int)setExternalAudioSource:(BOOL)enabled
4856  sampleRate:(NSInteger)sampleRate
4857  channels:(NSInteger)channels
4858  sourceNumber:(NSInteger)sourceNumber
4859  localPlayback:(BOOL)localPlayback
4860  publish:(BOOL)publish NS_SWIFT_NAME(setExternalAudioSource(_:sampleRate:channels:sourceNumber:localPlayback:publish:));
4861 
4876 - (int)enableCustomAudioLocalPlayback:(NSInteger)sourceId enabled:(BOOL)enabled NS_SWIFT_NAME(enableCustomAudioLocalPlayback(_:enabled:));
4877 
4887 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
4888  samples:(NSInteger)samples
4889  sourceId:(NSInteger)sourceId
4890  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sourceId:timestamp:));
4891 
4905 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
4906  samples:(NSInteger)samples
4907  sampleRate:(NSInteger)sampleRate
4908  channels:(NSInteger)channels
4909  sourceId:(NSInteger)sourceId
4910  timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:sourceId:timestamp:));
4919 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:));
4920 
4921 - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(pushCaptureAudioFrame(_:));
4922 
4923 - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(pushReverseAudioFrame(_:));
4931 - (int)setDirectExternalAudioSource:(BOOL)enabled NS_SWIFT_NAME(setDirectExternalAudioSource(_:));
4932 
4941 - (int)setDirectExternalAudioSource:(BOOL)enabled localPlayback:(BOOL)localPlayback NS_SWIFT_NAME(setDirectExternalAudioSource(_:localPlayback:));
4942 
4950 - (int)pushDirectAudioFrameNSData:(NSData* _Nonnull)data NS_SWIFT_NAME(pushDirectAudioFrameNSData(_:));
4951 
4964 - (int)pushDirectAudioFrameRawData:(void* _Nonnull)data
4965  samples:(NSInteger)samples
4966  sampleRate:(NSInteger)sampleRate
4967  channels:(NSInteger)channels NS_SWIFT_NAME(pushDirectAudioFrameRawData(_:samples:sampleRate:channels:));
4968 
4979 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable NS_SWIFT_NAME(enableExternalAudioSourceLocalPlayback(_:));
4980 
5004 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5005  channel:(NSInteger)channel
5007  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setRecordingAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5032 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5033  channel:(NSInteger)channel
5035  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setPlaybackAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5036 
5054 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5055  channel:(NSInteger)channel
5056  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setMixedAudioFrameParametersWithSampleRate(_:channel:samplesPerCall:));
5057 
5082 - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
5083  channel:(NSInteger)channel
5085  samplesPerCall:(NSInteger)samplesPerCall NS_SWIFT_NAME(setEarMonitoringAudioFrameParametersWithSampleRate(_:channel:mode:samplesPerCall:));
5086 
5087 
5101 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
5102  channel:(NSInteger)channel NS_SWIFT_NAME(setPlaybackAudioFrameBeforeMixingParametersWithSampleRate(_:channel:));
5103 /*
5104  * Adjust the custom audio publish volume by source id.
5105  * @param sourceId custom audio source id.
5106  * @param volume The volume, range is [0,100]:
5107  * 0: mute, 100: The original volume
5108  * @return
5109  * - 0: Success.
5110  * - < 0: Failure.
5111  */
5112 - (int)adjustCustomAudioPublishVolume:(NSInteger)sourceId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPublishVolume(_:volume:));
5113 
5114 /*
5115  * Adjust the custom audio playout volume by source id.
5116  * @param sourceId custom audio source id.
5117  * @param volume The volume, range is [0,100]:
5118  * 0: mute, 100: The original volume
5119  * @return
5120  * - 0: Success.
5121  * - < 0: Failure.
5122  */
5123 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)sourceId volume:(NSInteger)volume NS_SWIFT_NAME(adjustCustomAudioPlayoutVolume(_:volume:));
5124 
5125 /*
5126  * Get monotonic time in ms which can be used by capture time,
5127  * typical scenario is as follows:
5128  *
5129  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5130  * | // custom audio/video base capture time, e.g. the first audio/video capture time. |
5131  * | int64_t custom_capture_time_base; |
5132  * | |
5133  * | int64_t agora_monotonic_time = getAgoraCurrentMonotonicTimeInMs(); |
5134  * | |
5135  * | // offset is fixed once calculated in the begining. |
5136  * | const int64_t offset = agora_monotonic_time - custom_capture_time_base; |
5137  * | |
5138  * | // realtime_custom_audio/video_capture_time is the origin capture time that customer provided.|
5139  * | // actual_audio/video_capture_time is the actual capture time transfered to sdk. |
5140  * | int64_t actual_audio_capture_time = realtime_custom_audio_capture_time + offset; |
5141  * | int64_t actual_video_capture_time = realtime_custom_video_capture_time + offset; |
5142  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5143  *
5144  * @return
5145  * - >= 0: Success.
5146  * - < 0: Failure.
5147  */
5148 - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs());
5149 
5150 #pragma mark Audio spectrum monitor
5151 
5162 - (int)enableAudioSpectrumMonitor:(int)intervalInMS NS_SWIFT_NAME(enableAudioSpectrumMonitor(_:));
5163 
5172 
5185 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate NS_SWIFT_NAME(registerAudioSpectrumDelegate(_:));
5186 
5195 - (int)unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate NS_SWIFT_NAME(unregisterAudioSpectrumDelegate(_:));
5196 
5197 #pragma mark Built-in Encryption
5198 
5228 - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config NS_SWIFT_NAME(enableEncryption(_:encryptionConfig:));
5229 
5230 
5231 #pragma mark Data Stream
5232 
5256 - (int)createDataStream:(NSInteger * _Nonnull)streamId
5257  reliable:(BOOL)reliable
5258  ordered:(BOOL)ordered NS_SWIFT_NAME(createDataStream(_:reliable:ordered:));
5268 - (int)createDataStream:(NSInteger * _Nonnull)streamId
5269  config:(AgoraDataStreamConfig * _Nonnull)config NS_SWIFT_NAME(createDataStream(_:config:));
5293 - (int)sendStreamMessage:(NSInteger)streamId
5294  data:(NSData * _Nonnull)data NS_SWIFT_NAME(sendStreamMessage(_:data:));
5295 
5296 #pragma mark Stream Publish
5297 
5311 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url NS_SWIFT_NAME(startRtmpStreamWithoutTranscoding(_:));
5312 
5321 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(startRtmpStream(withTranscoding:transcoding:));
5322 
5339 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding NS_SWIFT_NAME(updateRtmpTranscoding(_:));
5340 
5358 - (int)stopRtmpStream:(NSString* _Nonnull)url NS_SWIFT_NAME(stopRtmpStream(_:));
5359 
5360 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
5361 #pragma mark Screen Capture
5362 
5386 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
5387  regionRect:(CGRect)regionRect
5388  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byDisplayId:regionRect:captureParams:));
5389 
5409 - (int)startScreenCaptureByWindowId:(UInt32)windowId
5410  regionRect:(CGRect)regionRect
5411  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams NS_SWIFT_NAME(startScreenCapture(byWindowId:regionRect:captureParams:));
5412 
5422 - (int)updateScreenCaptureRegion:(CGRect)rect NS_SWIFT_NAME(updateScreenCaptureRegion(_:));
5423 
5433 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams NS_SWIFT_NAME(updateScreenCaptureParameters(_:));
5434 
5444 - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:));
5445 
5476 - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen NS_SWIFT_NAME(getScreenCaptureSources(withThumbSize:iconSize:includeScreen:));
5477 
5478 #endif
5479 
5487 - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture());
5488 
5489 #if TARGET_OS_IPHONE
5490 
5509 - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:));
5510 
5520 - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(updateScreenCapture(_:));
5521 
5522 #pragma mark Camera Control
5523 
5536 - (BOOL)isCameraZoomSupported NS_SWIFT_NAME(isCameraZoomSupported());
5537 
5544 - (CGFloat)cameraMaxZoomFactor NS_SWIFT_NAME(cameraMaxZoomFactor());
5545 
5552 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor NS_SWIFT_NAME(setCameraZoomFactor(_:));
5553 
5561 - (BOOL)isCameraFocusPositionInPreviewSupported NS_SWIFT_NAME(isCameraFocusPositionInPreviewSupported());
5562 
5570 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position NS_SWIFT_NAME(setCameraFocusPositionInPreview(_:));
5571 
5579 - (BOOL)isCameraExposurePositionSupported NS_SWIFT_NAME(isCameraExposurePositionSupported());
5580 
5588 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView NS_SWIFT_NAME(setCameraExposurePosition(_:));
5589 
5610 - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported());
5611 
5628 - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:));
5629 
5637 - (BOOL)isCameraAutoFocusFaceModeSupported NS_SWIFT_NAME(isCameraAutoFocusFaceModeSupported());
5638 
5650 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoFocusFaceModeEnabled(_:));
5651 
5659 - (BOOL)isCameraAutoExposureFaceModeSupported NS_SWIFT_NAME(isCameraAutoExposureFaceModeSupported());
5660 
5672 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable NS_SWIFT_NAME(setCameraAutoExposureFaceModeEnabled(_:));
5673 
5682 - (int)switchCamera NS_SWIFT_NAME(switchCamera());
5683 
5693 - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:));
5694 
5703 
5711 #endif
5712 
5724 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(setCameraCapturerConfiguration(_:));
5725 
5726 
5727 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
5728 #pragma mark macOS Device
5729 
5741 - (void)monitorDeviceChange:(BOOL)enabled NS_SWIFT_NAME(monitorDeviceChange(_:));
5742 
5755 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type NS_SWIFT_NAME(enumerateDevices(_:));
5756 
5764 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceInfo(_:));
5765 
5776 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId NS_SWIFT_NAME(setDevice(_:deviceId:));
5777 
5784 - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDefaultAudioDevice(_:));
5785 
5794 - (int)getDeviceVolume:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceVolume(_:));
5795 
5805 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume NS_SWIFT_NAME(setDeviceVolume(_:volume:));
5806 
5817 - (int)startRecordingDeviceTest:(int)indicationInterval NS_SWIFT_NAME(startRecordingDeviceTest(_:));
5818 
5828 - (int)stopRecordingDeviceTest NS_SWIFT_NAME(stopRecordingDeviceTest());
5829 
5844 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName NS_SWIFT_NAME(startPlaybackDeviceTest(_:));
5845 
5855 - (int)stopPlaybackDeviceTest NS_SWIFT_NAME(stopPlaybackDeviceTest());
5856 
5870 - (int)startAudioDeviceLoopbackTest:(int)indicationInterval NS_SWIFT_NAME(startAudioDeviceLoopbackTest(_:));
5871 
5879 - (int)stopAudioDeviceLoopbackTest NS_SWIFT_NAME(stopAudioDeviceLoopbackTest());
5880 
5892 - (int)followSystemPlaybackDevice:(BOOL)enable NS_SWIFT_NAME(followSystemPlaybackDevice(_:));
5893 
5905 - (int)followSystemRecordingDevice:(BOOL)enable NS_SWIFT_NAME(followSystemRecordingDevice(_:));
5906 
5915 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view NS_SWIFT_NAME(startCaptureDeviceTest(_:));
5916 
5923 - (int)stopCaptureDeviceTest NS_SWIFT_NAME(stopCaptureDeviceTest());
5924 #endif
5925 
5926 #pragma mark Face Detection
5927 
5928 #if TARGET_OS_IPHONE
5929 
5953 - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:));
5954 #endif
5955 
5956 #pragma mark Watermark
5957 
5969 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:)) __deprecated_msg("use addVideoWatermark:url options instead.");
5970 
5996 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options NS_SWIFT_NAME(addVideoWatermark(_:options:));
5997 
6002 - (int)clearVideoWatermarks NS_SWIFT_NAME(clearVideoWatermarks());
6003 
6004 #pragma mark String UID
6005 
6038 - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId NS_SWIFT_NAME(registerLocalUserAccount(_:appId:));
6039 
6074 - (int)joinChannelByToken:(NSString * _Nullable)token
6075  channelId:(NSString * _Nonnull)channelId
6076  userAccount:(NSString * _Nonnull)userAccount
6077  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:joinSuccess:));
6078 
6114 - (int)joinChannelByToken:(NSString * _Nullable)token
6115  channelId:(NSString * _Nonnull)channelId
6116  userAccount:(NSString * _Nonnull)userAccount
6117  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
6118  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock NS_SWIFT_NAME(joinChannel(byToken:channelId:userAccount:mediaOptions:joinSuccess:));
6119 
6130 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUserAccount:withError:));
6131 
6142 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error NS_SWIFT_NAME(getUserInfo(byUid:withError:));
6143 
6144 #pragma mark Custom Audio PCM Frame
6145 
6152 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setAudioFrameDelegate(_:));
6153 
6154 #pragma mark Custom Video Frame
6155 
6167 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:));
6168 
6169 #pragma mark Encoded Video Frame
6170 
6182 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setEncodedVideoFrameDelegate(_:));
6183 
6184 #pragma mark Custom Media Metadata
6185 
6208 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDataSource(_:with:));
6209 
6225 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type NS_SWIFT_NAME(setMediaMetadataDelegate(_:with:));
6226 
6227 #pragma mark Miscellaneous Methods
6228 
6239 + (NSString * _Nonnull)getSdkVersion NS_SWIFT_NAME(getSdkVersion());
6240 
6246 + (NSString* _Nonnull)getErrorDescription:(NSInteger)error NS_SWIFT_NAME(getErrorDescription(_:));
6247 
6248 
6253 - (void * _Nullable)getNativeHandle NS_SWIFT_NAME(getNativeHandle());
6254 
6255 
6279 - (int)setLogFile:(NSString * _Nonnull)filePath NS_SWIFT_NAME(setLogFile(_:));
6280 
6295 - (int)setLogFilter:(NSUInteger)filter NS_SWIFT_NAME(setLogFilter(_:));
6296 
6311 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes NS_SWIFT_NAME(setLogFileSize(_:));
6312 
6320 - (NSString * _Nullable)uploadLogFile NS_SWIFT_NAME(uploadLogFile());
6321 
6332 - (NSString * _Nullable)getCallId NS_SWIFT_NAME(getCallId());
6333 
6354 - (int)rate:(NSString * _Nonnull)callId
6355  rating:(NSInteger)rating
6356 description:(NSString * _Nullable)description NS_SWIFT_NAME(rate(_:rating:description:));
6357 
6375 - (int)complain:(NSString * _Nonnull)callId
6376  description:(NSString * _Nullable)description NS_SWIFT_NAME(complain(_:description:));
6377 
6378 
6389 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
6390 
6391 
6412 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config NS_SWIFT_NAME(startLastmileProbeTest(_:));
6413 
6421 - (int)stopLastmileProbeTest NS_SWIFT_NAME(stopLastmileProbeTest());
6422 
6429 - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:));
6430 
6436 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
6437  args:(NSString * _Nullable)args NS_SWIFT_NAME(getParameter(_:args:));
6438 
6439 
6443 - (NSInteger)getNtpTimeInMs;
6444 
6445 #pragma mark MediaPlayer
6446 
6455 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate NS_SWIFT_NAME(createMediaPlayer(with:));
6460 - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager NS_SWIFT_NAME(createMediaPlayerCacheManager());
6461 
6473 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer NS_SWIFT_NAME(destroyMediaPlayer(_:));
6474 
6480 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId NS_SWIFT_NAME(getMediaPlayer(_:));
6481 
6482 #pragma mark rhythm player
6483 
6494 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(startRhythmPlayer(_:sound2:config:));
6495 
6502 - (int)stopRhythmPlayer NS_SWIFT_NAME(stopRhythmPlayer());
6503 
6512 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config NS_SWIFT_NAME(configRhythmPlayer(_:));
6513 
6514 #pragma mark Streaming Kit
6515 
6528 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile NS_SWIFT_NAME(setDirectCdnStreamingAudioConfiguration(_:));
6529 
6544 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config NS_SWIFT_NAME(setDirectCdnStreamingVideoConfiguration(_:));
6545 
6557 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
6558  publishUrl:(NSString * _Nonnull)publishUrl
6559  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(startDirectCdnStreaming(_:publishUrl:mediaOptions:));
6560 
6570 - (int)stopDirectCdnStreaming NS_SWIFT_NAME(stopDirectCdnStreaming());
6571 
6581 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options NS_SWIFT_NAME(updateDirectCdnStreamingMediaOptions(_:));
6582 
6583 
6584 
6585 #pragma mark Deprecated Methods
6586 
6603 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock NS_SWIFT_NAME(audioVolumeIndicationBlock(_:)) __deprecated_msg("use delegate instead.");
6604 
6613 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock NS_SWIFT_NAME(firstLocalVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
6614 
6625 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock NS_SWIFT_NAME(firstRemoteVideoDecodedBlock(_:)) __deprecated_msg("use delegate instead.");
6626 
6636 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock NS_SWIFT_NAME(firstRemoteVideoFrameBlock(_:)) __deprecated_msg("use delegate instead.");
6637 
6647 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock NS_SWIFT_NAME(userJoinedBlock(_:)) __deprecated_msg("use delegate instead.");
6648 
6657 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock NS_SWIFT_NAME(userOfflineBlock(_:)) __deprecated_msg("use delegate instead.");
6658 
6668 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock NS_SWIFT_NAME(userMuteAudioBlock(_:)) __deprecated_msg("use delegate instead.");
6669 
6684 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock NS_SWIFT_NAME(userMuteVideoBlock(_:)) __deprecated_msg("use delegate instead.");
6685 
6693 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock NS_SWIFT_NAME(localVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
6694 
6704 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock NS_SWIFT_NAME(remoteVideoStatBlock(_:)) __deprecated_msg("use delegate instead.");
6705 
6709 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock NS_SWIFT_NAME(cameraReadyBlock(_:)) __deprecated_msg("use delegate instead.");
6710 
6714 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock NS_SWIFT_NAME(connectionLostBlock(_:)) __deprecated_msg("use delegate instead.");
6715 
6726 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock NS_SWIFT_NAME(rejoinChannelSuccessBlock(_:)) __deprecated_msg("use delegate instead.");
6727 
6734 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock NS_SWIFT_NAME(rtcStatsBlock(_:)) __deprecated_msg("use delegate instead.");
6735 
6744 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelBlock(_:)) __deprecated_msg("use delegate instead.");
6745 
6755 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock NS_SWIFT_NAME(audioQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6756 
6765 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock NS_SWIFT_NAME(networkQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6766 
6773 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock NS_SWIFT_NAME(lastmileQualityBlock(_:)) __deprecated_msg("use delegate instead.");
6774 
6778 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock NS_SWIFT_NAME(mediaEngineEventBlock(_:)) __deprecated_msg("use delegate instead.");
6779 
6789 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
6790 
6800 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
6801 
6808 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
6809  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock NS_SWIFT_NAME(sharedEngine(withAppId:error:)) __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
6810 
6816 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
6817  stereo:(BOOL)stereo
6818  fullBitrate:(BOOL)fullBitrate NS_SWIFT_NAME(setHighQualityAudioParametersWithFullband(_:stereo:fullBitrate:)) __deprecated_msg("use setAudioProfile:scenario: instead.");
6819 
6837 - (int)setVideoProfile:(AgoraVideoProfile)profile
6838  swapWidthAndHeight:(BOOL)swapWidthAndHeight NS_SWIFT_NAME(setVideoProfile(_:swapWidthAndHeight:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6839 
6858 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate NS_SWIFT_NAME(setVideoResolution(_:andFrameRate:bitrate:)) __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6859 
6878 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario NS_SWIFT_NAME(setAudioProfile(_:scenario:)) __deprecated;
6879 
6887 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type NS_SWIFT_NAME(getDeviceId(_:)) __deprecated_msg("use getDeviceInfo: instead.");
6888 
6889 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6890 
6899 - (int)setSpeakerphoneVolume:(NSUInteger)volume NS_SWIFT_NAME(setSpeakerphoneVolume(_:)) __deprecated_msg("use setDeviceVolume:volume: instead.");
6900 
6901 - (int)startScreenCapture:(NSUInteger)windowId
6902  withCaptureFreq:(NSInteger)captureFreq
6903  bitRate:(NSInteger)bitRate
6904  andRect:(CGRect)rect NS_SWIFT_NAME(startScreenCapture(_:withCaptureFreq:bitRate:andRect:)) __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
6905 #endif
6906 
6912 + (NSString * _Nonnull)getMediaEngineVersion __deprecated NS_SWIFT_NAME(getMediaEngineVersion());
6913 
6914 - (int)setAudioOptionParams:(NSString * _Nonnull)params NS_SWIFT_NAME(setAudioOptionParams(_:));
6915 - (NSString * _Nullable)getAudioOptionParams NS_SWIFT_NAME(getAudioOptionParams());
6916 - (int)setAudioSessionParams:(NSString * _Nonnull)params NS_SWIFT_NAME(setAudioSessionParams(_:));
6917 - (NSString * _Nullable)getAudioSessionParams NS_SWIFT_NAME(getAudioSessionParams());
6918 
6926 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options NS_SWIFT_NAME(setAdvancedAudioOptions(_:));
6927 
6928 - (BOOL)isSecure NS_SWIFT_NAME(isSecure());
6929 
6930 
6940 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
6941  category:(NSString * _Nullable)category
6942  event:(NSString * _Nullable)event
6943  label:(NSString * _Nullable)label
6944  value:(NSInteger)value NS_SWIFT_NAME(sendCustomReportMessage(_:category:event:label:value:));
6960 - (int)setLogLevel:(AgoraLogLevel)level NS_SWIFT_NAME(setLogLevel(_:));
6961 
6977 - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode NS_SWIFT_NAME(setEncryptionMode(_:)) __deprecated_msg("use enableEncryption: instead.");
6978 
6993 - (int)setEncryptionSecret:(NSString * _Nullable)secret NS_SWIFT_NAME(setEncryptionSecret(_:)) __deprecated_msg("use enableEncryption: instead.");
6994 
7002 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
7003 
7042 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
7043 
7044 - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:filePath:));
7045 
7046 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config NS_SWIFT_NAME(enableContentInspect(_:config:));
7047 
7058 - (int)setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(setAVSyncSource(_:uid:));
7059 
7066 - (int)enableVideoImageSource:(BOOL)enable
7067  options:(AgoraImageTrackOptions *_Nullable)options NS_SWIFT_NAME(enableVideoImageSource(_:options:));
7080 - (int)getNetworkType NS_SWIFT_NAME(getNetworkType());
7081 @end
7082 
7083 @class AgoraMediaRecorder;
7084 @protocol AgoraMediaRecorderDelegate <NSObject>
7085 #pragma mark Media Recorder Delegate Methods
7086 
7098 - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder stateDidChanged:(AgoraMediaRecorderState)state error:(AgoraMediaRecorderErrorCode)error NS_SWIFT_NAME(mediaRecorder(_:stateDidChanged:error:));
7099 
7106 - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder informationDidUpdated:(AgoraMediaRecorderInfo* _Nonnull)info NS_SWIFT_NAME(mediaRecorder(_:informationDidUpdated:));
7107 
7108 @end
7109 
7110 __attribute__((visibility("default"))) @interface AgoraMediaRecorder : NSObject
7111 
7119 + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine NS_SWIFT_NAME(sharedMediaRecorder(withRtcEngine:));
7120 
7121 - (int)setMediaRecorderDelegate:(AgoraRtcConnection * _Nonnull)connection
7122  delegate:(id<AgoraMediaRecorderDelegate> _Nullable)delegate NS_SWIFT_NAME(setMediaRecorderDelegate(_:delegate:));
7126 + (void)destroy NS_SWIFT_NAME(destroy());
7127 
7137 - (int)enableMainQueueDispatch:(BOOL)enabled NS_SWIFT_NAME(enableMainQueueDispatch(_:));
7138 
7145 - (int)startRecording:(AgoraRtcConnection * _Nonnull)connection
7146  config:(AgoraMediaRecorderConfiguration* _Nonnull)config NS_SWIFT_NAME(startRecording(_:config:));
7147 
7148 
7154 - (int)stopRecording:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopRecording(_:));
7155 
7156 @end
7157 
7158 
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Definition: AgoraRtcEngineKit.h:1790
AgoraLocalVideoStreamError
AgoraLocalVideoStreamError
Definition: AgoraEnumerates.h:875
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:1776
AgoraRtcEngineDelegate2.h
AgoraRtcEngineDelegate-p
Definition: AgoraRtcEngineKit.h:642
AgoraMediaPlayerState
AgoraMediaPlayerState
Player state.
Definition: AgoraEnumerates.h:2530
-[AgoraRtcMediaPlayerVideoFrameDelegate-p AgoraRtcMediaPlayerGetVideoPixelFormat]
AgoraVideoFormat AgoraRtcMediaPlayerGetVideoPixelFormat()
AgoraFacePositionInfo
Definition: AgoraObjects.h:2815
-[AgoraRtcEngineKit getNetworkType]
int getNetworkType()
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
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:236
AgoraWlAccAction
AgoraWlAccAction
Definition: AgoraEnumerates.h:2984
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1232
AgoraRtmpStreamingErrorCode
AgoraRtmpStreamingErrorCode
Definition: AgoraEnumerates.h:2159
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
Definition: AgoraEnumerates.h:2747
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:2797
AgoraBeautyOptions
Definition: AgoraObjects.h:2153
AgoraVideoSubscriptionOptions
Definition: AgoraObjects.h:2679
AgoraMediaRecorder
Definition: AgoraRtcEngineKit.h:7111
-[AgoraAudioFrameDelegate-p getObservedAudioFramePosition]
AgoraAudioFramePosition getObservedAudioFramePosition()
AgoraPermissionType
AgoraPermissionType
Definition: AgoraEnumerates.h:2702
AgoraMediaPlayerError
AgoraMediaPlayerError
Definition: AgoraEnumerates.h:2599
AgoraRtcMediaPlayerProtocol.h
AgoraOutputVideoFrame
Definition: AgoraObjects.h:1926
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:2507
AgoraAudioRemoteReason
AgoraAudioRemoteReason
Definition: AgoraEnumerates.h:1125
AgoraHeadphoneEQPreset
AgoraHeadphoneEQPreset
Definition: AgoraEnumerates.h:1630
-[AgoraVideoFrameDelegate-p getRotationApplied]
BOOL getRotationApplied()
AgoraWlAccReason
AgoraWlAccReason
Definition: AgoraEnumerates.h:2970
AgoraMediaPlayerSrcInfo
The information of the media stream object.
Definition: AgoraObjects.h:119
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
AgoraDirectCdnStreamingEventDelegate-p
Definition: AgoraRtcEngineKit.h:568
AgoraRhythmPlayerState
AgoraRhythmPlayerState
Definition: AgoraEnumerates.h:2880
AgoraChannelMediaRelayEvent
AgoraChannelMediaRelayEvent
Definition: AgoraEnumerates.h:2261
AgoraMediaMetadataDataSource-p
Definition: AgoraRtcEngineKit.h:590
AgoraVideoFrame
Definition: AgoraObjects.h:1579
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:2566
AgoraRtmpStreamingEvent
AgoraRtmpStreamingEvent
Definition: AgoraEnumerates.h:2202
AgoraClientRoleChangeFailedReason
AgoraClientRoleChangeFailedReason
Definition: AgoraEnumerates.h:1990
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
Definition: AgoraEnumerates.h:1595
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:2329
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1304
AgoraVideoFrameProcessMode
AgoraVideoFrameProcessMode
Definition: AgoraEnumerates.h:1709
AgoraMediaRecorderInfo
Definition: AgoraObjects.h:2933
+[AgoraRtcEngineKit destroy]
void destroy()
AgoraVideoRemoteReason
AgoraVideoRemoteReason
Definition: AgoraEnumerates.h:949
AgoraAudioLocalState
AgoraAudioLocalState
Definition: AgoraEnumerates.h:1004
AgoraSegmentationProperty
Definition: AgoraObjects.h:2272
AgoraRtcRemoteVideoStats
Definition: AgoraObjects.h:673
AgoraContentInspectConfig
Definition: AgoraObjects.h:2641
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:2624
AgoraAudioRemoteState
AgoraAudioRemoteState
Definition: AgoraEnumerates.h:1093
AgoraChannelMediaRelayState
AgoraChannelMediaRelayState
Definition: AgoraEnumerates.h:2244
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:2196
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:497
AgoraVideoFramePosition
AgoraVideoFramePosition
Definition: AgoraEnumerates.h:2955
AgoraWlAccStats
Definition: AgoraObjects.h:2918
AgoraVideoLocalState
AgoraVideoLocalState
Definition: AgoraEnumerates.h:855
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
WatermarkOptions
Definition: AgoraObjects.h:1216
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2444
-[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:1771
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
AgoraAudioFramePosition
AgoraAudioFramePosition
Definition: AgoraEnumerates.h:2764
-[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:1902
AgoraDataStreamConfig
Definition: AgoraObjects.h:2072
AgoraMediaPlayerEvent
AgoraMediaPlayerEvent
Definition: AgoraEnumerates.h:2641
AgoraRtcRemoteAudioStats
Definition: AgoraObjects.h:780
AgoraChannelMediaRelayError
AgoraChannelMediaRelayError
Definition: AgoraEnumerates.h:2302
AgoraDirectCdnStreamingError
AgoraDirectCdnStreamingError
Definition: AgoraEnumerates.h:2730
-[AgoraRtcMediaPlayerDelegate-p onAgoraCDNTokenWillExpire]
void onAgoraCDNTokenWillExpire()
AgoraCDN Token has expired and needs to be set up with renewAgoraCDNSrcToken(const char* src).
AgoraUserInfo
Definition: AgoraObjects.h:2020
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
Definition: AgoraEnumerates.h:1350
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1716
AgoraImageTrackOptions
Definition: AgoraObjects.h:2846
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:815
AgoraEncryptionConfig
Definition: AgoraObjects.h:2002
AgoraRhythmPlayerError
AgoraRhythmPlayerError
Definition: AgoraEnumerates.h:2896
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:2699
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:2101
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:797
AgoraEchoTestConfiguration
Definition: AgoraObjects.h:2892
AgoraMediaRecorderErrorCode
AgoraMediaRecorderErrorCode
Definition: AgoraEnumerates.h:3013
AgoraConnectionState
AgoraConnectionState
Definition: AgoraEnumerates.h:1715
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
AgoraContentInspectResult
AgoraContentInspectResult
Definition: AgoraEnumerates.h:2843
AgoraVideoFormat
AgoraVideoFormat
Definition: AgoraEnumerates.h:1668
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:2840
-[AgoraVideoFrameDelegate-p getObservedFramePosition]
AgoraVideoFramePosition getObservedFramePosition()
AgoraRtcAudioVolumeInfo
Definition: AgoraObjects.h:872
AgoraScreenScenarioType
AgoraScreenScenarioType
Definition: AgoraEnumerates.h:2365
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
AgoraMediaRecorderState
AgoraMediaRecorderState
Definition: AgoraEnumerates.h:3004
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:2774
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:2241
-[AgoraRtcEngineKit startPreview]
int startPreview()
AgoraStreamPublishState
AgoraStreamPublishState
Definition: AgoraEnumerates.h:2354
AgoraRtcConnection
Definition: AgoraObjects.h:2647
AgoraLowlightEnhanceOptions
Definition: AgoraObjects.h:2213
AgoraSimulcastStreamMode
AgoraSimulcastStreamMode
Definition: AgoraEnumerates.h:2500
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
Definition: AgoraEnumerates.h:2486
-[AgoraRtcEngineKit getAudioTrackCount]
int getAudioTrackCount()
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:2315
AgoraRtmpStreamingState
AgoraRtmpStreamingState
Definition: AgoraEnumerates.h:2141
AgoraAudioEncodedFrameDelegate-p
Definition: AgoraRtcEngineKit.h:213
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:441
AgoraMediaPlayerPreloadEvent
AgoraMediaPlayerPreloadEvent
The play preload another source event.
Definition: AgoraEnumerates.h:2681
AgoraEncodedAudioFrameInfo
Definition: AgoraObjects.h:1868
AgoraEncodedVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:232
AgoraMediaMetadataDelegate-p
Definition: AgoraRtcEngineKit.h:623
AgoraEncryptionErrorType
AgoraEncryptionErrorType
Definition: AgoraEnumerates.h:2222
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:2529
AgoraMetadataType
AgoraMetadataType
Definition: AgoraEnumerates.h:2063
-[AgoraRtcEngineKit isSecure]
BOOL isSecure()
AgoraNetworkType
AgoraNetworkType
Definition: AgoraEnumerates.h:1739
AgoraMediaRecorderDelegate-p
Definition: AgoraRtcEngineKit.h:7084
AgoraAudioLocalError
AgoraAudioLocalError
Definition: AgoraEnumerates.h:1026
AgoraDirectCdnStreamingState
AgoraDirectCdnStreamingState
Streaming state.
Definition: AgoraEnumerates.h:2715
AgoraColorEnhanceOptions
Definition: AgoraObjects.h:2228
AgoraAudioFrameDelegate-p
Definition: AgoraRtcEngineKit.h:24
AgoraMediaRecorderConfiguration
Definition: AgoraObjects.h:2947
AgoraClientRoleOptions
Definition: AgoraObjects.h:2033
AgoraUploadErrorReason
AgoraUploadErrorReason
Definition: AgoraEnumerates.h:790
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2382
AgoraNetworkQuality
AgoraNetworkQuality
Definition: AgoraEnumerates.h:718
AgoraRtcLocalAudioStats
Definition: AgoraObjects.h:751
AgoraCameraCapturerConfiguration
Definition: AgoraObjects.h:2043
AgoraCloudProxyType
AgoraCloudProxyType
Definition: AgoraEnumerates.h:580
AgoraProxyType
AgoraProxyType
Definition: AgoraEnumerates.h:2920
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
-[AgoraRtcEngineKit stopSecondaryCameraCapture]
int stopSecondaryCameraCapture()
AgoraStreamSubscribeState
AgoraStreamSubscribeState
Definition: AgoraEnumerates.h:2344
AgoraExtensionInfo
Definition: AgoraObjects.h:2998
AgoraMediaPlayerUpdatedInfo
player_id and device_id has value when user trigger interface of opening.
Definition: AgoraObjects.h:109
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:2084
-[AgoraVideoFrameDelegate-p getVideoFormatPreference]
AgoraVideoFormat getVideoFormatPreference()
AgoraLastmileProbeResult
Definition: AgoraObjects.h:547
AgoraChannelStats
Definition: AgoraObjects.h:891
AgoraRtcMediaPlayerAudioFrameDelegate-p
Definition: AgoraRtcEngineKit.h:546