AgoraLocalSpatialAudioKit
该类通过 SDK 计算用户坐标,实现空间音效。
该类继承自 AgoraBaseSpatialAudioKit。调用该类下其他 API 前,你需要调用 sharedLocalSpatialAudioWithConfig 方法初始化该类。
clearRemotePositions
删除所有远端用户的空间位置信息。
- (int) clearRemotePositions;
成功调用该方法后,本地用户将听不到所有远端用户。
离开频道后,为避免计算资源的浪费,你也可以调用该方法删除所有远端用户的空间位置信息。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
sharedLocalSpatialAudioWithConfig
初始化 AgoraLocalSpatialAudioKit。
+ (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config;
注:
- 在调用 AgoraLocalSpatialAudioKit 类的其他方法前,你需要先调用该方法初始化 AgoraLocalSpatialAudioKit。
- SDK 只支持每个 app 创建一个 AgoraLocalSpatialAudioKit 实例。
参数
- config
- AgoraLocalSpatialAudioKit 的配置。详见 AgoraLocalSpatialAudioConfig。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
destroy
+ (void)destroy;
该方法释放 AgoraLocalSpatialAudioKit 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。
调用该方法后,你将无法再使用 AgoraLocalSpatialAudioKit 下的任何 API。如需再次使用空间音效,你需要等 destroy 执行结束后再调用 sharedLocalSpatialAudioWithConfig 创建一个新的 AgoraLocalSpatialAudioKit。
removeRemotePosition
删除指定远端用户的空间位置信息。
- (int) removeRemotePosition:(NSUInteger)uid;
成功调用该方法后,本地用户将听不到指定的远端用户。
离开频道后,为避免计算资源的浪费,你也可以调用该方法删除指定远端用户的空间位置信息。
参数
- uid
- 用户 ID。需与用户加入频道时填写的用户 ID 一致。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
updateRemotePosition
更新远端用户的空间位置信息。
- (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo;
成功调用该方法后,SDK 会根据本地和远端用户的相对位置计算空间音效参数。
注: 该方法需要在 joinChannelByToken [2/4] 后调用。
参数
- uid
- 用户 ID。需与用户加入频道时填写的用户 ID 一致。
- posInfo
- 远端用户的空间位置信息。详见 AgoraRemoteVoicePositionInfo。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
AgoraLocalSpatialAudioConfig
AgoraLocalSpatialAudioKit 的配置。
__attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @end
属性
- rtcEngine
- AgoraRtcEngineKit。