## 文档SDK接入指南

从云直播播放SDK 4.6.0版本开始，提供单独的文档模块，用户可选择性接入文档模块，也可使用原来文档逻辑。

1. 依赖

   ```groovy
   implementation 'com.bokecc.doc:docsdk:4.6.0'
   ```

2. SDK API

   IDocManager

   | API          | 描述                                                         |
   | ------------ | ------------------------------------------------------------ |
   | prepare()    | 文档模块准备，调用必须保证业务组件已经登录完成               |
   | release()    | 文档模块释放，云直播已在业务内部调用，无需手动调用           |
   | getDocView() | 获取view，在prepare之后调用，返回当前需要显示在视图上的view，有可能为null |

   IDocView

   | API                                                      | 描述                     |
   | -------------------------------------------------------- | ------------------------ |
   | setScaleType(ScaleType scaleType)                        | 设置文档缩放模式         |
   | setBackgroundColor(String color)                         | 设置文档背景颜色         |
   | setFitWidth(boolean fitWidth)                            | 设置文档是否适配屏幕宽度 |
   | setDocModeType(SwitchType switchType)                    | 设置文档翻页模式         |
   | setScrollable(boolean scrollable)                        | 设置文档滚动模式         |
   | getView()                                                | 获取View对象，注意判空   |
   | setDocViewListener(DocViewEventListener docViewListener) | 设置Doc回调监听          |

3. 接入方式

   1. 登录直播业务（直播、回放、离线回放）

   2. 创建IDocManager

      ```java
      docManager = new DocManagerFactory().create(mContext, new IDocManagerListener() {
                      @Override
                      public void onPrepared() {
                        
                      }
      
                      @Override
                      public void onError(DocErrorCode code, String msg) {
      
                      }
        							 @Override
                      public void onPageInfoList(ArrayList<ReplayPageInfo> infoList) {
                          //(>=v4.7.0)回放使用 文档翻页数据回调, 直播不会回调
                      }
      
                      @Override
                      public void onMetaDataLoadSuccess() {
                          //(>=v4.7.0)回放使用 文档数据下载完成回调, 直播不会回调
                      }
                  }, DWLive.getInstance());
      ```
   
   3. 准备
   
      ```java
      docManager.prepare();
      ```
   
   4. 获取View，添加到视图树
   
      ```java
      if (docManager.getDocView() != null) {
                      docView = docManager.getDocView();
                      View view = docView.getView();
                      if (view != null) {
                          LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
                          view.setLayoutParams(params);
                          addView(view);
                      }
      
      
                      docView.setScrollable(false);
                      docView.setBackgroundColor("#ffffff");
                      docView.setDocViewListener(this);
      
                  }
      ```
   
   5. 调用直播业务开始播放
   
   
