更新记录

3.6.0.4(2024-04-24)

重新更新文档,修改发布iOS 底库为动态库


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 14.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:11 - 17

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


功能说明

由于腾讯特效SDK支持Android和iOS平台,所以可以在uniapp端进行桥接处理,在用户通过uniapp开发Android或者iOS应用时,也可以通过此插件将腾讯特效的功能添加进应用内。实现对相机画面的实时美颜处理,效果包括美颜、美体、动效、分割等。

注意:相机画面需要使用TRTC(腾讯RTC).

集成指引

本地原生插件集成

  1. 下载并解压 [TencentEffect_UniApp]()

  2. 找到 TencentEffect_UniApp/SDK/nativeplugins 目录下的 TencentEffectUniPlugin-XmagicPluginImpl 文件夹拷贝到自己项目工程的 nativeplugins 目录下。如下图所以位置 :

img

  1. 在自己项目工程的 manifest.json 中配置原生插件,选择本地插件 TencentEffectUniPlugin-XmagicPluginImpl。

img

云端原生插件集成

在自己项目工程的 manifest.json 中配置原生插件,选择云端插件 TencentEffectUniPlugin-XmagicPluginImpl。

js代码集成

  1. 把 SDK/js 目录下的 XMagic 文件夹拷贝到自己项目工程中。

img

美颜素材添加

Android:把在官网中下载的美颜素材拷贝到自己项目工程的 nativeResources/android/assets 目录下。

iOS:把在官网中下载的美颜资源和美颜模型拷贝到自己项目工程的 nativeResources/ios/Resources 目录下。

不同套餐,添加的美颜模型和美颜素材不一样。(详见 美颜官网

img

  1. 添加腾讯特效 SDK

Android:通过 maven 依赖美颜特效 SDK,需要更改美颜套餐或者美颜版本,可手动修改nativeplugins/TencentEffectUniPlugin-XmagicPluginImpl/package.jsondependencies字段中腾讯特效 SDK 的 maven [地址]()。

img

iOS:下载腾讯特效 SDK 后,把里面的 XMagic.framework、YTCommonXMagic.framework、TECodec.framework、libpag.framework 拷贝到nativeplugins/TencentEffectUniPlugin-XmagicPluginImpl/ios中。

img

使用指引

注:此美颜插件需要和 TRTC 插件结合使用:

1.复制美颜资源

接口:copyXmaigcRes

描述:复制美颜资源。

app 首次安装使用时,需要调用此接口把美颜资源复制到沙盒,每个版本仅需要成功调用一次即可

2.美颜鉴权

接口:setLicense

描述:使用 bundleId、licenseUrl、licenseKey 进行美颜鉴权。

app 启动以后,需要成功鉴权以后才能使用美颜功能。

3.开启或关闭美颜

接口:enableCustomVideoProcess

描述:调用此接口来开启或关闭美颜。

4.设置美颜属性

V0.3.5.0版本

接口:setEffect

描述:设置美颜属性

美颜属性包括美颜、美体、滤镜、动效(2D 动效、3D 动效、手势动效、趣味动效)、美妆、分割。设置不同的属性需要在调用此接口时传入不同的参数,

具体参见 美颜参数表 和 demo。

V0.3.3.0版本

接口:updateProperty

描述:设置美颜属性。

美颜属性包括美颜、美体、滤镜、动效(2D 动效、3D 动效、手势动效、趣味动效)、美妆、分割。设置不同的属性需要在调用此接口时传入不同的参数,具体参数请参考下表和demo。

字段 美颜 滤镜 美体 动效贴纸 分割 美妆
category Category.BEAUTY Category.LUT Category.BODY_BEAUTY Category.MOTION Category.SEGMENTATION Category.MAKEUP
id 参考 PropertyIds 类 滤镜资源名称 例如:baixi_lf.png 贴纸资源的名称。例如:video_keaituya 分割资源的名称 例如:video_segmentation_blur_45 美妆资源名称 例如:video_nvtuanzhuang
resPath 参考 Android 参数表中的 单点妆容 中的 resPath 字段 滤镜资源的路径 例如:light_material/lut/baixi_lf.png 贴纸资源名称。例如:MotionRes/2dMotionRes/video_keaituya 分割资源路径。 例如:MotionRes/segmentMotionRes/video_segmentation_blur_45 美妆资源路径 例如: MotionRes/makeupRes/video_nvtuanzhuang
effKey 参考 EffectName 类 参考 EffectName 类
effValue 取值范围为0 - 1或者是-1 - 1参考Android 参数表,如果 displayMinValue 和 displayMaxValue 值为0 - 100,那么此处的范围是0 - 1,如果是-100 - 100,那么此处的值为-1 - 1 0 - 1 0 - 1 0 - 1

5.暂停美颜

接口:

描述:暂停美颜。

6.恢复美颜

接口:

描述:恢复美颜接口。

API详解

setResPath

设置资源存放的路径,用于把美颜资源复制到此路径下,如果不设置此路径,SDK 内部会有一个默认路径。

 /**
     * 设置存放美颜资源的路径,
     * @param {String} resourceDir 用于存放美颜资源的路径文件夹(绝对路径),可参考demo
     */
    static setResPath(resourceDir)

参数

参数 含义
resourceDir 资源文件放置的目录

copyXmaigcRes

用于复制美颜资源。

/**
     * 用于复制美颜资源
     * @param {Function(result)} callback  result===true表示成功,false 表示失败
     */
    static copyXmaigcRes(callback)

参数

参数 含义
callback 由于资源复制是耗时任务,处理完成之后通过此接口回调结果

setLicense

进行美颜鉴权,app 启动之后,需要成功鉴权一次才能使用美颜功能。

 /**
     * 鉴权
     * @param {String} licenseUrl
     * @param {String} licenseKey
     * @param {Function(code,message)} callback code===0表示成功,其他错误码请参考
     */
    static setLicense(licenseUrl, licenseKey, callback)

参数

参数 含义
licenseUrl 官网申请的用于美颜鉴权的 licenseUrl
licenseKey 官网申请的用于美颜鉴权的 licenseKey
callback 鉴权结果回调方法,code==0表示鉴权成功

setLogLevel

设置 native SDK 的日志级别。

 /**
     * 设置日志级别
     * @param {number} logLevel 参见{@link LogLevel}
     */
    static setLogLevel(logLevel)
参数 含义
logLevel 日志级别,具体参考 SDK 中的 LogLevel

enableCustomVideoProcess

开启或关闭美颜。

   /**
     * 打开或关闭美颜
     * @param {boolean} enable
     * @returns
     */
    static enableCustomVideoProcess(enable) 
参数 含义
enable 开启或关闭美颜,true 表示开启美颜,false 表示关闭美颜

恢复美颜处理。

   static ()

暂停美颜处理。

    static ()

setEffect(V0.3.5.0新增)

设置美颜、美型、滤镜、美妆、贴纸、分割等效果,可在任意线程调用。具体参数请参考 [美颜参数说明]()。

/**
 * 更新美颜对象
 * @param effect 对象结构如下
 * {
 *     effectName:"",不为空的字符串,参考美颜参数表
 *     effectValue: 数值,一般为-100---100的值,可参考官网的美颜参数表
 *     resourcePath: 资源文件的路径,请参考美颜参数表 https://cloud.tencent.com/document/product/616/103616
 *     extraInfo:一个map集合,具体数值请参考美颜参数表
 * }
 */
static setEffect(effect) 

updateProperty

设置美颜属性。

   /**
     * 设置美颜属性
     * @param {null} property
     */
    static updateProperty(property)
参数 含义
property 美颜参数信息,具体参数请参见 美颜参数说明 Android美颜参数说明 iOS

enableEnhancedMode

开启美颜增强模式。默认未开启。

未开启时,应用层可以设置的各美颜项的强度范围为0到1或-1到1,如果超出此范围,SDK 会取边界值。例如应用层设置瘦脸为1.2,SDK 判断其超出了最大值1.0,则在内部把瘦脸值修正为1.0。

开启增强模式后,应用层可以设置更大范围的数值。例如想要瘦脸程度更大,则可以把瘦脸值设置为1.2,SDK 会接受并使用1.2这个数值,不会将其修正为1.0。

开启增强模式后,需要应用层自己管理每个美颜项可以设置的最大值,让用户在此范围内调整数值。我们提供了一份参考值,您可以根据产品需求自由调整,但不建议超出我们的推荐值,否则美颜效果可能变差。参考值见下:

美颜项名称 增强模式下,建议的最大值(放大倍数)
美白,短脸,V脸,眼距,鼻子位置,祛法令纹,口红,立体 1.3
亮眼 1.5
腮红 1.8
其他 1.2
 /**
     * 开启增强模式
     */
    static enableEnhancedMode() 

setDowngradePerformance

调用此方法开启高性能模式。高性能模式开启后,美颜占用的系统 CPU/GPU 资源更少,可减少手机的发热和卡顿现象,更适合低端机长时间使用。

      /**
     * 开启性能模式,如果要使用此方法,此方法需要在 enableCustomVideoProcess 方法之前调用
     */
    static setDowngradePerformance()

setAudioMute

设置静音。

    /**
     * 设置静音
     */
    static setAudioMute(isMute)
参数 含义
isMute true:静音

setFeatureEnableDisable

调用此方法开启高性能模式。高性能模式开启后,美颜占用的系统 CPU/GPU 资源更少,可减少手机的发热和卡顿现象,更适合低端机长时间使用。

      /**
     * 开启性能模式,如果要使用此方法,此方法需要在 enableCustomVideoProcess 方法之前调用
     */
    static setDowngradePerformance(feature)
参数 含义
feature feature 为 object 对象,key 的值参考 SDK 中的 FeatureName 对象,value 设置为 true 开启,false 关闭

addAiMode

设置模型文件,入股模型文件是动态下载的,则需要在下载成功之后通过此接口将模型文件设置为 SDK,下次启动时不需要再设置。

  /**
     *设置模型文件路径、
     *
     * @param {String} aiModePath 模型文件路径(绝对路径)
     * @param callback
     */
    static addAiMode(aiModePath, callback) 
参数 含义
aiModePath 模型文件路径(绝对路径)
callback 结果回调方法

setLibPathAndLoad

设置网络下载的 so 文件,只支持 Android 平台。

   /**
     * 动态加载网络下载的so文件,这里只需要出入存放so的文件夹即可
     * @param {String} soDir 下载好的so文件的存放目录路径
     */
    static setLibPathAndLoad(soDir)
参数 含义
soDir soDir 下载好的 so 文件的存放目录路径

on

订阅 SDK 返回的事件。

  /**
     * 订阅回调事件
     *
     * @param {String} event 事件名称
     * @param {Function} callback 事件名称以及回到方法可参考  {@link EventName}
     */
    static on(event, callback)
参数 含义
event 事件名称,可以参考 EventName 类,订阅对应的事件
callback SDK 通过此方法将订阅的事件返回给 JS 侧

off

取消对应的事件。

   /**
     * 取消回调事件
     *
     * @param {String} event 事件名称 可参考  {@link EventName}
     */
    static off(event)
参数 含义
event 事件名称,可以参考 EventName 类

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.READ_EXTERNAL_STORAGE android.permission.WRITE_EXTERNAL_STORAGE android.permission.INTERNET

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 腾讯特效 SDK会采集数据,详情可参考: https://cloud.tencent.com/document/product/616/65678

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问