环境准备
支持 Flutter 3.16.0及以上版本。
Android 端开发:
Android Studio 3.5及以上版本。
Android SDK API Level 19及以上。
Android 4.4及以上,支持 armeabi-v7a、arm-v8a 架构的移动设备。
iOS 端开发:
Xcode 11.0及以上版本。
iOS 9.0以上的 iPhone 或者 iPad 真机。
项目已配置有效的开发者签名。
SDK 下载
快速集成
在项目的 pubspec.yaml 中添加依赖
pub 方式集成
在 pubspec.yaml 中增加配置:
# 默认可以不写,如果遇到与美颜SDK冲突问题可以加上,并指定 NoXMagicEffectPlayer:sub_spec: 'Default'# 可根据自身需要,切换如下版本(从3.4.1版本开始支持)# Default: 默认值,会集成全量SDK,包括 TCXMagicAuth 库# NoXMagic: 集成SDK时不会引入 TCXMagicAuth 库,一般用于项目内同时存在美颜SDK时,用于解决类冲突问题flutter_effect_player: ^3.4.1
远程仓库方式集成
集成 EffectPlayer_Player 最新版本,默认情况下也是集成此版本。在
pubspec.yaml 中增加配置:# 默认可以不写,如果遇到与美颜SDK冲突问题可以加上,并指定 NoXMagicEffectPlayer:sub_spec: 'Default'# 可根据自身需要,切换如下版本(从3.4.1版本开始支持)# Default: 默认值,会集成全量SDK,包括 TCXMagicAuth 库# NoXMagic: 集成SDK时不会引入 TCXMagicAuth 库,一般用于项目内同时存在美颜SDK时,用于解决类冲突问题flutter_effect_player:git:url: https://github.com/Tencent-RTC/EffectPlayer_Flutter.git
flutter_effect_player:git:url: https://github.com/Tencent-RTC/EffectPlayer_Flutterref: release_example_tag
集成之后,可以通过代码编辑器自带的 UI 界面来获取 Flutter 依赖,也可以直接使用如下命令获取:
flutter pub get
使用过程中,可以通过以下命令来更新现有 Flutter 依赖:
flutter pub upgrade
添加原生端配置
Android 端配置
加密视频播放配置
如果您在使用 TepTools 工具转换动画时,勾选了 Anim Encrypt 开关,那么转换出来的动画则是加密的。此时在使用特效播放器播放时,如果您的应用 targetSDKVersion 大于或等于28,那么需要单独进行如下配置:
1. 在项目新建 res/xml/network_security_config.xml 文件,设置网络安全性配置:
<?xml version="1.0" encoding="utf-8"?><network-security-config><domain-config cleartextTrafficPermitted="true"><domain includeSubdomains="true">localhost</domain><domain includeSubdomains="true">127.0.0.1</domain></domain-config></network-security-config>
2. 在 AndroidManifest.xml 文件下的 application 标签增加以下属性:
<?xml version="1.0" encoding="utf-8"?><manifest ... ><application android:networkSecurityConfig="@xml/network_security_config"... >...</application></manifest>
iOS 端配置
注意:
iOS 端目前暂不支持模拟器运行调试,建议在真机下进行开发调试。
加密视频播放配置
如果您在使用 TepTools 工具转换动画时,勾选了 Anim Encrypt 开关,那么转换出来的动画则是加密的。此时在使用特效播放器播放时,那么需要单独进行如下配置,在 iOS 的
Info.plist 中增加如下配置:<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>