<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國際加速解決方案。 廣告
                在直播頁面初始化美顏菜單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; ? ? } } ```
                  <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>

                              哎呀哎呀视频在线观看