# videosdk 接口文档 (version 1.1.1)

## 环境配制
### 1.引入文件

#### 1.1.script标签引入

```html
    <script type="text/javascript" src="{sdk}/zby_video_sdk.js"></script>
```

#### 1.2.npm+import引入

```javascript
    // 安装
    npm i -D zby_video_sdk

    // 引入
    import VideoSdk from "zby_video_sdk";
```

#### 1.3.requirejs引入

```javascript
    require(["{sdk}/zby_video_sdk.js"], function (VideoSdk) {});
```
 
### 2.API接口参数配制
#### 2.1 zbyVideo初始化

<table>
    <colgroup>
    </colgroup>
    <tbody>
        <tr>
            <td rowspan="28">
                <strong>初始化</strong></td>
        </tr>
        <tr>
            <td rowspan="2">接口</td>
            <td colspan="6">let zbyVideo = new VideoSdk(options);// 创建SDK对象，传入相关参数</td></tr>
        <tr>
            <td colspan="6">zbyVideo.initVideo();// 初始化SDK，
                <span>当构造函数参数urls为空数组时，此接口需要在setStreamUrls方法之后调用</td></tr>
        <tr>
            <td>
                <p>参数</td>
            <td>类型</td>
            <td colspan="3">描述</td>
            <td>备注</td></tr>
        <tr>
            <td>options.id</td>
            <td colspan="1">string</td>
            <td colspan="3">播放器的video的ID</td>
            <td colspan="1">必填</td></tr>
        <tr>
            <td>options.width</td>
            <td colspan="1">int</td>
            <td colspan="3">播放器的宽度(px),默认500px</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td>options.height</td>
            <td colspan="1">int</td>
            <td colspan="3">播放器的高度(px),默认300px</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td>options.controls</td>
            <td colspan="1">boolean</td>
            <td colspan="3">是否显示播放器控制条 默认true(显示)</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td>options.autoplay</td>
            <td colspan="1">boolean</td>
            <td colspan="3">是否自动播放 默认false(否)</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td>options.onVideoEvents</td>
            <td colspan="1">function</td>
            <td colspan="3">播放器的事件监听，详细见文档3.1.1&nbsp;</td>
            <td colspan="1">必填</td></tr>
        <tr>
            <td>options.config</td>
            <td colspan="1">object</td>
            <td colspan="3">数据上报基本参数，详细见文档3.1.2</td>
            <td colspan="1">必填</td></tr>
        <tr>
            <td colspan="1">options.urls</td>
            <td colspan="1">array</td>
            <td colspan="3">播放数据源，详细见文档3.1.3</td>
            <td colspan="1">必填</td></tr>
    </tbody>
</table>

 2.1.1 onVideoEvents
 
<table>
    <colgroup></colgroup>
    <tbody>
        <tr>
            <th rowspan="14">播放器事件监听</th>
            <th>方法</th>
            <th colspan="2">onVideoEvents(e,data)</th></tr>
        <tr>
            <td colspan="1">
                <p>参数</td>
            <td colspan="1">描述</td>
            <td colspan="1">备注</td></tr>
        <tr>
            <td colspan="1">e.ready</td>
            <td colspan="1">播放器初始化完毕</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td colspan="1">e.waiting</td>
            <td colspan="1">视频加载中</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td colspan="1">e.playing</td>
            <td colspan="1">开始播放</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td>e.buffernull</td>
            <td>开始卡顿</td>
            <td></td>
        </tr>
        <tr>
            <td>e.bufferplay</td>
            <td>结束卡顿</td>
            <td></td>
        </tr>
        <tr>
            <td>e.seriousbuffer</td>
            <td>严重卡顿</td>
            <td></td>
        </tr>
        <tr>
            <td>e.autoChangeLine</td>
            <td>自动切换线路中</td>
            <td></td>
        </tr>
        <tr>
            <td colspan="1">e.error</td>
            <td colspan="1">地址错误</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td colspan="1">e.pause</td>
            <td colspan="1">暂停</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td colspan="1">e.play</td>
            <td colspan="1">即将播放</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td colspan="1">e.currentLine</td>
            <td colspan="1">当前线路</td>
            <td colspan="1">data</td></tr>
        <tr>
            <td colspan="1">e.timeupdate</td>
            <td colspan="1">当前播放时间</td>
            <td colspan="1"></td>
        </tr>
    </tbody>
</table>

 2.1.2 config
 
 <table>
    <colgroup></colgroup>
    <tbody>
        <tr>
            <th rowspan="10">config</th>
            <th>config参数说明</th>
            <th colspan="3"></th>
        </tr>
        <tr>
            <td>参数</td>
            <td>类型</td>
            <td>描述</td>
            <td>备注</td></tr>
        <tr>
            <td>part_id</td>
            <td>string</td>
            <td>部门id</td>
            <td>必填</td></tr>
        <tr>
            <td>project_id</td>
            <td>string</td>
            <td>机构id(instid)</td>
            <td>必填</td></tr>
        <tr>
            <td colspan="1">uid</td>
            <td colspan="1">string</td>
            <td colspan="1">用户id</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td colspan="1">city_id</td>
            <td colspan="1">string</td>
            <td colspan="1">所属分校</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td colspan="1">course_id</td>
            <td colspan="1">string</td>
            <td colspan="1">课堂(room)id</td>
            <td colspan="1">选填</td></tr>
        <tr>
            <td colspan="1">class_id</td>
            <td colspan="1">string</td>
            <td colspan="1">班级(class)id</td>
            <td colspan="1">必填</td></tr>
        <tr>
            <td colspan="1">teacher_master_id</td>
            <td colspan="1">string</td>
            <td colspan="1">主讲老师id</td>
            <td colspan="1">必填</td></tr>
        <tr>
            <td colspan="1">teacher_assist_id</td>
            <td colspan="1">string</td>
            <td colspan="1">辅导老师id</td>
            <td colspan="1">选填</td></tr>
    </tbody>
</table>

2.1.3urls

<table>
    <colgroup></colgroup>
    <tbody>
        <tr>
            <th rowspan="8">urls</th>
            <th>datas参数说明</th>
            <th colspan="3">urls:[ datas,datas,.....]</th></tr>
        <tr>
            <td>参数</td>
            <td>类型</td>
            <td>描述</td>
            <td>备注</td></tr>
        <tr>
            <td>lineid</td>
            <td>string</td>
            <td>线路id</td>
            <td></td>
        </tr>
        <tr>
            <td>name</td>
            <td>string</td>
            <td>线路名称</td>
            <td></td>
        </tr>
        <tr>
            <td>url</td>
            <td>string</td>
            <td>直播、点播地址</td>
            <td></td>
        </tr>
        <tr>
            <td colspan="1">type</td>
            <td colspan="1">string</td>
            <td colspan="1">视频类型</td>
            <td colspan="1">rtmp、m3u8、flv、mp4</td></tr>
        <tr>
            <td colspan="1">streamid</td>
            <td colspan="1">string</td>
            <td colspan="1">流id</td>
            <td colspan="1"></td>
        </tr>
        <tr>
            <td colspan="1">supplier</td>
            <td colspan="1">string</td>
            <td colspan="1">供应商id</td>
            <td colspan="1">
                1--网宿
                2--阿里云
                3--白山云
                4--帝联
                5--蓝讯
            </td>
        </tr>
    </tbody>
</table>