插件
addExtension
enableExtension
启用或禁用扩展功能。
Java
public abstract int enableExtension(String provider, String extension, boolean enable);
通过调用该方法,你可以动态启用或禁用扩展功能,而无需更改处理流程。
信息
参数
- provider
- 扩展功能提供方的名称,例如
agora.io。 - extension
- 扩展功能的名称,例如
agora.beauty。 - enable
- 是否启用该扩展功能:
- true:(默认)启用扩展功能。
- false:禁用扩展功能。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
getExtensionProperty [1/2]
getExtensionProperty [2/2]
获取扩展组件的详细信息。
Java
public abstract String getExtensionProperty(String provider, String extension, String key, Constants.MediaSourceType sourceType);
调用时机
该方法可以在加入频道前或加入频道后调用。
参数
- provider
- 扩展组件提供方的名称。
- extension
- 扩展组件的名称。
- key
- 扩展组件的键值。
- sourceType
- 扩展组件的来源类型,详见 MediaSourceType。
返回值
- 方法调用成功时,返回扩展组件的信息。
- 方法调用失败,返回空字符串。
registerExtension
注册一个扩展。
Java
public abstract int registerExtension(String provider, String extension, Constants.MediaSourceType sourceType);
- 对于 SDK 外部的扩展(例如来自云市场和 SDK 扩展),你需要在调用 registerExtension 之前先通过 addExtension 加载它们。
- 对于 SDK 内部的扩展(即包含在完整 SDK 包中的扩展),在初始化 RtcEngine 后会自动加载并注册。
信息
- 如果你想注册多个扩展,需要多次调用此方法。
- SDK 中不同扩展的数据处理顺序由注册顺序决定。即先注册的扩展会先处理数据。
调用时机
声网建议你在初始化 RtcEngine 后、加入频道前调用此方法。
- 对于视频扩展(如美颜特效扩展),你需要在调用 enableVideo 或 enableLocalVideo 启用视频模块后再调用此方法。
- 在调用此方法之前,你需要先调用 addExtension 加载扩展。
参数
- provider
- 扩展提供方的名称。
- extension
- 扩展的名称。
- sourceType
- 扩展的数据源类型,详见 MediaSourceType。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
- -3:扩展库未加载。建议你检查动态库的存储位置或名称。
setExtensionProperty
设置扩展组件的属性。
Java
public abstract int setExtensionProperty(String provider, String extension, String key, String value);
启用扩展组件后,可以调用该方法设置其属性。
信息
如果你需要为多个扩展组件设置属性,需要多次调用该方法。
调用时机
在调用 enableExtension 方法之后调用该方法。
参数
- provider
- 扩展组件提供方的名称。
- extension
- 扩展组件的名称。
- key
- 扩展组件属性的键。
- value
- 扩展组件属性键对应的值。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setExtensionProviderProperty
设置扩展提供方的属性。
Java
public abstract int setExtensionProviderProperty(String provider, String key, String value);
你可以调用该方法根据扩展提供方的类型初始化相关参数。
信息
如果你想为多个扩展设置扩展提供方的属性,需要多次调用该方法。
调用时机
在调用 enableExtension 之前,registerExtension 之后调用该方法。
参数
- provider
- 扩展提供方的名称。
- key
- 扩展属性的键名。
- value
- 扩展属性键对应的值。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onErrorWithContext
扩展运行异常时触发的回调。
Java
default void onErrorWithContext(ExtensionContext extContext, int error, String message)
触发时机
该回调在扩展启用失败或运行过程中发生错误时被触发。
参数
- extContext
- 扩展的上下文信息。详见 ExtensionContext。
- error
- 错误码。
- message
- 错误原因。
onEventWithContext
扩展事件回调。
Java
default void onEventWithContext(ExtensionContext extContext, String key, String value)
你需要注册该回调,用于在扩展运行期间监听事件。
参数
- extContext
- 扩展的上下文信息,详见 ExtensionContext。
- key
- 扩展事件的键。
- value
- 扩展事件键对应的值。
onStartedWithContext
扩展启用成功回调。
Java
default void onStartedWithContext(ExtensionContext extContext)
触发时机
该回调在扩展成功启用后被触发。
参数
- extContext
- 扩展的上下文信息。详见 ExtensionContext。
onStoppedWithContext
扩展被禁用时触发的回调。
Java
default void onStoppedWithContext(ExtensionContext extContext)
触发时机
该回调在扩展被成功禁用后触发。
参数
- extContext
- 扩展的上下文信息。详见 ExtensionContext。