Agora RTC Objective-C API Reference  Refactor
AgoraSpatialAudioKit.h
Go to the documentation of this file.
1 //
2 // AgoraSpatialAudioKit.h
3 // AgoraRtcKit
4 //
5 // Copyright (c) 2018 Agora. All rights reserved.
6 //
7 
8 #ifndef AgoraSpatialAudioKit_h
9 #define AgoraSpatialAudioKit_h
10 
11 #import <Foundation/Foundation.h>
12 #import "AgoraEnumerates.h"
13 #import "AgoraObjects.h"
14 
15 typedef NS_ENUM(NSInteger, AgoraAudioRangeMode) { AgoraAudioRangeModeWorld = 0, AgoraAudioRangeModeTeam = 1 };
16 
17 typedef NS_ENUM(NSInteger, AgoraSaeConnectionState) {
23 };
24 
25 typedef NS_ENUM(NSInteger, AgoraSaeConnectionChangedReason) {
32 };
33 
34 typedef NS_ENUM(NSInteger, AgoraSaeDeployRegionType) {
39 };
40 
41 __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject
42 @property(strong, nonatomic) NSArray<NSNumber*> * _Nonnull position;
43 @property(strong, nonatomic) NSArray<NSNumber*> * _Nullable forward;
44 @end
45 
47 
48 __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject
49 @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine;
52 @property(copy, nonatomic) NSString* _Nullable appId;
55 @property(assign, nonatomic) NSUInteger deployRegion;
56 @end
57 
58 __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject
59 @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine;
60 @end
61 
62 @protocol AgoraCloudSpatialAudioDelegate <NSObject>
63 
64 - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine;
65 
66 - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason;
67 
68 - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid;
69 
70 - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid;
71 @end
72 
73 __attribute__((visibility("default"))) @interface AgoraBaseSpatialAudioKit : NSObject
74 
75 - (int)setMaxAudioRecvCount:(NSUInteger)maxCount;
76 
77 - (int)setAudioRecvRange:(float)range;
78 
79 - (int)setDistanceUnit:(float)unit;
80 
81 - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo;
82 
83 - (int)updateSelfPosition:(NSArray<NSNumber*>* _Nonnull)position axisForward:(NSArray<NSNumber*>* _Nonnull)axisForward axisRight:(NSArray<NSNumber*>* _Nonnull)axisRight axisUp:(NSArray<NSNumber*>* _Nonnull)axisUp;
84 
85 - (int)updateSelfPositionEx:(NSArray<NSNumber*>* _Nonnull)position
86  axisForward:(NSArray<NSNumber*>* _Nonnull)axisForward
87  axisRight:(NSArray<NSNumber*>* _Nonnull)axisRight
88  axisUp:(NSArray<NSNumber*>* _Nonnull)axisUp
89  connection:(AgoraRtcConnection * _Nonnull)connection;
90 
91 - (int)muteLocalAudioStream:(BOOL)mute;
92 
93 - (int)muteAllRemoteAudioStreams:(BOOL)mute;
94 
95 @end
96 
97 __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioKit : AgoraBaseSpatialAudioKit
98 
99 + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate;
100 
101 + (void)destroy;
102 
103 - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam;
104 
105 - (int)setTeamId:(NSInteger)teamId;
106 
107 - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode;
108 
109 - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid;
110 
111 - (int)renewToken:(NSString* _Nonnull)token;
112 
113 - (int)exitRoom;
114 
115 - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids;
116 
117 - (void)enableMainQueueDispatch:(BOOL)enabled;
118 
119 @end
120 
121 __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioKit : AgoraBaseSpatialAudioKit
122 
123 + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config;
124 
125 + (void)destroy;
126 
127 - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo;
128 
129 - (int)updateRemotePositionEx:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo connection:(AgoraRtcConnection * _Nonnull)connection;
130 
131 - (int) removeRemotePosition:(NSUInteger)uid;
132 
133 - (int) removeRemotePositionEx:(NSUInteger)uid connection:(AgoraRtcConnection * _Nonnull)connection;
134 
135 - (int) clearRemotePositions;
136 
137 - (int) clearRemotePositionsEx:(AgoraRtcConnection * _Nonnull)connection;
138 
139 @end
140 
141 #endif /* AgoraGmeKit_h */
AgoraSaeConnectionChangedReasonAborted
@ AgoraSaeConnectionChangedReasonAborted
Definition: AgoraSpatialAudioKit.h:30
AgoraRtcEngineKit
Definition: AgoraRtcEngineKit.h:1642
+[AgoraLocalSpatialAudioKit destroy]
void destroy()
AgoraSaeConnectionChangedReasonRtmDisconnect
@ AgoraSaeConnectionChangedReasonRtmDisconnect
Definition: AgoraSpatialAudioKit.h:29
AgoraSaeConnectionStateReconnecting
@ AgoraSaeConnectionStateReconnecting
Definition: AgoraSpatialAudioKit.h:21
AgoraSaeDeployRegionTypeEU
@ AgoraSaeDeployRegionTypeEU
Definition: AgoraSpatialAudioKit.h:37
AgoraAudioRangeMode
AgoraAudioRangeMode
Definition: AgoraSpatialAudioKit.h:15
AgoraRemoteVoicePositionInfo
Definition: AgoraSpatialAudioKit.h:42
+[AgoraCloudSpatialAudioKit destroy]
void destroy()
AgoraRemoteVoicePositionInfo::position
NSArray< NSNumber * > *_Nonnull position
Definition: AgoraSpatialAudioKit.h:42
AgoraEnumerates.h
AgoraSaeConnectionChangedReason
AgoraSaeConnectionChangedReason
Definition: AgoraSpatialAudioKit.h:25
AgoraSaeConnectionStateConnected
@ AgoraSaeConnectionStateConnected
Definition: AgoraSpatialAudioKit.h:19
AgoraSaeConnectionChangedReasonConnecting
@ AgoraSaeConnectionChangedReasonConnecting
Definition: AgoraSpatialAudioKit.h:27
AgoraSaeDeployRegionType
AgoraSaeDeployRegionType
Definition: AgoraSpatialAudioKit.h:34
AgoraCloudSpatialAudioConfig
Definition: AgoraSpatialAudioKit.h:49
AgoraSaeConnectionStateDisconnected
@ AgoraSaeConnectionStateDisconnected
Definition: AgoraSpatialAudioKit.h:20
AgoraLocalSpatialAudioKit
Definition: AgoraSpatialAudioKit.h:122
AgoraSaeConnectionChangedReasonCreateRoomFail
@ AgoraSaeConnectionChangedReasonCreateRoomFail
Definition: AgoraSpatialAudioKit.h:28
AgoraAudioRangeModeWorld
@ AgoraAudioRangeModeWorld
Definition: AgoraSpatialAudioKit.h:15
AgoraLocalSpatialAudioConfig
Definition: AgoraSpatialAudioKit.h:59
AgoraCloudSpatialAudioDelegate-p
Definition: AgoraSpatialAudioKit.h:62
AgoraSaeConnectionStateReconnected
@ AgoraSaeConnectionStateReconnected
Definition: AgoraSpatialAudioKit.h:22
AgoraRemoteVoicePositionInfo::forward
NSArray< NSNumber * > *_Nullable forward
Definition: AgoraSpatialAudioKit.h:43
AgoraSaeConnectionChangedReasonDefault
@ AgoraSaeConnectionChangedReasonDefault
Definition: AgoraSpatialAudioKit.h:26
AgoraSaeConnectionStateConnecting
@ AgoraSaeConnectionStateConnecting
Definition: AgoraSpatialAudioKit.h:18
AgoraSaeConnectionState
AgoraSaeConnectionState
Definition: AgoraSpatialAudioKit.h:17
AgoraSaeDeployRegionTypeCN
@ AgoraSaeDeployRegionTypeCN
Definition: AgoraSpatialAudioKit.h:35
-[AgoraLocalSpatialAudioKit clearRemotePositions]
int clearRemotePositions()
AgoraSaeDeployRegionTypeAS
@ AgoraSaeDeployRegionTypeAS
Definition: AgoraSpatialAudioKit.h:38
AgoraBaseSpatialAudioKit
Definition: AgoraSpatialAudioKit.h:74
AgoraObjects.h
AgoraRtcConnection
Definition: AgoraObjects.h:2080
AgoraCloudSpatialAudioKit
Definition: AgoraSpatialAudioKit.h:98
AgoraSaeDeployRegionTypeNA
@ AgoraSaeDeployRegionTypeNA
Definition: AgoraSpatialAudioKit.h:36
AgoraAudioRangeModeTeam
@ AgoraAudioRangeModeTeam
Definition: AgoraSpatialAudioKit.h:15
AgoraSaeConnectionChangedReasonLostSync
@ AgoraSaeConnectionChangedReasonLostSync
Definition: AgoraSpatialAudioKit.h:31
-[AgoraCloudSpatialAudioKit exitRoom]
int exitRoom()