<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ![](https://img.kancloud.cn/25/1d/251d713b6fb0859666334feeec1cbfe1_301x435.png)在直播頁面初始化美顏菜單UI和MHBeautyManager后,即構的美顏與其他SDK稍有不同。首先檢查工程中是否有下圖的advanced文件以及里面的類文件(After initializing the beauty menu UI and MHBeautyManager on the live broadcast page, the beauty constructed is slightly different from other SDKs. First, check whether there are advanced files and class files in the project)。 如果沒有的話,請點擊鏈接下載直播Demo,國內用戶推薦碼云<https://gitee.com/zegodev/ZegoLiveDemo5Rtp.git> 如果上面的鏈接無效的話,請去即構官網下載直播Demo。(If not, please go to the official website of instant construction to download the live demo.) 將advanced文件夾和ZegoAVKitManager拷貝到當前工程中。然后需要修改文件(Copy the advanced folder and ZegoAVKitManager to the current project. Then you need to modify the file): - 初始化Zego的時候調用方法(call the method when initializing Zego) ``` [ZegoDemoHelper setRecordTime:YES]; ``` - ZegoAVKitManager.h, Add code: ``` + (void)setBeautyManager:(MHBeautyManager *)beautyManager; ``` - ZegoAVKitManager.m實現這個方法(Implement this method): ``` +(void)setBeautyManager:(MHBeautyManager *)beautyManager { if(g_filterFactory){ [((ZegoVideoFilterFactoryDemo *)g_filterFactory) setBeautyManager:beautyManager]; } } ``` - ZegoVideoFilterDemo.h add ``` #import <MHBeautySDK/MHBeautyManager.h> ``` 按照圖示添加紅框的代碼(Add the code with red box as shown in the figure): ![](https://img.kancloud.cn/8a/ce/8ace3cb58fc1f9fe688dfa9621f84119_1346x1142.png) - ZegoVideoFilterDemo.m : 按照圖示在對應的位置添加紅框的代碼(Add the code of red box at the corresponding position as shown in the figure): ![](https://img.kancloud.cn/5a/57/5a577fde6883c89df2f44ae1f8918ab6_819x709.png) - 渲染方法中添加調用beautyManager的渲染方法(Add a rendering method that calls beautymanager to the rendering method): video\_capture\_external\_demo.h ![](https://img.kancloud.cn/d8/5e/d85e87f49fe50b48fe25b505be8bfaf2_957x645.png) video\_capture\_external\_demo.m : ``` - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection { CMTime pts = CMSampleBufferGetPresentationTimeStamp(sampleBuffer); CVImageBufferRef buffer = CMSampleBufferGetImageBuffer(sampleBuffer); OSType formatType = CVPixelBufferGetPixelFormatType(pixelBuffer); [_beautyManager processWithPixelBuffer:pixelBuffer formatType:formatType]; } ``` - 銷毀beautyManager(destroy beautymanager) ``` - (void)zego_stopAndDeAllocate{ if (_beautyManager) { [_beautyManager destroy]; _beautyManager = nil; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看