IVideoEffect class
- Inheritance
-
- Object
- NativeClass
- IVideoEffect
Properties
-
$resource
→ NativeResource
-
no setterinherited
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
ready
→ Future<void>
-
Whether the instance is initialized
no setterinherited
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
appendEffectNodes(List<String> effectNodes)
→ FutureOr<int>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 叠加视频特效素材包。
@param effectNodes 特效素材包路径数组。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 该接口会在 setEffectNodes{@link #IVideoEffect#setEffectNodes} 设置的特效基础上叠加特效。
-
applyStickerEffect(String tickerPath)
→ FutureOr<int>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 私有接口
设置贴纸的特效路径
@param effectNodes 特效素材包路径数。
@return
- 0: 调用成功。
- < 0: 调用失败
-
destroy()
→ void
-
inherited
-
disableFaceDetection()
→ FutureOr<int>
-
@detail api
@author wangjunlin.3182
@brief 关闭人脸识别功能。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
disableVideoEffect()
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 关闭视频特效。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用 enableVideoEffect{@link #IVideoEffect#enableVideoEffect} 开启视频特效。
-
disableVirtualBackground()
→ FutureOr<int>
-
@detail api
@author wangjunlin.3182
@brief 关闭虚拟背景。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用 enableVirtualBackground{@link #IVideoEffect#enableVirtualBackground} 开启虚拟背景后,可以调用此接口关闭虚拟背景。
-
enableFaceDetection(IFaceDetectionObserver observer, int interval, String modelPath)
→ FutureOr<int>
-
@detail api
@author wangjunlin.3182
@brief 开启人脸识别功能,并设置人脸检测结果回调观察者。
此观察者后,你会周期性收到 onFaceDetectResult{@link #IFaceDetectionObserver#onFaceDetectResult} 回调。
@param observer 人脸检测结果回调观察者,参看 IFaceDetectionObserver{@link #IFaceDetectionObserver}。
@param intervalMs 两次回调之间的最小时间间隔,必须大于 0,单位为毫秒。实际收到回调的时间间隔大于 interval_ms,小于 interval_ms+视频采集帧间隔。
@param faceModelPath 人脸检测算法模型文件路径,一般为 ttfacemodel 文件夹中 tt_face_vXXX.model 文件的绝对路径。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- -1004: 初始化中,初始化完成后启动此功能。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
enableVideoEffect()
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 开启高级美颜、滤镜等视频特效。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note
- 调用本方法前,必须先调用 initCVResource{@link #IVideoEffect#initCVResource} 进行初始化。
- 调用该方法后,特效不直接生效,你还需调用 setEffectNodes{@link #IVideoEffect#setEffectNodes} 设置视频特效素材包或调用 setColorFilter{@link #IVideoEffect#setColorFilter} 设置滤镜。
- 调用 disableVideoEffect{@link #IVideoEffect#disableVideoEffect} 关闭视频特效。
-
enableVirtualBackground(String modelPath, VirtualBackgroundSource source)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 将摄像头采集画面中的人像背景替换为指定图片或纯色背景。
@param backgroundStickerRes 背景贴纸特效素材绝对路径。
@param source 背景贴纸对象,参看 VirtualBackgroundSource{@link #VirtualBackgroundSource}。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note
- 调用本方法前,必须先调用 initCVResource{@link #IVideoEffect#initCVResource} 进行初始化。
- 调用 disableVirtualBackground{@link #IVideoEffect#disableVirtualBackground} 关闭虚拟背景。
-
getAuthMessage()
→ FutureOr<String>
-
@detail api
@author liuyang.bd
@brief 从特效 SDK 获取授权消息,用于获取在线许可证。
@return 授权消息字符串地址, 如果获取失败返回 nullptr。
@note
- 使用视频特效的功能前,你必须获取特效 SDK 的在线许可证。
- 通过此接口获取授权消息后,参考 在线授权说明,自行实现获取在线许可证的业务逻辑。获取许可证后,你必须调用 initCVResource{@link #IVideoEffect#initCVResource} 确认许可证有效。然后,你才可以使用 CV 功能。
-
initCVResource(String licenseFile, String algoModelDir)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 检查视频特效证书,设置算法模型路径,并初始化特效模块。
@param licenseFile 证书文件的绝对路径,用于鉴权。
@param algoModelDir 算法模型绝对路径,即存放特效 SDK 所有算法模型的目录。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 鉴权时,会检查 CV 服务端时间和本地设备的时间差异。你必须保证本地系统时间和实际时间一致。
-
nativeCall<T>(String method, [List? args, NativeMethodMeta? meta])
→ Future<T>
-
Call instance method
inherited
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
removeEffectNodes(List<String> effectNodes)
→ FutureOr<int>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 移除指定的视频特效资源。
@param effectNodes 特效素材包路径数组。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 移除 setEffectNodes{@link #IVideoEffect#SetEffectNodes} 或 appendEffectNodes{@link #IVideoEffect#appendEffectNodes} 设置的视频特效资源。
-
sendInstanceGet<T>(String property)
→ Future<T>
-
Get instance property
inherited
-
sendInstancePropertiesGet(dynamic nativeClass)
→ Future<Map<String, dynamic>>
-
Get instance properties
inherited
-
sendInstanceSet(String property, dynamic value)
→ Future<void>
-
Set instance property
inherited
-
setAlgoModelResourceFinder(long finder, long deleter)
→ FutureOr<int>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 设置视频特效算法模型地址,并初始化特效模块。
@param finder ResourceFinder 地址
@param deleter ResourceDeleter 地址
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
setColorFilter(String filterRes)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置颜色滤镜。
@param filterRes 滤镜资源包绝对路径。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用 setColorFilterIntensity{@link #IVideoEffect#setColorFilterIntensity} 设置已启用颜色滤镜的强度。设置强度为 0 时即关闭颜色滤镜。
-
setColorFilterIntensity(float intensity)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置已启用颜色滤镜的强度。
@param intensity 滤镜强度。取值范围
0,1,超出范围时设置无效。
当设置滤镜强度为 0 时即关闭颜色滤镜。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
setEffectNodes(List<String>? effectNodes)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置视频特效素材包。
@param effectNodes 特效素材包绝对路径数组。
要取消当前视频特效,将此参数设置为 null。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用本方法前,必须先调用 enableVideoEffect{@link #IVideoEffect#enableVideoEffect}。
-
toString()
→ String
-
A string representation of this object.
inherited
-
updateEffectNode(String effectNode, String key, float value)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置特效强度。
@param effectNode 特效素材包绝对路径,参考素材包结构说明。
@param key 需要设置的素材 key 名称,参考素材 key 对应说明。
@param value 特效强度值,取值范围
0,1,超出范围时设置无效。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
updateResource(NativeResource resource)
→ void
-
inherited