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