插件
- iOS
更新时间不可用
enableExtensionWithVendor:extension:enabled:sourceType:
启用或禁用扩展功能。
- (int)enableExtensionWithVendor:(NSString * _Nonnull)provider
extension:(NSString * _Nonnull)extension
enabled:(BOOL)enabled
sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:));注:
- 如果你想启用多个扩展,需要多次调用该方法。
- 成功调用该方法后,不能再加载其他扩展。
调用时机
该方法建议在你加入频道后调用。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
enabled | |
sourceType | 扩展的来源类型,详见 AgoraMediaSourceType。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -3:扩展库未加载。声网建议你检查动态库的存储位置或名称。
所属接口类
getExtensionPropertyWithVendor:extension:key:
获取扩展组件的详细信息。
- (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
extension:(NSString * _Nonnull)extension
key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));调用时机
该方法可以在加入频道前或加入频道后调用。
参数
返回值
- 方法调用成功时,返回扩展组件的信息。
- 方法调用失败时,返回空字符串。
所属接口类
getExtensionPropertyWithVendor:extension:key:sourceType:
获取扩展的详细信息。
- (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
extension:(NSString * _Nonnull)extension
key:(NSString * _Nonnull)key
sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:sourceType:));调用时机
该方法可以在加入频道前或后调用。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
key | |
sourceType | 扩展的来源类型,详见 AgoraMediaSourceType。 |
返回值
- 方法调用成功时,返回扩展信息。
- 方法调用失败时,返回空字符串。
所属接口类
registerExtensionWithVendor:extension:sourceType:
注册一个扩展。
- (int)registerExtensionWithVendor:(NSString * _Nonnull)provider
extension:(NSString * _Nonnull)extension
sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(registerExtension(withVendor:extension:sourceType:));对于 SDK 外部的扩展(例如来自 Extensions Marketplace 和 SDK Extensions 的扩展),你需要在调用此方法前加载它们。对于 SDK 内部的扩展(即包含在完整 SDK 包中的扩展),在初始化 AgoraRtcEngineKit 后会自动加载并注册。
注:
- 如果你想注册多个扩展,需要多次调用此方法。
- SDK 中不同扩展的数据处理顺序由注册顺序决定。即先注册的扩展会先处理数据。
调用时机
声网建议你在初始化 AgoraRtcEngineKit 后、加入频道前调用此方法。
- 对于视频扩展(如美颜特效扩展),你需要在调用 enableVideo 或 enableLocalVideo: 启用视频模块后调用此方法。
- 在调用此方法之前,你需要将扩展动态库(.xcframework)链接到 Xcode 项目中以加载扩展。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
sourceType | 扩展的数据源类型,详见 AgoraMediaSourceType。 |
返回值
-
0:方法调用成功。
-
< 0:方法调用失败。详见错误码了解详情和解决建议。
- -3:扩展库未加载。声网建议你检查动态库的存储位置或名称。
所属接口类
setExtensionPropertyWithVendor:extension:key:value:
设置扩展属性。
- (int)setExtensionPropertyWithVendor:(NSString * _Nonnull)provider
extension:(NSString * _Nonnull)extension
key:(NSString * _Nonnull)key
value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionPropertyWithVendor(_:extension:key:value:));启用扩展后,可以调用该方法设置扩展的属性。
注: 如果需要为多个扩展设置属性,需要多次调用该方法。
调用时机
在调用 enableExtensionWithVendor:extension:enabled:sourceType: 方法之后调用。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setExtensionProviderPropertyWithVendor:key:value:
设置扩展提供方的属性。
- (int)setExtensionProviderPropertyWithVendor:(NSString * _Nonnull)provider
key:(NSString * _Nonnull)key
value:(NSString * _Nonnull)value NS_SWIFT_NAME(setExtensionProviderPropertyWithVendor(_:key:value:));你可以调用此方法根据扩展提供方的类型初始化相关参数。
注: 如果你想为多个扩展设置扩展提供方的属性,需要多次调用此方法。
调用时机
在调用 enableExtensionWithVendor:extension:enabled:sourceType: 之前,且在调用 registerExtensionWithVendor:extension:sourceType: 之后调用此方法。
参数
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onExtensionErrorWithContext:error:message:
当扩展运行异常时触发的回调。
- (void)onExtensionErrorWithContext:(AgoraExtensionContext * _Nonnull)context
error:(int)error
message:(NSString * _Nullable)message NS_SWIFT_NAME(onExtensionErrorWithContext(_:error:message:));当扩展启用失败或运行时发生错误时,会触发该回调,并报告错误码及原因。
触发时机
该回调在扩展启用失败或运行时发生错误时被触发。
参数
| 参数名 | 描述 |
|---|---|
context | 扩展的上下文信息。详见 AgoraExtensionContext。 |
error | |
message |
所属接口类
onEventWithContext:key:value:
扩展的事件回调。
- (void)onEventWithContext:(AgoraExtensionContext * _Nonnull)context
key:(NSString * _Nullable)key
value:(NSString * _Nullable)value NS_SWIFT_NAME(onEventWithContext(_:key:value:));你需要注册该回调以在扩展运行期间监听事件。
参数
| 参数名 | 描述 |
|---|---|
context | 扩展的上下文信息,详见 AgoraExtensionContext。 |
key | |
value |
所属接口类
onExtensionStartedWithContext:
扩展启用成功时触发的回调。
- (void)onExtensionStartedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStartedWithContext(_:));触发时机
该回调在扩展成功启用后被触发。
参数
| 参数名 | 描述 |
|---|---|
context | 扩展的上下文信息。详见 AgoraExtensionContext。 |
所属接口类
onExtensionStoppedWithContext:
当扩展被禁用时触发的回调。
- (void)onExtensionStoppedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStoppedWithContext(_:));触发时机
该回调在扩展成功被禁用后触发。
参数
| 参数名 | 描述 |
|---|---|
context | 扩展的上下文信息。详见 AgoraExtensionContext。 |