ByteRTCVideoEffect class
- Inheritance
-
- Object
- NativeClass
- ByteRTCVideoEffect
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(NSArray<NSString> 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 #ByteRTCVideoEffect#setEffectNodes} 设置的特效基础上叠加特效。
-
applyStickerEffect(NSString stickerPath)
→ FutureOr<int>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 私有接口
设置视频特效素材包
@param stickerPath 特效素材包绝对路径。
要取消当前视频特效,将此参数设置为 null。
@return
- 0: 调用成功。
- 1000: 未集成特效 SDK。
- 1001: 特效 SDK 不支持该功能。
- < 0: 调用失败。具体错误码,参看 错误码表。
@note 在调用这个方法之前,你须先调用 enableVideoEffect{@link #ByteRTCVideoEffect#enableVideoEffect}。
-
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 #ByteRTCVideoEffect#enableVideoEffect} 开启视频特效。
-
disableVirtualBackground()
→ FutureOr<int>
-
@detail api
@author wangjunlin.3182
@brief 关闭虚拟背景。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用 enableVirtualBackground:withSource:{@link #ByteRTCVideoEffect#enableVirtualBackground:withSource} 开启虚拟背景后,可以调用此接口关闭虚拟背景。
-
enableFaceDetection(id<ByteRTCFaceDetectionObserver> observer, NSUInteger interval, NSString path)
→ FutureOr<int>
-
@detail api
@author wangjunlin.3182
@brief 开启人脸识别功能,并设置人脸检测结果回调观察者。
此观察者后,你会周期性收到 onFaceDetectResult:{@link #ByteRTCFaceDetectionObserver#onFaceDetectResult} 回调。
@param observer 人脸检测结果回调观察者,参看 ByteRTCFaceDetectionObserver{@link #ByteRTCFaceDetectionObserver}。
@param interval 两次回调之间的最小时间间隔,必须大于 0,单位为毫秒。实际收到回调的时间间隔大于 interval,小于 interval+视频采集帧间隔。
@param path 人脸检测算法模型文件路径,一般为 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:withAlgoModelDir:{@link #ByteRTCVideoEffect#initCVResource:withAlgoModelDir} 进行初始化。
- 调用该方法后,特效不直接生效,你还需调用 setEffectNodes:{@link #ByteRTCVideoEffect#setEffectNodes} 设置视频特效素材包或调用 setColorFilter:{@link #ByteRTCVideoEffect#setColorFilter} 设置滤镜。
- 调用 disableVideoEffect{@link #ByteRTCVideoEffect#disableVideoEffect} 关闭视频特效。
-
enableVirtualBackground(NSString backgroundStickerPath, ByteRTCVirtualBackgroundSource source)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 将摄像头采集画面中的人像背景替换为指定图片或纯色背景。
@param backgroundStickerPath 背景贴纸特效素材绝对路径。
@param source 背景贴纸对象,参看 ByteRTCVirtualBackgroundSource{@link #ByteRTCVirtualBackgroundSource}。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note
- 调用本方法前,必须先调用 initCVResource:withAlgoModelDir:{@link #ByteRTCVideoEffect#initCVResource:withAlgoModelDir} 进行初始化。
- 调用 disableVirtualBackground{@link #ByteRTCVideoEffect#disableVirtualBackground} 关闭虚拟背景。
-
getAuthMessage(NSString ppmsg)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 从特效 SDK 获取授权消息,用于获取在线许可证。
@param ppmsg 授权消息字符串地址
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note
- 使用视频特效的功能前,你必须获取特效 SDK 的在线许可证。
- 通过此接口获取授权消息后,参考 在线授权说明,自行实现获取在线许可证的业务逻辑。获取许可证后,你必须调用 initCVResource:withAlgoModelDir:{@link #ByteRTCVideoEffect#initCVResource:withAlgoModelDir} 确认许可证有效。然后,你才可以使用 CV 功能。
-
getVideoEffectHandle()
→ FutureOr<void>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 返回视频特效句柄。私有接口。
-
initCVResource(NSString licenseFile, NSString 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(NSArray<NSString> 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 #ByteRTCVideoEffect#setEffectNodes} 或 appendEffectNodes:{@link #ByteRTCVideoEffect#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
-
setColorFilter(NSString filterRes)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置颜色滤镜。
@param filterRes 滤镜资源包绝对路径。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用 setColorFilterIntensity:{@link #ByteRTCVideoEffect#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(NSArray<NSString>? effectNodes)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置视频特效素材包。
@param effectNodes 特效素材包绝对路径数组。
要取消当前视频特效,将此参数设置为 null。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
@note 调用本方法前,必须先调用 enableVideoEffect{@link #ByteRTCVideoEffect#enableVideoEffect}。
-
setVideoEffectExpressionDetect(ByteRTCExpressionDetectConfig config)
→ FutureOr<int>
-
@hidden for internal use only
@detail api
@author zhushufan.ref
@brief 开启人像属性检测。
@param config 人像属性检测参数,参看 ByteRTCExpressionDetectConfig{@link #ByteRTCExpressionDetectConfig}。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
toString()
→ String
-
A string representation of this object.
inherited
-
updateEffectNode(NSString node, NSString key, float value)
→ FutureOr<int>
-
@detail api
@author zhushufan.ref
@brief 设置特效强度。
@param node 特效素材包绝对路径,参考素材包结构说明。
@param key 需要设置的素材 key 名称,参考素材 key 对应说明。
@param value 特效强度值,取值范围
0,1,超出范围时设置无效。
@return
- 0: 调用成功。
- –1000: 未集成特效 SDK。
- –1001: 特效 SDK 不支持该功能。
- –1002: 特效 SDK 版本不兼容。
- < 0: 调用失败,错误码对应具体描述参看 错误码表。
-
updateResource(NativeResource resource)
→ void
-
inherited