插件
enableExtensionWithVendor:extension:enabled:sourceType:
启用或禁用扩展功能。
Objective-C
- (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
- 是否启用该扩展:
- YES:启用扩展。
- NO:禁用扩展。
- sourceType
- 扩展的来源类型,详见 AgoraMediaSourceType。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
- -3:扩展库未加载。声网建议你检查动态库的存储位置或名称。
getExtensionPropertyWithVendor:extension:key:
获取扩展组件的详细信息。
Objective-C
- (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * _Nonnull)provider
extension:(NSString * _Nonnull)extension
key:(NSString * _Nonnull)key NS_SWIFT_NAME(getExtensionProperty(withVendor:extension:key:));
调用时机
该方法可以在加入频道前或加入频道后调用。
参数
- provider
- 扩展组件提供方的名称。
- extension
- 扩展组件的名称。
- key
- 扩展组件的键值。
返回值
- 方法调用成功时,返回扩展组件的信息。
- 方法调用失败时,返回空字符串。
getExtensionPropertyWithVendor:extension:key:sourceType:
获取扩展的详细信息。
Objective-C
- (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:
注册一个扩展。
Objective-C
- (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:
设置扩展属性。
Objective-C
- (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: 方法之后调用。
参数
- provider
- 扩展提供方的名称。
- extension
- 扩展的名称。
- key
- 扩展属性的键。
- value
- 扩展属性键对应的值。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setExtensionProviderPropertyWithVendor:key:value:
设置扩展提供方的属性。
Objective-C
- (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: 之后调用此方法。
参数
- provider
- 扩展提供方的名称。
- key
- 扩展的键名。
- value
- 扩展键的值。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onExtensionErrorWithContext:error:message:
当扩展运行异常时触发的回调。
Objective-C
- (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:
扩展的事件回调。
Objective-C
- (void)onEventWithContext:(AgoraExtensionContext * _Nonnull)context
key:(NSString * _Nullable)key
value:(NSString * _Nullable)value NS_SWIFT_NAME(onEventWithContext(_:key:value:));
你需要注册该回调以在扩展运行期间监听事件。
参数
- context
- 扩展的上下文信息,详见 AgoraExtensionContext。
- key
- 扩展事件的键。
- value
- 扩展事件键对应的值。
onExtensionStartedWithContext:
扩展启用成功时触发的回调。
Objective-C
- (void)onExtensionStartedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStartedWithContext(_:));
触发时机
该回调在扩展成功启用后被触发。
参数
- context
- 扩展的上下文信息。详见 AgoraExtensionContext。
onExtensionStoppedWithContext:
当扩展被禁用时触发的回调。
Objective-C
- (void)onExtensionStoppedWithContext:(AgoraExtensionContext * _Nonnull)context NS_SWIFT_NAME(onExtensionStoppedWithContext(_:));
触发时机
该回调在扩展成功被禁用后触发。
参数
- context
- 扩展的上下文信息。详见 AgoraExtensionContext。