插件
- C#
更新时间不可用
EnableExtension
启用/禁用插件。
public abstract int EnableExtension(string provider, string extension, bool enable = true, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE);调用时机
建议你在加入频道后调用该方法。
调用限制
- 如果要开启多个插件,需要多次调用该方法。
- 该方法调用成功后,无法再加载其他插件。
相关回调
频道内调用该方法成功时会触发插件启用回调 OnExtensionStartedWithContext 或插件禁用回调 OnExtensionStoppedWithContext。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
enable | |
type | 插件的媒体源类型。详见 MEDIA_SOURCE_TYPE。 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见错误码了解详情和解决建议。
- -3: 该插件动态库没有被加载。声网推荐你检查该动态库是否存放在预期的位置,或该动态库名是否正确。
所属接口类
GetExtensionProperty
获取插件的详细信息。
public abstract int GetExtensionProperty(string provider, string extension, string key, ref string value, int buf_len, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE);调用时机
加入频道前后均可调用。
调用限制
无。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
key | |
value | |
type | 插件的媒体源类型。详见 MEDIA_SOURCE_TYPE。 |
buf_len |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
LoadExtensionProvider
加载插件。
public abstract int LoadExtensionProvider(string path, bool unload_after_use = false);该方法用于将 SDK 外部插件(例如云市场插件和 SDK 拓展插件)添加到 SDK 中。
调用时机
请在初始化 IRtcEngine 后立即调用该方法。
调用限制
如果要加载多个插件,需要多次调用该方法。
参数
| 参数名 | 描述 |
|---|---|
path | |
unload_after_use |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
RegisterExtension
注册插件。
public abstract int RegisterExtension(string provider, string extension, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE);对于 SDK 外部的插件(例如云市场插件和 SDK 拓展插件),加载插件后,你需要调用该方法注册插件。SDK 内部插件(包含在 SDK 包中的插件)在初始化 IRtcEngine 后会自动加载并注册,无需调用该方法。
调用时机
- 建议你在初始化 IRtcEngine 后、加入频道前调用该方法。
- 对于视频相关插件(例如美颜插件),需要在启用视频模块(EnableVideo/EnableLocalVideo)之前调用该方法。
- 调用该方法前,需要先调用 LoadExtensionProvider 加载插件。
调用限制
- 如果要注册多个插件,需要多次调用该方法。
- 不同插件在 SDK 中处理数据的顺序由插件的注册顺序决定。即先注册的插件会先处理数据。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
type | 插件的媒体源类型。详见 MEDIA_SOURCE_TYPE。 |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败。详见错误码了解详情和解决建议。
- -3: 该插件动态库没有被加载。声网推荐你检查该动态库是否存放在预期的位置,或该动态库名是否正确。
所属接口类
SetExtensionProperty
设置插件的属性。
public abstract int SetExtensionProperty(string provider, string extension, string key, string value, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE);开启插件后,你可以调用该方法设置插件的属性。
调用时机
请在调用 EnableExtension 开启插件后调用该方法。
调用限制
如果要设置多个插件的属性,需要多次调用该方法。
相关回调
调用该方法后,可能会触发插件事件回调 OnExtensionEventWithContext,具体触发逻辑与插件本身相关。
参数
| 参数名 | 描述 |
|---|---|
provider | |
extension | |
key | |
value | |
type | 插件的媒体源类型。详见 MEDIA_SOURCE_TYPE。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetExtensionProviderProperty
设置插件服务商的属性。
public abstract int SetExtensionProviderProperty(string provider, string key, string value);你可以调用该方法设置插件服务商的属性,并根据服务商的类型初始化相关参数。
调用时机
请在调用 RegisterExtension 之后、EnableExtension 之前调用该方法。
调用限制
如果要设置多个插件服务商的属性,需要多次调用该方法。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。