多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在直播页面初始化美颜菜单UI和MHBeautyManager后,即构的美颜与其他SDK稍有不同。首先检查工程中是否有下图的advanced文件以及里面的类文件。 ![](https://img.kancloud.cn/71/2f/712f7fa5cc30365ca619df4e223015cc_338x624.png) 如果没有的话,请点击链接下载直播Demo,国内用户推荐码云:[https://gitee.com/zegodev/ZegoLiveDemo5Rtp.git](https://gitee.com/zegodev/ZegoLiveDemo5Rtp.git) 如果上面的链接无效的话,请去即构官网下载直播Demo。将advanced文件夹和ZegoAVKitManager拷贝到当前工程中。然后需要修改文件: l初始化Zego的时候调用方法 ```     [ZegoDemoHelper setRecordTime:YES]; ``` lZegoAVKitManager 头文件里添加代码: ``` + (void)setBeautyManager:(MHBeautyManager *)beautyManager; ``` l文件里实现这个方法: ``` +(void)setBeautyManager:(MHBeautyManager *)beautyManager { if(g_filterFactory){ [((ZegoVideoFilterFactoryDemo *)g_filterFactory) setBeautyManager:beautyManager];     } } ``` lZegoVideoFilterDemo.h文件里引用 ``` #import <MHBeautySDK/MHBeautyManager.h> ``` 按照图示添加红框的代码: ![](https://img.kancloud.cn/3e/b0/3eb0a1e2351e34db38f03002c80b09ba_832x706.png) lZegoVideoFilterDemo.m文件里修改如下:   按照图示在对应的位置添加红框的代码: ![](https://img.kancloud.cn/38/39/38398b526f9509e8f7d670250ff31b09_830x718.png) 渲染方法中添加调用beautyManager的渲染方法: video_capture_external_demo 文件,首先在头文件添加MHBeautyManager ![](https://img.kancloud.cn/2b/be/2bbe143ce457a06f180b493616e5c78b_628x424.png) 在m文件的渲染方法中调用 ``` - (void)captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection { CMTimep ts = CMSampleBufferGetPresentationTimeStamp(sampleBuffer); CVImageBufferRef buffer = CMSampleBufferGetImageBuffer(sampleBuffer); OSType formatType = CVPixelBufferGetPixelFormatType(pixelBuffer); [_beautyManager processWithPixelBuffer:pixelBuffer formatType:formatType]; } ``` 释放beautyManager ``` - (void)zego_stopAndDeAllocate{ if (_beautyManager) { [_beautyManager destroy]; _beautyManager= nil;     } } ```