MHUI是开源的,可参考选用。使用MHUI方法如下:
* 在直播或者视频页面中添加美颜功能
```
#import "MHMeiyanMenusView.h"
#import <MHBeautySDK/MHBeautyManager.h>
#import "MHBeautyParams.h"
```
l添加代理并声明属性
```
MHMeiyanMenusViewDelegate
@property(nonatomic, strong)MHMeiyanMenusView *menusView;
@property(nonatomic, strong)MHBeautyManager *beautyManager;
```
l初始化美颜菜单页面,根据具体需求进行初始化。首先初始化美颜管理器
```
- (MHBeautyManager *)beautyManager {
if (!_beautyManager) {
_beautyManager = [[MHBeautyManager alloc] init];
}
return _beautyManager;
}
```
l初始化美颜菜单,根据具体用户交互进行初始化:
```
///@param frame frame
///@param superView所要添加到的视图
///@param delegate 代理
///@param manager 美颜管理器,完成初始化后传入
///@param isTx是否需要实现腾讯直播SDK美颜,YES:是,需要实现腾讯的美颜方法,具体可参考说明文档。NO:其他直播SDK,走美狐的美颜方法,不需要单独去处理。
- (instancetype)initWithFrame:(CGRect)frame superView:(UIView*)superView delegate:(id)delegatebeautyManager:(MHBeautyManager*)manager isTXSDK:(BOOL)isTx;
```
比如,所用直播SDK为腾讯SDK,需要实现腾讯的美颜方法,则isTXSDK传入YES,初始化方法如下:
```
- (MHMeiyanMenusView *)menusView {
if (!_menusView) {
_menusView = [[MHMeiyanMenusView alloc] initWithFrame:CGRectMake(0, window_height- MHMeiyanMenuHeight- BottomIndicatorHeight, window_width, MHMeiyanMenuHeight) superView:self.viewdelegate:self beautyManager:self.beautyManagerisTXSDK:YES];
}
return _menusView;
}
```
点击美颜按钮等操作来展示美颜页面,可以调用下面的方法:
```
[self.menusView showMenuView:YES];
```
美颜菜单的隐藏,则可以在控制器的touchesBegan
方法中调用上面的方法。示例代码:
```
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
if (self.menusView.isShow) {
[self.menusViewshowMenuView:NO];
if (![self.menusView isDescendantOfView:self.view]) {
// _preFrontView.hidden = NO;页面上其他控件显示,根据自己的项目完善
}
}
}
```
如果不想隐藏美颜菜单,可以在touchesBegan方法中调用
```
[self.menusView showMenuView:YES];
```
只用这一句就可以。美颜菜单会一直显示在页面上。
如果项目中有需求是设置默认美颜美型效果,则可以完成美颜页面等初始化之后,调用下面的方法。具体默认数值要在这个方法中完善。详情请看MHMeiyanMenusView.m
文件中对该方法的使用说明。
```
- (void)setupDefaultBeautyAndFaceValueWithIsTX:(BOOL)isTX;
```
在渲染方法中调用,要设置标志符保证该方法只走一次,不然耗内存,比如在腾讯代理方法中:
```
- (GLuint)onPreProcessTexture:(GLuint)texture width:(CGFloat)width height:(CGFloat)height
{
[self.beautyManager processWithTexture:texture width:width height:height];
if (!self.isSetDefaultValue) {
[self.menusView setupDefaultBeautyAndFaceValueWithIsTX:YES];
self.isSetDefaultValue= YES;
}
return texture;
}
```
l渲染结束,要释放渲染资源,否则会造成内存泄漏 。
```
- (void)dealloc {
if (_beautyManager) {
[_beautyManager destroy];
_beautyManager = nil;
}
if (_menusView) {
[_menusView removeFromSuperview];
}
}
```
- 一、产品简介
- 1.功能说明
- 2.平台支持
- 3.官方链接
- 二、集成指引
- android集成指引
- 1.概述
- 2.接入说明
- 3.详细步骤
- 4.使用步骤
- 1.腾讯移动直播
- 2.金山云直播
- 3.三体云直播
- 4.阿里云直播
- 5.七牛云直播
- 6.七牛短视频
- 7.Movieous短视频
- 8.即构直播
- 9.腾讯实时音视频
- 10.网易视频云
- 11.即构实时视频
- 12.融云视频通话
- 13.声网视频互动直播
- 14.声网视频通话
- 15.即构新版实时音视频
- 16.不同直播SDK设置基础美颜方式
- 5.新版美狐集成
- iOS集成指引
- 1.申请MH授权Key
- 2.检查SDK资源
- 3.配置工程
- 4.使用MHUI
- 5. 腾讯直播SDK美颜
- 6.TTT 直播SDK美颜
- 7.TTT 实时互动直播
- 8.金山直播SDK 美颜
- 9.七牛直播SDK 美颜
- 10.七牛短视频SDK 美颜
- 11.Movieous短视频
- 12.Zego(即构)直播SDK 美颜
- 13. Zego(即构)实时音视频SDK 美颜
- 14. 网易直播SDK美颜
- 15. 腾讯互动直播SDK美颜
- 16. 腾讯实时音视频
- 17.融云实时音视频
- 18.声网视频通话
- 19.声网直播
- 20. 腾讯短视频录制
- 21.阿里直播 SDK 美颜
- 22.阿里音视频
- 2.4.X版本安卓集成指引
- 1.详细步骤
- 2.云直播平台具体接入
- 1.腾讯移动直播
- 2.阿里云音视频
- 三、MHSDK美颜相关接口部分
- andorid美颜相关接口文档说明
- 美颜相关接口说明文档
- 设置滤镜
- 设置贴纸
- iOS美颜相关接口说明文档
- 1.初始化
- 2.美颜相关接口说明文档
- 3.美颜功能说明
- 四、常见问题
- android常见问题
- 1.认证失败原因
- 2.调用美型、贴纸、特效、哈哈镜没有效果
- 3.MHBeautyManager的特别声明
- 4.使用MHUI的注意事项
- 5.卡顿问题
- 6.闪退问题
- 7. 贴纸无法下载
- 8.andriodX(腾讯云)环境集成问题:
- 9.导入新的sdk出现乱码
- 10.弹出的UI有阴影效果
- 11.安卓10出现获取网络资源失败请检查网络
- 12.美狐可以记录设置的各种参数吗?
- 13.(七牛云)替换sdk画面上下颠倒
- 14.贴纸可以自定义吗
- 15.您这边可以短视频录制吗
- 16.MHSDK必须本地依赖吗
- 17.找不到某个方法
- 18.环信不显示自己的头像框
- 19.如何取消特效
- 20.水印没有找到
- 21.声网视频通话大小屏切换问题
- iOS常见问题
- 1.iOS认证失败原因
- 2.美颜无效果
- 3.贴纸下载失败
- 4.贴纸可下载,无效果
- 5. IPA processing failed/上架打包失败
- 6.存储美颜默认数据
- 7.如果遇到了Failed to create IOSurface image (texture)
- 8.opencv.framework冲突
- 五、联系方式