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"
19 @class AgoraRtcEngineKit;
20 
24 @protocol AgoraAudioFrameDelegate <NSObject>
25 @required
26 
42 - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId;
43 
59 - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId;
60 
76 - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId;
77 
94 - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid ;
95 @end
96 
97 @protocol AgoraAudioEncodedFrameDelegate <NSObject>
98 @required
99 
103 - (void)onRecordEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info;
104 
108 - (void)onPlaybackEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info;
109 
113 - (void)onMixedEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info;
114 @end
115 
116 @protocol AgoraEncodedVideoFrameDelegate <NSObject>
117 @optional
118 
123 - (BOOL)onEncodedVideoFrame:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo;
124 @end
125 
126 @protocol AgoraVideoFrameDelegate <NSObject>
127 @optional
128 
145 - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
146 - (BOOL)onSecondaryCameraCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
147 
165 - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
166 
182 - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
200 - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
201 - (BOOL)onSecondaryScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
202 - (BOOL)onTranscodedVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
203 
221 - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid channelId:(NSString * _Nonnull)channelId;
222 
239 - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId;
240 
258 - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)srcFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
259 - (BOOL)onSecondaryCameraCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
278 - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)srcFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
295 - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
296 - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
297 - (BOOL)onSecondaryScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
298 - (BOOL)onTranscodedVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame;
299 
304 - (BOOL)getRotationApplied;
305 
312 - (BOOL)getMirrorApplied;
313 
319 
325 
344 
345 @end
346 
347 @protocol AgoraRtcMediaPlayerDelegate <NSObject>
348 
349 @optional
350 
351 
360 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
361  didChangedToState:(AgoraMediaPlayerState)state
362  error:(AgoraMediaPlayerError)error;
363 
373 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
374  didChangedToPosition:(NSInteger)position;
375 
383 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
384  didOccurEvent:(AgoraMediaPlayerEvent)eventCode
385  elapsedTime:(NSInteger)elapsedTime
386  message:(NSString *_Nullable)message;
387 
399 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
400  didReceiveData:(NSString *_Nullable)data
401  length:(NSInteger)length;
402 
409 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
410  didPlayBufferUpdated:(NSInteger)playCachedBuffer;
411 
418 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
419  didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event;
420 
427 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from;
428 
434 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info;
435 
441 
447 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
448  volumeIndicationDidReceive:(NSInteger)volume;
449 @end
450 
451 
453 
464 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
465  didReceiveVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame;
466 
467 @end
468 
469 
471 
482 - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit
483  didReceiveAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame;
484 
485 @end
486 
487 
493 
494  @optional
495 
502 - (void)onDirectCdnStreamingStateChanged:(AgoraDirectCdnStreamingState)state
503  error:(AgoraDirectCdnStreamingError)error
504  message:(NSString *_Nullable)message;
505 
506 - (void)onDirectCdnStreamingStats:(AgoraDirectCdnStreamingStats *_Nonnull)stats;
507 
508 @end
509 
514 @protocol AgoraMediaMetadataDataSource <NSObject>
515 @required
516 
526 - (NSInteger)metadataMaxSize;
527 
540 - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp sourceType:(AgoraVideoSourceType)sourceType;
541 
542 @end
543 
547 @protocol AgoraMediaMetadataDelegate <NSObject>
548 @required
549 
556 - (void)receiveMetadata:(NSData * _Nonnull)data fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp;
557 
558 @end
559 
566 @protocol AgoraRtcEngineDelegate <NSObject>
567 @optional
568 
569 #pragma mark Delegate Methods
570 
579 #pragma mark Core Delegate Methods
580 
593 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurWarning:(AgoraWarningCode)warningCode;
594 
603 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode;
604 
609 - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine;
610 
615 - (void)rtcEngineMediaEngineDidStartCall:(AgoraRtcEngineKit * _Nonnull)engine;
616 
617 
631 - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine;
632 
646 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token;
647 
648 
655 - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine;
656 
657 
666 - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine;
667 
668 
675 - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine;
676 
683 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type;
684 
691 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type;
692 
700 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine connectionStateChanged:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason;
701 
710 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats;
711 
712 
720 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality;
721 
722 
730 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result;
731 
740 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didApiCallExecute:(NSInteger)error api:(NSString * _Nonnull)api result:(NSString * _Nonnull)result;
741 
742 
748 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRefreshRecordingServiceStatus:(NSInteger)status;
749 
750 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
751 
764 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine device:(NSString * _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger) state;
765 
766 #endif
767 
772 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType;
779 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine uploadLogResultRequestId:(NSString * _Nonnull)requestId success:(BOOL)success reason:(AgoraUploadErrorReason)reason;
780 
781 #pragma mark Local User Core Delegate Methods
782 
796 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed;
797 
811 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRejoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed;
812 
820 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged:(AgoraClientRole)oldRole newRole:(AgoraClientRole)newRole;
821 
829 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChangeFailed:(AgoraClientRoleChangeFailedReason)reason currentRole:(AgoraClientRole)currentRole;
830 
843 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats;
844 
845 
855 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality;
856 
857 
858 #pragma mark Local User Audio Delegate Methods
859 
870 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed;
871 
879 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats;
880 
894 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStateChanged:(AgoraAudioLocalState)state error:(AgoraAudioLocalError)error;
895 
903 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing;
904 
911 - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine;
912 
920 - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId;
921 
922 
923 #pragma mark Local User Video Delegate Methods
924 
935 - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine;
936 
937 #if TARGET_OS_IPHONE
938 
944 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect;
945 
951 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect;
952 
953 #endif
954 
961 - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine;
962 
967 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed;
968 
977 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFrameWithSize:(CGSize)size elapsed:(NSInteger)elapsed;
978 
992 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats;
993 
1004 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalPublishFallbackToAudioOnly:(BOOL)isFallbackOrRecover;
1005 
1006 
1007 #pragma mark Remote User Core Delegate Methods
1008 
1033 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed;
1034 
1051 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason;
1052 
1053 
1063 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data;
1064 
1077 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurStreamMessageErrorFromUid:(NSUInteger)uid streamId:(NSInteger)streamId error:(NSInteger)error missed:(NSInteger)missed cached:(NSInteger)cached;
1078 
1079 
1080 #pragma mark Remote User Audio Delegate Methods
1081 
1094 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed;
1095 
1096 
1115 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed;
1116 
1125 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats;
1126 
1133 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid;
1134 
1135 
1167 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume;
1168 
1169 
1186 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid;
1187 
1194 - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine;
1195 
1200 - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine;
1201 
1210 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioQualityOfUid:(NSUInteger)uid quality:(AgoraNetworkQuality)quality delay:(NSUInteger)delay lost:(NSUInteger)lost;
1211 
1222 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate;
1223 
1224 
1228 - (void)rtcEngineIntraRequestReceived:(AgoraRtcEngineKit *_Nonnull)engine;
1229 
1234 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo;
1235 
1240 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine downlinkNetworkInfoUpdate:(AgoraDownlinkNetworkInfo *_Nonnull)networkInfo;
1241 
1252  - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioSubscribeStateChange:(NSString * _Nonnull)channelId
1253  uid:(unsigned int)uid
1254  oldState:(AgoraStreamSubscribeState)oldState
1255  newState:(AgoraStreamSubscribeState)newState
1256 elapseSinceLastState:(int)elapseSinceLastState;
1257 
1266  - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId
1267  oldState:(AgoraStreamPublishState)oldState
1268  newState:(AgoraStreamPublishState)newState
1269 elapseSinceLastState:(int)elapseSinceLastState;
1270 
1271 #pragma mark String UID
1272 
1279 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount;
1280 
1290 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo;
1291 
1292 #pragma mark Rhythm Player Delegates Methods
1293 
1294 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRhythmPlayerStateChanged:(AgoraRhythmPlayerState)state
1295  errorCode:(AgoraRhythmPlayerError)errorCode;
1296 
1297 #pragma mark Remote User Video Delegates Methods
1298 
1319 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoDecodedOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed __deprecated;
1320 
1328 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed;
1329 
1337 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfUid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation;
1338 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result;
1339 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSString* _Nonnull)channel uid:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode;
1351 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state
1352 error:(AgoraLocalVideoStreamError)error;
1353 
1365 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed;
1366 
1376 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed;
1377 
1386 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
1387 channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state
1388  error:(AgoraChannelMediaRelayError)error;
1389 
1395 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
1396 didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event;
1397 
1410 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead.");
1411 
1426 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead.");
1427 
1438 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid __deprecated_msg("use rtcEngine:remoteVideoStateChangedOfUid:state:reason: instead.");
1439 
1447 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteUserStateChangedOfUid:(NSUInteger)uid state:(NSUInteger)state;
1448 
1460 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats;
1461 
1462 
1475 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRemoteSubscribeFallbackToAudioOnly:(BOOL)isFallbackOrRecover byUid:(NSUInteger)uid;
1476 
1487 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate;
1488 
1499  - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoSubscribeStateChange:(NSString * _Nonnull)channelId
1500  uid:(unsigned int)uid
1501  oldState:(AgoraStreamSubscribeState)oldState
1502  newState:(AgoraStreamSubscribeState)newState
1503 elapseSinceLastState:(int)elapseSinceLastState;
1504 
1514  - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId
1515  oldState:(AgoraStreamPublishState)oldState
1516  newState:(AgoraStreamPublishState)newState
1517 elapseSinceLastState:(int)elapseSinceLastState;
1518 
1519 #pragma mark Stream Publish Delegate Methods
1520 
1544 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingChangedToState:(NSString* _Nonnull)url state:(AgoraRtmpStreamingState)state errCode:(AgoraRtmpStreamingErrorCode)errCode;
1545 
1554 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode;
1555 
1556 
1563 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode;
1564 
1570 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url;
1571 
1576 - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine;
1577 
1585 - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status;
1586 
1592 - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state
1593  errorCode:(AgoraAudioMixingErrorType)errorCode;
1594 
1595 #if TARGET_OS_IPHONE
1596 #pragma mark Face Detection Delegate Methods
1597 
1624 - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces NS_SWIFT_NAME(rtcEngine(_:facePositionDidChangeWidth:previewHeight:faces:));
1625 #endif
1626 
1627 @end
1628 
1629 #pragma mark - AgoraRtcEngineKit
1630 
1641 __attribute__((visibility("default"))) @interface AgoraRtcEngineKit : NSObject
1642 
1643 #pragma mark Core Methods
1644 
1656 @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate;
1657 
1720 - (int)joinChannelByToken:(NSString * _Nullable)token
1721  channelId:(NSString * _Nonnull)channelId
1722  info:(NSString * _Nullable)info
1723  uid:(NSUInteger)uid
1724  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;
1725 
1786 - (int)joinChannelByToken:(NSString * _Nullable)token
1787  channelId:(NSString * _Nonnull)channelId
1788  uid:(NSUInteger)uid
1789  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
1790  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;
1791 
1792 - (int)startMultipleVideoStreams:(VIEW_CLASS * _Nonnull)view screen:(VIEW_CLASS * _Nonnull)screenView remotes:(NSArray * _Nullable)remoteViews;
1793 
1794 
1820 - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock;
1821 
1848 - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options
1849  leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock;
1850 
1868 - (int)setChannelProfile:(AgoraChannelProfile)profile;
1869 
1878 - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions;
1879 
1895 - (int)setClientRole:(AgoraClientRole)role;
1896 
1924 - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options;
1925 
1942 - (int)renewToken:(NSString * _Nonnull)token;
1943 
1950 
1971 - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config;
1972 
1989 - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config;
1990 
2002 - (int)stopChannelMediaRelay;
2003 
2010 
2017 
2018 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2019 
2020 - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config;
2021 
2022 - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config;
2023 
2024 - (int)stopLocalVideoTranscoder;
2025 
2026 #endif
2027 
2037 - (int)enableWebSdkInteroperability:(BOOL)enabled __deprecated;
2038 
2053 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId
2054  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate;
2055 
2076 + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config
2077  delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate;
2078 
2095 + (void)destroy;
2096 
2097 #pragma mark Core Audio
2098 
2117 - (int)enableAudio;
2118 
2130 - (int)disableAudio;
2131 
2154 - (int)enableLocalAudio:(BOOL)enabled;
2155 
2171 - (int)setAudioProfile:(AgoraAudioProfile)profile;
2172 
2194 - (int)enableAudioVolumeIndication:(NSInteger)interval
2195  smooth:(NSInteger)smooth
2196  reportVad:(BOOL)reportVad;
2197 
2198 
2199 #if TARGET_OS_IPHONE
2200 
2217 - (int)setEnableSpeakerphone:(BOOL)enableSpeaker;
2218 
2228 - (BOOL)isSpeakerphoneEnabled;
2229 
2257 - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker;
2258 #endif
2259 
2271 - (int)adjustRecordingSignalVolume:(NSInteger)volume;
2272 
2284 - (int)adjustPlaybackSignalVolume:(NSInteger)volume;
2285 
2305 - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume;
2306 
2315 -(int)muteRecordingSignal:(BOOL)muted;
2316 
2327 - (int)muteLocalAudioStream:(BOOL)mute;
2328 
2342 - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute;
2343 
2369 - (int)muteAllRemoteAudioStreams:(BOOL)mute;
2370 
2385 - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute __deprecated;
2386 
2387 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled;
2388 
2403 - (int)enableExtensionWithVendor:(NSString * __nonnull)provider
2404  extension:(NSString * __nonnull)extension
2405  enabled:(BOOL)enabled
2406  sourceType:(AgoraMediaSourceType)sourceType;
2407 
2419 - (int)setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider
2420  key:(NSString * __nonnull)key
2421  value:(NSString * __nonnull)value;
2422 
2423 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2424  extension:(NSString * __nonnull)extension
2425  key:(NSString * __nonnull)key
2426  value:(NSString * __nonnull)value;
2427 
2441 - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider
2442  extension:(NSString * __nonnull)extension
2443  key:(NSString * __nonnull)key
2444  value:(NSString * __nonnull)value
2445  sourceType:(AgoraMediaSourceType)sourceType;
2446 
2447 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
2448 
2468 - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName;
2469 
2482 - (int)adjustLoopbackRecordingVolume:(NSInteger)volume;
2483 
2490 - (int)getLoopbackRecordingVolume;
2491 
2492 #endif
2493 
2494 #pragma mark Core Video
2495 
2516 - (int)enableVideo;
2517 
2527 - (int)disableVideo;
2528 
2554 - (int)enableLocalVideo:(BOOL)enabled;
2555 
2556 
2573 - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config;
2574 
2575 
2595 - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local;
2596 
2600 - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode __deprecated;
2601 
2605 - (int)setLocalRenderMode:(NSUInteger)uid
2606  mode:(AgoraVideoRenderMode) mode __deprecated;
2607 
2626 - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode
2627  mirror:(AgoraVideoMirrorMode)mirror;
2628 
2641 - (int)startPreview;
2642 
2650 - (int)stopPreview;
2651 
2652 
2663 - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote;
2664 
2674 - (int)setRemoteRenderMode:(NSUInteger)uid
2675  mode:(AgoraVideoRenderMode)mode
2676  mirror:(AgoraVideoMirrorMode)mirror;
2677 
2678 
2691 - (int)muteLocalVideoStream:(BOOL)mute;
2692 
2718 - (int)muteAllRemoteVideoStreams:(BOOL)mute;
2719 
2734 - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute __deprecated;
2735 
2751 - (int)muteRemoteVideoStream:(NSUInteger)uid
2752  mute:(BOOL)mute;
2753 
2767 - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options;
2768 
2816 - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData NS_SWIFT_NAME(enableVirtualBackground(_:backData:));
2817 
2818 #if TARGET_OS_IPHONE
2819 
2875 - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable;
2876 #endif
2877 #pragma mark Audio Effect
2878 
2893 - (int)setLocalVoicePitch:(double)pitch;
2894 
2902 - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain;
2903 
2911 - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value;
2912 
2913 #pragma mark Audio Effect Playback
2914 
2943 - (int)preloadEffect:(int)soundId
2944  filePath:(NSString* _Nonnull)filePath;
2945 
2971 - (int)preloadEffect:(int)soundId
2972  filePath:(NSString* _Nonnull)filePath
2973  startPos:(int)startPos;
2974 
2998 - (int)playEffect:(int)soundId
2999  filePath:(NSString* _Nonnull)filePath
3000  loopCount:(NSInteger)loopCount
3001  pitch:(double)pitch
3002  pan:(double)pan
3003  gain:(NSInteger)gain;
3004 
3029 - (int)playEffect:(int)soundId
3030  filePath:(NSString* _Nonnull)filePath
3031  loopCount:(NSInteger)loopCount
3032  pitch:(double)pitch
3033  pan:(double)pan
3034  gain:(NSInteger)gain
3035  startPos:(int)startPos;
3036 
3068 - (int)playEffect:(int)soundId
3069  filePath:(NSString* _Nonnull)filePath
3070  loopCount:(NSInteger)loopCount
3071  pitch:(double)pitch
3072  pan:(double)pan
3073  gain:(NSInteger)gain
3074  publish:(BOOL)publish;
3075 
3108 - (int)playEffect:(int)soundId
3109  filePath:(NSString* _Nonnull)filePath
3110  loopCount:(NSInteger)loopCount
3111  pitch:(double)pitch
3112  pan:(double)pan
3113  gain:(NSInteger)gain
3114  publish:(BOOL)publish
3115  startPos:(int)startPos;
3116 
3147 - (int)playAllEffectsWithLoopCount:(NSInteger)loopCount
3148  pitch:(double)pitch
3149  pan:(double)pan
3150  gain:(NSInteger)gain
3151  publish:(BOOL)publish;
3152 
3160 - (int)getEffectsVolume;
3161 
3171 - (int)setEffectsVolume:(NSInteger)volume;
3172 
3183 - (int)setVolumeOfEffect:(int)soundId
3184  withVolume:(int)volume;
3185 
3195 - (int)getVolumeOfEffect:(int)soundId;
3196 
3204 - (int)pauseEffect:(int)soundId;
3205 
3211 - (int)pauseAllEffects;
3212 
3220 - (int)resumeEffect:(int)soundId;
3221 
3227 - (int)resumeAllEffects;
3228 
3236 - (int)stopEffect:(int)soundId;
3237 
3244 - (int)stopAllEffects;
3245 
3253 - (int)unloadEffect:(int)soundId;
3254 
3261 - (int)unloadAllEffects;
3262 
3263 #pragma mark beautifier effect
3264 
3301 - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset;
3302 
3340 - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset;
3341 
3379 - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset;
3380 
3456 - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2;
3457 
3500 - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2;
3501 
3514 - (int)setVoiceConversionParameters:(AgoraVoiceConversionPreset)preset param1:(int)param1 param2:(int)param2;
3515 
3516 
3517 
3518 #pragma mark Sound Position Indication
3519 
3538 - (int)enableSoundPositionIndication:(BOOL)enabled;
3539 
3563 - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain;
3564 
3575 - (int)enableSpatialAudio:(BOOL)enabled;
3576 
3592 - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid
3593  params:(AgoraSpatialAudioParams* _Nonnull)params;
3594 
3595 
3596 #pragma mark Audio Mixing
3597 
3637 - (int)startAudioMixing:(NSString * _Nonnull)filePath
3638  loopback:(BOOL)loopback
3639  replace:(BOOL)replace
3640  cycle:(NSInteger)cycle;
3641 
3677 - (int)startAudioMixing:(NSString * _Nonnull)filePath
3678  loopback:(BOOL)loopback
3679  replace:(BOOL)replace
3680  cycle:(NSInteger)cycle
3681  startPos:(NSInteger)startPos;
3682 
3692 - (int)stopAudioMixing;
3693 
3702 - (int)pauseAudioMixing;
3703 
3713 - (int)resumeAudioMixing;
3714 
3725 - (int)adjustAudioMixingVolume:(NSInteger)volume;
3726 
3727 
3736 - (int)adjustAudioMixingPublishVolume:(NSInteger)volume;
3737 
3746 - (int)getAudioMixingPublishVolume;
3747 
3756 - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume;
3757 
3766 - (int)getAudioMixingPlayoutVolume;
3767 
3768 
3778 - (int)getAudioMixingDuration;
3779 
3788 - (int)getAudioMixingCurrentPosition;
3789 
3800 - (int)setAudioMixingPosition:(NSInteger)pos;
3801 
3811 - (int)setAudioMixingPitch:(NSInteger)pitch;
3812 
3813 #pragma mark Audio Recording
3814 
3835 - (int)startAudioRecording:(NSString * _Nonnull)filePath
3836  quality:(AgoraAudioRecordingQuality)quality;
3837 
3838 - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config;
3839 
3840 - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull) config;
3848 - (int)stopAudioRecording;
3849 
3850 #pragma mark Echo Test
3851 
3869 - (int)startEchoTest:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock;
3870 
3891 - (int)startEchoTestWithInterval:(NSInteger)interval
3892  successBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock;
3893 
3901 - (int)stopEchoTest;
3902 
3903 
3904 #pragma mark Miscellaneous Audio Control
3905 
3921 - (int)enableInEarMonitoring:(BOOL)enabled;
3922 
3934 - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters;
3935 
3947 - (int)setInEarMonitoringVolume:(NSInteger)volume;
3948 
3949 #if TARGET_OS_IPHONE
3950 
3959 - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction;
3960 
3961 #endif
3962 
3963 #pragma mark Dual Video Mode
3964 
3980 - (int)enableDualStreamMode:(BOOL)enabled;
3981 
3998 - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled;
3999 
4018 - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType
4019  enabled:(BOOL)enabled
4020  streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig;
4021 
4041 - (int)setRemoteVideoStream:(NSUInteger)uid
4042  type:(AgoraVideoStreamType)streamType;
4043 
4044 
4055 - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType;
4056 
4057 
4058 #pragma mark Stream Fallback
4059 
4082 - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option;
4083 
4095 - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option;
4096 
4097 #pragma mark Video Quality Control
4098 
4114 - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality;
4115 
4116 #pragma mark External Media Source
4117 
4142 - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType;
4143 
4161 - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame;
4162 
4163 #pragma mark External Audio Data
4164 
4176 - (void)enableExternalAudioSink:(NSUInteger)sampleRate
4177  channels:(NSUInteger)channels;
4178 
4200 - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data
4201  lengthInByte:(NSUInteger)lengthInByte;
4202 
4226 - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte;
4227 
4228 
4247 - (int)setExternalAudioSource:(BOOL)enabled
4248  sampleRate:(NSInteger)sampleRate
4249  channels:(NSInteger)channels;
4250 
4251 - (int)enableEchoCancellationExternal:(BOOL)enabled
4252  audioSourceDelay:(NSInteger)audioSourceDelay;
4272 - (int)setExternalAudioSource:(BOOL)enabled
4273  sampleRate:(NSInteger)sampleRate
4274  channels:(NSInteger)channels
4275  sourceNumber:(NSInteger)sourceNumber
4276  localPlayback:(BOOL)localPlayback
4277  publish:(BOOL)publish;
4278 
4293 - (int)enableCustomAudioLocalPlayback:(NSInteger)sourceId enabled:(BOOL)enabled;
4294 
4303 - (int)pushExternalAudioFrameNSData:(NSData * _Nonnull)data
4304  sourceId:(NSInteger)sourceId
4305  timestamp:(NSTimeInterval)timestamp;
4306 
4316 - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data
4317  samples:(NSInteger)samples
4318  sourceId:(NSInteger)sourceId
4319  timestamp:(NSTimeInterval)timestamp;
4320 
4334 - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data
4335  samples:(NSInteger)samples
4336  sampleRate:(NSInteger)sampleRate
4337  channels:(NSInteger)channels
4338  sourceId:(NSInteger)sourceId
4339  timestamp:(NSTimeInterval)timestamp;
4348 - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer;
4349 
4350 - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame;
4351 
4352 - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame;
4360 - (int)setDirectExternalAudioSource:(BOOL)enabled;
4361 
4370 - (int)setDirectExternalAudioSource:(BOOL)enabled localPlayback:(BOOL)localPlayback;
4371 
4379 - (int)pushDirectAudioFrameNSData:(NSData* _Nonnull)data;
4380 
4393 - (int)pushDirectAudioFrameRawData:(void* _Nonnull)data
4394  samples:(NSInteger)samples
4395  sampleRate:(NSInteger)sampleRate
4396  channels:(NSInteger)channels;
4397 
4408 - (int)enableExternalAudioSourceLocalPlayback:(BOOL)enable;
4409 
4433 - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
4434  channel:(NSInteger)channel
4436  samplesPerCall:(NSInteger)samplesPerCall;
4461 - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
4462  channel:(NSInteger)channel
4464  samplesPerCall:(NSInteger)samplesPerCall;
4465 
4483 - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate
4484  channel:(NSInteger)channel
4485  samplesPerCall:(NSInteger)samplesPerCall;
4486 
4500 - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate
4501  channel:(NSInteger)channel;
4502 /*
4503  * Adjust the custom audio publish volume by source id.
4504  * @param sourceId custom audio source id.
4505  * @param volume The volume, range is [0,100]:
4506  * 0: mute, 100: The original volume
4507  * @return
4508  * - 0: Success.
4509  * - < 0: Failure.
4510  */
4511 - (int)adjustCustomAudioPublishVolume:(NSInteger)sourceId volume:(NSInteger)volume;
4512 
4513 /*
4514  * Adjust the custom audio playout volume by source id.
4515  * @param sourceId custom audio source id.
4516  * @param volume The volume, range is [0,100]:
4517  * 0: mute, 100: The original volume
4518  * @return
4519  * - 0: Success.
4520  * - < 0: Failure.
4521  */
4522 - (int)adjustCustomAudioPlayoutVolume:(NSInteger)sourceId volume:(NSInteger)volume;
4523 
4524 #pragma mark Audio spectrum monitor
4525 
4536 - (int)enableAudioSpectrumMonitor:(int)intervalInMS;
4537 
4546 
4559 - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate;
4560 
4569 - (int) unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate;
4570 
4571 #pragma mark Built-in Encryption
4572 
4602 - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config;
4603 
4604 
4605 #pragma mark Data Stream
4606 
4630 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4631  reliable:(BOOL)reliable
4632  ordered:(BOOL)ordered;
4642 - (int)createDataStream:(NSInteger * _Nonnull)streamId
4643  config:(AgoraDataStreamConfig * _Nonnull)config;
4667 - (int)sendStreamMessage:(NSInteger)streamId
4668  data:(NSData * _Nonnull)data;
4669 
4670 #pragma mark Stream Publish
4671 
4690 - (int)addPublishStreamUrl:(NSString * _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled;
4691 
4702 - (int)removePublishStreamUrl:(NSString * _Nonnull)url;
4703 
4711 - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding;
4712 
4720 - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url;
4721 
4730 - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding;
4731 
4748 - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding;
4749 
4767 - (int)stopRtmpStream:(NSString* _Nonnull)url;
4768 
4779 - (int)addInjectStreamUrl:(NSString * _Nonnull)url config:(AgoraLiveInjectStreamConfig * _Nonnull)config;
4780 
4788 - (int)removeInjectStreamUrl:(NSString * _Nonnull)url;
4789 
4790 
4791 #pragma mark Deprecated CDN Publisher
4792 
4807 - (int)configPublisher:(AgoraPublisherConfiguration * _Nonnull)config __deprecated;
4808 
4826 - (int)setVideoCompositingLayout:(AgoraRtcVideoCompositingLayout * _Nonnull)layout __deprecated;
4827 
4833 - (int)clearVideoCompositingLayout __deprecated;
4834 
4835 
4836 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
4837 #pragma mark Screen Capture
4838 
4862 - (int)startScreenCaptureByDisplayId:(UInt32)displayId
4863  regionRect:(CGRect)regionRect
4864  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams;
4865 
4885 - (int)startScreenCaptureByWindowId:(UInt32)windowId
4886  regionRect:(CGRect)regionRect
4887  captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams;
4888 
4896 - (int)stopScreenCapture;
4897 
4907 - (int)updateScreenCaptureRegion:(CGRect)rect;
4908 
4918 - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams;
4920 #endif
4921 
4922 #if TARGET_OS_IPHONE
4923 #pragma mark Camera Control
4924 
4937 - (BOOL)isCameraZoomSupported;
4938 
4945 - (CGFloat)cameraMaxZoomFactor;
4946 
4953 - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor;
4954 
4962 - (BOOL)isCameraFocusPositionInPreviewSupported;
4963 
4971 - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position;
4972 
4980 - (BOOL)isCameraExposurePositionSupported;
4981 
4989 - (BOOL)setCameraExposurePosition:(CGPoint)positionInView;
4990 
4999 - (BOOL)isCameraTorchSupported;
5000 
5012 - (BOOL)setCameraTorchOn:(BOOL)isOn;
5013 
5021 - (BOOL)isCameraAutoFocusFaceModeSupported;
5022 
5034 - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable;
5035 
5043 - (BOOL)isCameraAutoExposureFaceModeSupported;
5044 
5056 - (BOOL)setCameraAutoExposureFaceModeEnabled:(BOOL)enable;
5057 
5066 - (int)switchCamera;
5067 
5079 - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config;
5080 #endif
5081 
5082 
5083 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
5084 #pragma mark macOS Device
5085 
5097 - (void)monitorDeviceChange:(BOOL)enabled;
5098 
5111 - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type;
5112 
5120 - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type;
5121 
5132 - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId;
5133 
5142 - (int)getDeviceVolume:(AgoraMediaDeviceType)type;
5143 
5153 - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume;
5154 
5165 - (int)startRecordingDeviceTest:(int)indicationInterval;
5166 
5176 - (int)stopRecordingDeviceTest;
5177 
5192 - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName;
5193 
5203 - (int)stopPlaybackDeviceTest;
5204 
5218 -(int)startAudioDeviceLoopbackTest:(int)indicationInterval;
5219 
5227 -(int)stopAudioDeviceLoopbackTest;
5228 
5237 - (int)startCaptureDeviceTest:(NSView * _Nonnull)view;
5238 
5245 - (int)stopCaptureDeviceTest;
5246 #endif
5247 
5248 
5249 #pragma mark Server Recording
5250 
5258 - (int)startRecordingService:(NSString * _Nonnull)recordingKey;
5259 
5262 - (int)stopRecordingService:(NSString * _Nonnull)recordingKey;
5263 
5269 - (int)refreshRecordingServiceStatus;
5270 
5271 #pragma mark Face Detection
5272 
5273 #if TARGET_OS_IPHONE
5274 
5298 - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:));
5299 #endif
5300 
5301 #pragma mark Watermark
5302 
5314 - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark NS_SWIFT_NAME(addVideoWatermark(_:))__deprecated_msg("use addVideoWatermark:url options instead.");
5315 
5341 - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options;
5342 
5347 - (int)clearVideoWatermarks;
5348 
5349 /* switch to another channel
5350 @return * 0: Success.
5351  * < 0: Failure.
5352  */
5353 -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName;
5354 #pragma mark String UID
5355 
5387 - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount;
5388 
5423 - (int)joinChannelByToken:(NSString * _Nullable)token
5424  channelId:(NSString * _Nonnull)channelId
5425  userAccount:(NSString * _Nonnull)userAccount
5426  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;
5427 
5463 - (int)joinChannelByToken:(NSString * _Nullable)token
5464  channelId:(NSString * _Nonnull)channelId
5465  userAccount:(NSString * _Nonnull)userAccount
5466  mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions
5467  joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;
5468 
5479 - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error;
5480 
5491 - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error;
5492 
5493 #pragma mark Custom Audio PCM Frame
5494 
5501 - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate;
5502 
5503 #pragma mark Custom Video Frame
5504 
5516 - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate;
5517 
5518 #pragma mark Encoded Video Frame
5519 
5531 - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate;
5532 
5533 #pragma mark Custom Media Metadata
5534 
5557 - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type;
5558 
5574 - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type;
5575 
5576 #pragma mark Miscellaneous Methods
5577 
5588 + (NSString * _Nonnull)getSdkVersion;
5589 
5595 + (NSString* _Nonnull)getErrorDescription: (NSInteger)error;
5596 
5597 
5602 - (void * _Nullable)getNativeHandle;
5603 
5604 
5628 - (int)setLogFile:(NSString * _Nonnull)filePath;
5629 
5644 - (int)setLogFilter:(NSUInteger)filter;
5645 
5660 - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes;
5661 
5669 - (NSString * _Nullable)uploadLogFile;
5670 
5681 - (NSString * _Nullable)getCallId;
5682 
5703 - (int)rate:(NSString * _Nonnull)callId
5704  rating:(NSInteger)rating
5705 description:(NSString * _Nullable)description;
5706 
5724 - (int)complain:(NSString * _Nonnull)callId
5725  description:(NSString * _Nullable)description;
5726 
5727 
5738 - (int)enableMainQueueDispatch:(BOOL)enabled;
5739 
5740 
5761 - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config;
5762 
5770 - (int)stopLastmileProbeTest;
5771 
5778 - (int)setParameters:(NSString * _Nonnull)options;
5779 
5785 - (NSString * _Nullable)getParameter:(NSString * _Nonnull)parameter
5786  args:(NSString * _Nullable)args;
5787 
5788 #pragma mark MediaPlayer
5789 
5798 - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate;
5799 
5811 - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer;
5812 
5818 - (id<AgoraRtcMediaPlayerProtocol> _Nullable)getMediaPlayer:(int)mediaPlayerId;
5819 
5820 #pragma mark rhythm player
5821 
5832 - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config;
5833 
5840 - (int)stopRhythmPlayer;
5841 
5850 - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config;
5851 
5852 #pragma mark Streaming Kit
5853 
5866 - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile;
5867 
5882 - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config;
5883 
5895 - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate
5896  publishUrl:(NSString * _Nonnull)publishUrl
5897  mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options;
5898 
5908 - (int)stopDirectCdnStreaming;
5909 
5919 - (int)updateDirectCdnStreamingMediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options;
5920 
5929 - (int)pushDirectCdnStreamingCustomVideoFrame:(AgoraVideoFrame * _Nonnull)frame;
5930 
5931 
5932 #pragma mark Deprecated Methods
5933 
5950 - (void)audioVolumeIndicationBlock:(void(^ _Nullable)(NSArray * _Nonnull speakers, NSInteger totalVolume))audioVolumeIndicationBlock __deprecated_msg("use delegate instead.");
5951 
5960 - (void)firstLocalVideoFrameBlock:(void(^ _Nullable)(NSInteger width, NSInteger height, NSInteger elapsed))firstLocalVideoFrameBlock __deprecated_msg("use delegate instead.");
5961 
5972 - (void)firstRemoteVideoDecodedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoDecodedBlock __deprecated_msg("use delegate instead.");
5973 
5983 - (void)firstRemoteVideoFrameBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger width, NSInteger height, NSInteger elapsed))firstRemoteVideoFrameBlock __deprecated_msg("use delegate instead.");
5984 
5994 - (void)userJoinedBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger elapsed))userJoinedBlock __deprecated_msg("use delegate instead.");
5995 
6004 - (void)userOfflineBlock:(void(^ _Nullable)(NSUInteger uid))userOfflineBlock __deprecated_msg("use delegate instead.");
6005 
6015 - (void)userMuteAudioBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteAudioBlock __deprecated_msg("use delegate instead.");
6016 
6031 - (void)userMuteVideoBlock:(void(^ _Nullable)(NSUInteger uid, BOOL muted))userMuteVideoBlock __deprecated_msg("use delegate instead.");
6032 
6040 - (void)localVideoStatBlock:(void(^ _Nullable)(NSInteger sentBitrate, NSInteger sentFrameRate))localVideoStatBlock __deprecated_msg("use delegate instead.");
6041 
6051 - (void)remoteVideoStatBlock:(void(^ _Nullable)(NSUInteger uid, NSInteger delay, NSInteger receivedBitrate, NSInteger receivedFrameRate))remoteVideoStatBlock __deprecated_msg("use delegate instead.");
6052 
6056 - (void)cameraReadyBlock:(void(^ _Nullable)(void))cameraReadyBlock __deprecated_msg("use delegate instead.");
6057 
6061 - (void)connectionLostBlock:(void(^ _Nullable)(void))connectionLostBlock __deprecated_msg("use delegate instead.");
6062 
6073 - (void)rejoinChannelSuccessBlock:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))rejoinChannelSuccessBlock __deprecated_msg("use delegate instead.");
6074 
6081 - (void)rtcStatsBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))rtcStatsBlock __deprecated_msg("use delegate instead.");
6082 
6091 - (void)leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock __deprecated_msg("use delegate instead.");
6092 
6102 - (void)audioQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality quality, NSUInteger delay, NSUInteger lost))audioQualityBlock __deprecated_msg("use delegate instead.");
6103 
6112 - (void)networkQualityBlock:(void(^ _Nullable)(NSUInteger uid, AgoraNetworkQuality txQuality, AgoraNetworkQuality rxQuality))networkQualityBlock __deprecated_msg("use delegate instead.");
6113 
6120 - (void)lastmileQualityBlock:(void(^ _Nullable)(AgoraNetworkQuality quality))lastmileQualityBlock __deprecated_msg("use delegate instead.");
6121 
6125 - (void)mediaEngineEventBlock:(void(^ _Nullable)(NSInteger code))mediaEngineEventBlock __deprecated_msg("use delegate instead.");
6126 
6136 - (int)pauseAudio __deprecated_msg("use disableAudio instead.");
6137 
6147 - (int)resumeAudio __deprecated_msg("use enableAudio instead.");
6148 
6155 + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)AppId
6156  error:(void(^ _Nullable)(AgoraErrorCode errorCode))errorBlock __deprecated_msg("use sharedEngineWithAppId:delegate: instead.");
6157 
6163 - (int)setHighQualityAudioParametersWithFullband:(BOOL)fullband
6164  stereo:(BOOL)stereo
6165  fullBitrate:(BOOL)fullBitrate __deprecated_msg("use setAudioProfile:scenario: instead.");
6166 
6184 - (int)setVideoProfile:(AgoraVideoProfile)profile
6185  swapWidthAndHeight:(BOOL)swapWidthAndHeight __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6186 
6205 - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate __deprecated_msg("use setVideoEncoderConfiguration: instead.");
6206 
6225 - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario __deprecated;
6226 
6234 - (NSString * _Nullable)getDeviceId:(AgoraMediaDeviceType)type __deprecated_msg("use getDeviceInfo: instead.");
6235 
6236 #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC))
6237 
6246 - (int)setSpeakerphoneVolume:(NSUInteger)volume __deprecated_msg("use setDeviceVolume:volume: instead.");
6247 
6248 - (int)startScreenCapture:(NSUInteger)windowId
6249  withCaptureFreq:(NSInteger)captureFreq
6250  bitRate:(NSInteger)bitRate
6251  andRect:(CGRect)rect __deprecated_msg("use startScreenCaptureByWindowId:regionRect:captureParams: instead.");
6252 #endif
6253 
6259 + (NSString * _Nonnull)getMediaEngineVersion __deprecated;
6260 
6261 - (int)setAudioOptionParams:(NSString * _Nonnull)params;
6262 - (NSString * _Nullable)getAudioOptionParams;
6263 - (int)setAudioSessionParams:(NSString * _Nonnull)params;
6264 - (NSString * _Nullable)getAudioSessionParams;
6265 
6273 - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options;
6274 
6275 - (BOOL)isSecure;
6276 
6277 
6287 - (int)sendCustomReportMessage:(NSString * _Nullable)messageId
6288  category:(NSString * _Nullable)category
6289  event:(NSString * _Nullable)event
6290  label:(NSString * _Nullable)label
6291  value:(NSInteger)value;
6292 
6308 - (int)setLogLevel:(AgoraLogLevel)level;
6309 
6325 - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode __deprecated_msg("use enableEncryption: instead.");
6326 
6341 - (int)setEncryptionSecret:(NSString * _Nullable)secret __deprecated_msg("use enableEncryption: instead.");
6342 
6343 - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath completion:(id<AgoraSnapshotCallbackDelegate> _Nonnull)snapshotDelegate;
6351 - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:));
6352 
6391 - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:));
6392 
6393 - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config;
6394 
6409 - (int) enableFishCorrection:(BOOL)enable
6410  params:(AgoraFishCorrectionParams *_Nullable)params;
6411 
6422 - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid;
6423 @end
-[AgoraRtcEngineKit enableAudio]
int enableAudio()
AgoraRtcEngineKit::delegate
id< AgoraRtcEngineDelegate > _Nullable delegate
Definition: AgoraRtcEngineKit.h:1656
AgoraLocalVideoStreamError
AgoraLocalVideoStreamError
Definition: AgoraEnumerates.h:813
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:1642
AgoraRtcEngineDelegate2.h
AgoraRtcEngineDelegate-p
Definition: AgoraRtcEngineKit.h:566
AgoraMediaPlayerState
AgoraMediaPlayerState
Player state.
Definition: AgoraEnumerates.h:2254
AgoraFacePositionInfo
Definition: AgoraObjects.h:2193
AgoraConnectionChangedReason
AgoraConnectionChangedReason
Definition: AgoraEnumerates.h:1662
-[AgoraRtcEngineKit cameraMaxZoomFactor]
CGFloat cameraMaxZoomFactor()
-[AgoraRtcEngineKit stopChannelMediaRelay]
int stopChannelMediaRelay()
AgoraDirectCdnStreamingStats
Definition: AgoraObjects.h:56
-[AgoraRtcEngineKit getConnectionState]
AgoraConnectionState getConnectionState()
AgoraRtcChannelMediaOptions
Definition: AgoraObjects.h:124
AgoraAudioScenario
AgoraAudioScenario
Definition: AgoraEnumerates.h:1115
AgoraRtmpStreamingErrorCode
AgoraRtmpStreamingErrorCode
Definition: AgoraEnumerates.h:1918
AgoraEarMonitoringFilterType
AgoraEarMonitoringFilterType
Definition: AgoraEnumerates.h:2461
AgoraRhythmPlayerConfig
Definition: AgoraObjects.h:2175
AgoraBeautyOptions
Definition: AgoraObjects.h:1824
AgoraPermissionType
AgoraPermissionType
Definition: AgoraEnumerates.h:2416
AgoraMediaPlayerError
AgoraMediaPlayerError
Definition: AgoraEnumerates.h:2323
AgoraRtcMediaPlayerProtocol.h
AgoraOutputVideoFrame
Definition: AgoraObjects.h:1620
-[AgoraMediaMetadataDataSource-p metadataMaxSize]
NSInteger metadataMaxSize()
AgoraClientRole
AgoraClientRole
Definition: AgoraEnumerates.h:501
AgoraUserOfflineReason
AgoraUserOfflineReason
Definition: AgoraEnumerates.h:566
AgoraAudioRemoteReason
AgoraAudioRemoteReason
Definition: AgoraEnumerates.h:1018
-[AgoraVideoFrameDelegate-p getRotationApplied]
BOOL getRotationApplied()
AgoraMediaPlayerSrcInfo
The information of the media stream object.
Definition: AgoraObjects.h:40
-[AgoraRtcEngineKit switchCamera]
int switchCamera()
AgoraDirectCdnStreamingEventDelegate-p
Definition: AgoraRtcEngineKit.h:492
AgoraRhythmPlayerState
AgoraRhythmPlayerState
Definition: AgoraEnumerates.h:2548
AgoraChannelMediaRelayEvent
AgoraChannelMediaRelayEvent
Definition: AgoraEnumerates.h:2018
AgoraMediaMetadataDataSource-p
Definition: AgoraRtcEngineKit.h:514
AgoraVideoFrame
Definition: AgoraObjects.h:1367
AgoraSimulcastStreamConfig
Definition: AgoraObjects.h:1996
AgoraRtmpStreamingEvent
AgoraRtmpStreamingEvent
Definition: AgoraEnumerates.h:1959
AgoraClientRoleChangeFailedReason
AgoraClientRoleChangeFailedReason
Definition: AgoraEnumerates.h:1751
AgoraVoiceConversionPreset
AgoraVoiceConversionPreset
Definition: AgoraEnumerates.h:1458
AgoraScreenCaptureParameters
Definition: AgoraObjects.h:1942
AgoraAudioRawFrameOperationMode
AgoraAudioRawFrameOperationMode
Definition: AgoraEnumerates.h:1173
AgoraVideoFrameProcessMode
AgoraVideoFrameProcessMode
Definition: AgoraEnumerates.h:1557
+[AgoraRtcEngineKit destroy]
void destroy()
AgoraVideoRemoteReason
AgoraVideoRemoteReason
Definition: AgoraEnumerates.h:869
AgoraAudioLocalState
AgoraAudioLocalState
Definition: AgoraEnumerates.h:924
AgoraRtcRemoteVideoStats
Definition: AgoraObjects.h:484
-[AgoraVideoFrameDelegate-p getVideoPixelFormatPreference]
AgoraVideoFormat getVideoPixelFormatPreference()
AgoraContentInspectConfig
Definition: AgoraObjects.h:2071
AgoraAudioEncodedFrameDelegateConfig
Definition: AgoraObjects.h:2054
AgoraAudioRemoteState
AgoraAudioRemoteState
Definition: AgoraEnumerates.h:986
AgoraChannelMediaRelayState
AgoraChannelMediaRelayState
Definition: AgoraEnumerates.h:2001
AgoraDirectCdnStreamingMediaOptions
Definition: AgoraObjects.h:83
AgoraAudioProfile
AgoraAudioProfile
Definition: AgoraEnumerates.h:1076
AgoraVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:126
AgoraRtcMediaPlayerProtocol-p
Definition: AgoraRtcMediaPlayerProtocol.h:23
AgoraLastmileProbeConfig
Definition: AgoraObjects.h:322
AgoraVideoFramePosition
AgoraVideoFramePosition
Definition: AgoraEnumerates.h:2602
AgoraVideoLocalState
AgoraVideoLocalState
Definition: AgoraEnumerates.h:793
-[AgoraRtcEngineKit stopLastmileProbeTest]
int stopLastmileProbeTest()
WatermarkOptions
Definition: AgoraObjects.h:993
AgoraVideoSourceType
AgoraVideoSourceType
Definition: AgoraEnumerates.h:2183
AgoraRtcMediaPlayerDelegate-p
Definition: AgoraRtcEngineKit.h:347
AgoraAudioFrame
Definition: AgoraObjects.h:1549
-[AgoraRtcEngineKit stopDirectCdnStreaming]
int stopDirectCdnStreaming()
AgoraSnapshotCallback.h
-[AgoraVideoFrameDelegate-p getMirrorApplied]
BOOL getMirrorApplied()
VIEW_CLASS
UIView VIEW_CLASS
Definition: AgoraObjects.h:16
AgoraChannelProfile
AgoraChannelProfile
Definition: AgoraEnumerates.h:459
-[AgoraRtcEngineKit uploadLogFile]
NSString *_Nullable uploadLogFile()
-[AgoraRtcEngineKit pauseAllChannelMediaRelay]
int pauseAllChannelMediaRelay()
-[AgoraRtcEngineKit stopPreview]
int stopPreview()
AgoraRtcMediaPlayerVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:452
AgoraLeaveChannelOptions
Definition: AgoraObjects.h:1596
AgoraDataStreamConfig
Definition: AgoraObjects.h:1743
AgoraMediaPlayerEvent
AgoraMediaPlayerEvent
Definition: AgoraEnumerates.h:2365
AgoraRtcRemoteAudioStats
Definition: AgoraObjects.h:579
AgoraChannelMediaRelayError
AgoraChannelMediaRelayError
Definition: AgoraEnumerates.h:2059
AgoraDirectCdnStreamingError
AgoraDirectCdnStreamingError
Definition: AgoraEnumerates.h:2444
-[AgoraRtcMediaPlayerDelegate-p onAgoraCDNTokenWillExpire]
void onAgoraCDNTokenWillExpire()
AgoraCDN Token has expired and needs to be set up with renewAgoraCDNSrcToken(const char* src).
AgoraUserInfo
Definition: AgoraObjects.h:1707
AgoraVoiceBeautifierPreset
AgoraVoiceBeautifierPreset
Definition: AgoraEnumerates.h:1221
-[AgoraRtcEngineKit disableAudioSpectrumMonitor]
int disableAudioSpectrumMonitor()
AgoraRtcEngineConfig
Definition: AgoraObjects.h:1504
AgoraVideoRenderMode
AgoraVideoRenderMode
Definition: AgoraEnumerates.h:753
AgoraEncryptionConfig
Definition: AgoraObjects.h:1689
AgoraRhythmPlayerError
AgoraRhythmPlayerError
Definition: AgoraEnumerates.h:2564
AgoraEncodedVideoFrameInfo
Definition: AgoraObjects.h:2104
AgoraChannelMediaRelayConfiguration
Definition: AgoraObjects.h:1772
AgoraVideoStreamType
AgoraVideoStreamType
Definition: AgoraEnumerates.h:735
AgoraConnectionState
AgoraConnectionState
Definition: AgoraEnumerates.h:1563
-[AgoraRtcEngineKit getCallId]
NSString *_Nullable getCallId()
AgoraContentInspectResult
AgoraContentInspectResult
Definition: AgoraEnumerates.h:2495
AgoraVideoFormat
AgoraVideoFormat
Definition: AgoraEnumerates.h:1522
AgoraAdvancedAudioOptions
Definition: AgoraObjects.h:2218
-[AgoraVideoFrameDelegate-p getObservedFramePosition]
AgoraVideoFramePosition getObservedFramePosition()
AgoraRtcAudioVolumeInfo
Definition: AgoraObjects.h:667
-[AgoraRtcEngineKit resumeAllChannelMediaRelay]
int resumeAllChannelMediaRelay()
AgoraObjects.h
AgoraLocalAccessPointConfiguration
Definition: AgoraObjects.h:2156
AgoraConstants.h
-[AgoraRtcEngineKit disableAudio]
int disableAudio()
-[AgoraRtcEngineKit stopRhythmPlayer]
int stopRhythmPlayer()
AgoraBaseDelegate.h
-[AgoraVideoFrameDelegate-p getVideoFrameProcessMode]
AgoraVideoFrameProcessMode getVideoFrameProcessMode()
-[AgoraRtcEngineKit disableVideo]
int disableVideo()
+[AgoraRtcEngineKit getSdkVersion]
NSString *_Nonnull getSdkVersion()
AgoraVirtualBackgroundSource
Definition: AgoraObjects.h:1865
-[AgoraRtcEngineKit startPreview]
int startPreview()
AgoraStreamPublishState
AgoraStreamPublishState
Definition: AgoraEnumerates.h:2111
__deprecated
#define __deprecated
Definition: AgoraBase.h:63
AgoraExternalVideoSourceType
AgoraExternalVideoSourceType
Definition: AgoraEnumerates.h:2225
AgoraLocalTranscoderConfiguration
Definition: AgoraObjects.h:1928
AgoraRtmpStreamingState
AgoraRtmpStreamingState
Definition: AgoraEnumerates.h:1900
AgoraAudioEncodedFrameDelegate-p
Definition: AgoraRtcEngineKit.h:97
AgoraRtcVideoCanvas
Definition: AgoraObjects.h:281
AgoraMediaPlayerPreloadEvent
AgoraMediaPlayerPreloadEvent
The play preload another source event.
Definition: AgoraEnumerates.h:2395
AgoraEncodedAudioFrameInfo
Definition: AgoraObjects.h:1562
AgoraEncodedVideoFrameDelegate-p
Definition: AgoraRtcEngineKit.h:116
AgoraMediaMetadataDelegate-p
Definition: AgoraRtcEngineKit.h:547
AgoraEncryptionErrorType
AgoraEncryptionErrorType
Definition: AgoraEnumerates.h:1979
AgoraAudioRecordingConfiguration
Definition: AgoraObjects.h:1964
AgoraMetadataType
AgoraMetadataType
Definition: AgoraEnumerates.h:1822
-[AgoraRtcEngineKit isSecure]
BOOL isSecure()
AgoraNetworkType
AgoraNetworkType
Definition: AgoraEnumerates.h:1587
AgoraAudioLocalError
AgoraAudioLocalError
Definition: AgoraEnumerates.h:946
AgoraDirectCdnStreamingState
AgoraDirectCdnStreamingState
Streaming state.
Definition: AgoraEnumerates.h:2429
AgoraAudioFrameDelegate-p
Definition: AgoraRtcEngineKit.h:24
AgoraClientRoleOptions
Definition: AgoraObjects.h:1720
AgoraFishCorrectionParams
Definition: AgoraObjects.h:2223
AgoraUploadErrorReason
AgoraUploadErrorReason
Definition: AgoraEnumerates.h:728
AgoraMediaSourceType
AgoraMediaSourceType
Definition: AgoraEnumerates.h:2121
AgoraNetworkQuality
AgoraNetworkQuality
Definition: AgoraEnumerates.h:689
AgoraRtcLocalAudioStats
Definition: AgoraObjects.h:554
AgoraCloudProxyType
AgoraCloudProxyType
Definition: AgoraEnumerates.h:553
-[AgoraRtcEngineKit enableVideo]
int enableVideo()
AgoraStreamSubscribeState
AgoraStreamSubscribeState
Definition: AgoraEnumerates.h:2101
AgoraMediaPlayerUpdatedInfo
player_id and device_id has value when user trigger interface of opening.
Definition: AgoraObjects.h:31
AgoraLogLevel
AgoraLogLevel
Definition: AgoraEnumerates.h:1843
AgoraLastmileProbeResult
Definition: AgoraObjects.h:372
AgoraChannelStats
Definition: AgoraObjects.h:686
AgoraRtcMediaPlayerAudioFrameDelegate-p
Definition: AgoraRtcEngineKit.h:470