插件
EnableExtension
启用/禁用插件。
C++
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int EnableExtension(FString provider, FString extension, bool enable = true, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE);
详情
如需调用本方法,请在初始化 IRtcEngine 对象后立即调用。
信息
- 如果要开启多个插件,需要多次调用该方法。
- 不同插件在 SDK 中处理数据的顺序由插件的开通顺序决定。即先开启的插件会先处理数据。
参数
- provider
- 提供插件的服务商名称。
- extension
- 插件的名称。
- enable
- 是否启用插件:
true
: 启用插件。false
: 禁用插件。
- type
- 媒体资源类型。详见 EMEDIA_SOURCE_TYPE。注意在该方法中,该参数仅支持以下两种设置:
- 默认值为 UNKNOWN_MEDIA_SOURCE。
- 如果要使用第二个摄像头采集视频,将该参数设置为 SECONDARY_CAMERA_SOURCE。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败
- -3: 该插件动态库没有被加载。声网推荐你检查该动态库是否存放在预期的位置或该动态库名是否正确。
GetExtensionProperty
获取插件的详细信息。
C++
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int GetExtensionProperty(FString provider, FString extension, FString key, FString value, int buf_len, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE);
详情
参数
- provider
- 输出参数。提供插件的服务商名称。
- extension
- 输出参数。插件的名称。
- key
- 输出参数。插件属性的 Key。
- value
- 输出参数。插件属性 Key 对应的值。
- type
- 插件的媒体源类型。详见 EMEDIA_SOURCE_TYPE。
- buf_len
- 插件属性 JSON 字符串的最大长度。最大值为 512 字节。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
LoadExtensionProvider
将插件添加到 SDK 中。
C++
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int LoadExtensionProvider(FString path, bool unload_after_use);
详情
注意
该方法仅适用于 Windows 和 Android。
参数
- path
- 插件的动态库路径和名称。例如:
/library/libagora_segmentation_extension.dll
。 - unload_after_use
- 是否在插件使用完毕后自动卸载:
true
: 当 IRtcEngine 销毁时自动卸载插件。false
: 不自动卸载插件,直到进程退出(推荐)。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
RegisterExtension
注册插件。
C++
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int RegisterExtension(FString provider, FString extension, EMEDIA_SOURCE_TYPE type);
详情
加载插件后,你可以通过该方法注册插件。
该方法仅适用于 Windows。
参数
- provider
- 提供插件的服务商名称。
- extension
- 插件的名称。
- type
- 媒体资源类型。详见 EMEDIA_SOURCE_TYPE。注意在该方法中,该参数仅支持以下两种设置:
- 默认值为 UNKNOWN_MEDIA_SOURCE。
- 如果要使用第二个摄像头采集视频,将该参数设置为 SECONDARY_CAMERA_SOURCE。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
SetExtensionProperty
设置插件的属性。
C++
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetExtensionProperty(FString provider, FString extension, FString key, FString value, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE);
详情
开启插件后,你可以调用该方法设置插件的属性。
参数
- provider
- 提供插件的服务商名称。
- extension
- 插件的名称。
- key
- 插件属性的 Key。
- value
- 插件属性 Key 对应的值。
- type
- 媒体资源类型。详见 EMEDIA_SOURCE_TYPE。注意在该方法中,该参数仅支持以下两种设置:
- 默认值为 UNKNOWN_MEDIA_SOURCE。
- 如果要使用第二个摄像头采集视频,将该参数设置为 SECONDARY_CAMERA_SOURCE。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
SetExtensionProviderProperty
设置插件服务商的属性。
C++
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetExtensionProviderProperty(FString provider, FString key, FString value);
详情
你可以调用该方法设置插件服务商的属性,并根据服务商的类型初始化相关参数。
注意
该方法需要在 EnableExtension 之后、且启用音频(EnableAudio/EnableLocalAudio)或启用视频(EnableVideo/EnableLocalVideo)之前调用。
参数
- provider
- 提供插件的服务商名称。
- key
- 插件属性的 Key。
- value
- 插件属性 Key 对应的值。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。