本节提供声网 SDK 中插件相关 API 的参考文档。
RtcEngineConfig
类的 addExtensionRtcEngine
类的 enableExtensionRtcEngine
类的 setExtensionPropertyRtcEngine
类的 getExtensionPropertyIMediaExtensionObserver
类的 onEventAgoraRtcEngineKit
类的 enableExtensionWithVendorAgoraRtcEngineKit
类的 setExtensionPropertyWithVendorAgoraRtcEngineKit
类的 getExtensionPropertyWithVendorAgoraMediaFilterEventDelegate
类的 onEventRtcEngine
类的 enableExtensionRtcEngine
类的 setExtensionPropertyRtcEngineEventHandler
类的 onExtensionEvent本节列出调用声网 SDK 的 setExtensionProperty
/setExtensionPropertyWithVendor
方法时,支持传入的 key 及对应功能。
setExtensionProperty/setExtensionPropertyWithVendor 方法的 key | 描述 |
---|---|
fuSetup | 初始化并鉴权。必须在其他 key 之前执行,否则会引发崩溃。 |
fuLoadAIModelFromPackage | 预加载 AI 能力。 |
fuReleaseAIModel | 释放特定 AI 能力的资源。 |
setExtensionProperty/setExtensionPropertyWithVendor 方法的 key | 描述 |
---|---|
fuCreateItemFromPackage | 加载道具包。 |
fuLoadTongueModel | 加载舌头检测数据。 |
fuItemSetParam | 修改或设定道具包中变量的值。 |
setExtensionProperty/setExtensionPropertyWithVendor 方法的 key | 描述 |
---|---|
fuDestroyItem | 销毁一个指定道具。 |
fuDestroyAllItems | 销毁系统加载的所有道具,并释放系统运行时占用的所有资源。 |
fuOnDeviceLost | 当 OpenGL context 被外部释放/破坏时调用,用于重置系统的 GL 状态。 |
fuDestroyLibData | 释放由 fuSetup 初始化所分配的人脸跟踪模块的内存。 |
setExtensionProperty/setExtensionPropertyWithVendor 方法的 key | 描述 |
---|---|
fuBindItems | 将资源道具绑定到目标道具上。 |
fuUnbindItems | 将资源道具从目标道具上解绑。 |
fuIsTracking | 是否获取正在跟踪的人脸数量。 |
fuSetMaxFaces | 设置系统跟踪的最大人脸数。 |
fuSetDefaultRotationMode | 设置默认的人脸朝向。 |
setExtensionProperty/setExtensionPropertyWithVendor 方法的 key | 描述 |
---|---|
fuFaceProcessorSetMinFaceRatio | 设置人脸检测距离。 |
fuSetTrackFaceAIType | 设置 fuTrackFace 算法运行类型。 |
fuSetFaceProcessorFov | 设置 FaceProcessor人脸算法模块跟踪 fov。 |
fuHumanProcessorReset | 重置 HumanProcessor 人体算法模块状态。 |
fuHumanProcessorSetMaxHumans | 设置 HumanProcessor 人体算法模块跟踪人体数。 |
fuHumanProcessorGetNumResults | 是否获取 HumanProcessor 人体算法模块跟踪的人体数。 |
fuHumanProcessorSetFov | 设置 HumanProcessor 人体算法模块跟踪人体 3D 关键点时使用的 fov。 |
fuHandDetectorGetResultNumHands | 是否获取 HandGesture 手势算法模块跟踪的手势数量。需加载 ai_gesture.bundle 。 |
本节列出声网 SDK 的 onEvent
回调返回的 key。
onEvent 回调的 key | 描述 |
---|---|
fuIsTracking | 返回正在跟踪的人脸数量。 |
fuHumanProcessorGetNumResults | 返回 HumanProcessor 人体算法模块跟踪的人体数。 |
fuHandDetectorGetResultNumHands | 返回 HandGesture 手势算法模块跟踪的手势数量。 |
fuDestroyLibData | 该回调表明已经释放由 fuSetup 初始化所分配的人脸跟踪模块的内存。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
authdata |
指向证书文件 authpack 的路径。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
data |
String 型,AI 能力模型文件 ai_xxx.bundle 的路径。该类文件位于资源包的 assets/AI_Model 目录。 |
type |
Int 型,描述 bundle 对应的 AI 能力类型。具体取值详见 enum FUAITYPE ,点击下载查看。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
data |
String 型,要加载的道具包的路径。道具包通常以 *.bundle 结尾。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
data |
String 型,舌头模型数据 tongue.bundle 的路径。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
obj_handle |
String 型,调用 fuCreateItemFromPackage 加载道具包时传入的道具包路径。 |
name |
String 型,要设定的道具变量名。 |
value |
Object 型,要设定的变量值。 |
美颜支持的道具变量名和变量值详见 相芯美颜道具功能文档。
value 包含以下参数:
value 参数 | 描述 |
---|---|
item |
String 型,调用 fuCreateItemFromPackage 加载道具包时传入的道具包路径。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
obj_handle |
String 型,目标道具的路径。 |
p_items |
String 型数组,需要绑定的资源道具对应的路径数组。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
obj_handle |
String 型,目标道具的路径。 |
p_items |
String 型数组,需要解绑的资源道具对应的路径数组。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
enable |
Bool 型,是否获取正在跟踪的人脸数量。设为 true 会触发 fuIsTracking 回调。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
enable |
Bool 型,是否获取 HumanProcessor 人体算法模块跟踪的人体数量。设为 true 会触发 fuHumanProcessorGetNumResults 回调。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
enable |
Bool 型,是否获取 HandGesture 手势算法模块跟踪的手势数量。设为 true 会触发 fuHandDetectorGetResultNumHands 回调。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
faces |
Int 型,正在跟踪的人脸数量。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
people |
Int 型,正在跟踪的人体数量。 |
value 包含以下参数:
value 参数 | 描述 |
---|---|
hands |
Int 型,正在跟踪的手势数量。 |
value 不包含任何参数。
本节介绍 API 调用失败时返回的错误码,包含以下两种:
agorasdk.log
文件查看。例如:fuSetup ret: -1
表示调用 setExtensionProperty
/setExtensionPropertyWithVendor
并传入 key 为 fuSetup
时出错,错误码为 -1
。API | 错误码 | 说明 |
---|---|---|
enableExtension / enableExtensionWithVendor |
-3 (SDK 层) |
SDK 找不到对应的插件动态库。可能的原因有: |
setExtensionProperty / setExtensionPropertyWithVendor |
-1 (插件层) |
fuSetup :重复调用,fuSetup 只需要调用一次。fuLoadAIModelFromPackage 或 fuCreateItemFromPackage :传入的 value 值有误。 |
-2 (SDK 层) |
enableExtension 的调用时序错误或调用时机太晚。 |
|
-2 (插件层) |
参数错误。可能的原因有: |
|
-20 (插件层) |
fuLoadAIModelFromPackage :该 AI 能力已经加载过,无需重复加载。fuDestroyItem 时:该道具已经销毁,无需重复销毁。 |