EffectMode
从 SDK V3.9.0 开始,创建 SDK 时必须指定 EffectMode,它有两个取值: EffectMode_Normal 和 EffectMode_Pro。
EffectMode_Normal 等价于旧版本 SDK 的“高性能模式”。
EffectMode_Pro 等价于旧版本 SDK 的默认模式。
二者区别如下:
高性能模式
“高性能模式”是 SDK V3.9.0之前的概念,当时 SDK 有两种模式:高性能模式和默认模式。
从V3.9.0开始,高性能模式变成了 EffectMode_Normal,默认模式变成了 EffectMode_Pro。
高性能模式与默认模式的区别请参考上文中 EffectMode_Normal 和 EffectMode_Pro 的区别。
V3.9.0及之后如何设置 EffectMode
方式一
如果您是直接使用的XmagicApi
对象,那么请在创建XmagicApi
对象时,在构造方法中指定 EffectMode:
public XmagicApi(Context context, EffectMode effectMode, String resDir)
public XmagicApi(Context context, EffectMode effectMode, String resDir, OnXmagicPropertyErrorListener xmagicPropertyErrorListener)
方式二
如果您是使用的 TEBeautyKit 对象,可以调用如下方法开启高性能模式。
public TEBeautyKit(Context context, EffectMode effectMode)
public static void create(@NonNull Context context, EffectMode effectMode, @NonNull OnInitListener initListener)
EffectMode 定义如下:
public enum EffectMode{
NORMAL(0),
PRO(1);
private final int value;
EffectMode(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
方式一
如果您是直接使用的XMagic
对象,那么需要在初始化XMagic
的时候指定 EffectMode,如下代码所示:
NSDictionary *assetsDict = @{@"core_name":@"LightCore.bundle",
@"root_path":[[NSBundle mainBundle] bundlePath],
@"effect_mode":@(effectMode)
};
self.xmagic = [[XMagic alloc] initWithRenderSize:CGSizeMake(720, 1280) assetsDict:assetsDict];
方式二
如果您是使用的 TEBeautyKit 对象,请在调用 createXMagic 方法时传入 EffectMode 参数。
+ (void)createXMagic:(EffectMode)effectMode onInitListener:(OnInitListener _Nullable )onInitListener;
EffectMode 的定义如下:
typedef NS_ENUM(NSInteger, EffectMode) {
EFFECT_MODE_NORMAL = 0,
EFFECT_MODE_PRO = 1,
};
可以通过调用TencentEffectApi
的setDowngradePerformance
方法开启。
注意:
此方法需要在开启美颜之前调用,也就是 TRTC或者Live
中的 enableCustomVideoProcess
方法之前调用。
可以通过调用XmagicApi
的setDowngradePerformance
方法开启。
注意:
此方法需要在开启美颜之前调用,也就是在enableCustomVideoProcess
方法之前调用。
V3.9.0之前如何开启高性能模式
方式一
如果您是直接使用的XmagicApi
对象,那么请在创建XmagicApi
对象之后立即调用以下接口开启高性能模式:
SDK 3.7.0及以后:调用 enableHighPerformance
方法。
SDK 3.7.0以前:调用setDowngradePerformance
方法。
方式二
如果您是使用的 TEBeautyKit 对象,可以调用如下方法开启高性能模式。
public TEBeautyKit(Context context, boolean isEnableHighPerformance)
public static void create(@NonNull Context context, boolean isEnableHighPerformance, @NonNull OnInitListener initListener)
方式一
如果您是直接使用的XMagic
对象,那么可以在初始化XMagic
的时候开启:
SDK 3.7.0及以后:请在assetsDict字典中将 enableHighPerformance
设置为YES。
SDK 3.7.0以前:请在assetsDict字典中将setDowngradePerformance
设置为YES。
NSDictionary *assetsDict = @{
@"core_name":@"LightCore.bundle",
@"root_path":[NSBundle mainBundle] bundlePath],
@"setDowngradePerformance":@(YES)
};
self.xmagic = [[XMagic alloc] initWithRenderSize:CGSizeMake(720, 1280) assetsDict:assetsDict];
方式二
如果您是使用的 TEBeautyKit 对象,可以调用如下方法开启高性能模式。
+ (void)create:(BOOL)isEnableHighPerformance onInitListener:(OnInitListener _Nullable )onInitListener;
可以通过调用TencentEffectApi
的setDowngradePerformance
方法开启。
注意:
此方法需要在开启美颜之前调用,也就是 TRTC或者Live
中的 enableCustomVideoProcess
方法之前调用。
可以通过调用XmagicApi
的setDowngradePerformance
方法开启。
注意:
此方法需要在开启美颜之前调用,也就是在enableCustomVideoProcess
方法之前调用。
本页内容是否解决了您的问题?