请帮我画一个逻辑类图。有三个类,分别是LLS,HLS,和FLV。用户会从LLS类的入口接入,调用接口。LLS的主要功能是拉流播放,当LLS出错时,那么会降级为HLS和FLV。具体降级为哪个格式(HLS或FLV)是根据用户调用API的入参决定。如果分别只填了HLS或FLV的降级播放地址,那么就会根据填的的地址降级为对应格式。如果两个格式的降级播放地址都填写了,那么会优先降级为HLS。在HLS失败后再尝试降级为FLV。降级情况分别为:1.端口不通 2. 浏览器不支持webrtc能力 3. 视频起播超时。 4. http返回400。 降级功能由一个新的类叫DowngradeManager来管理, LLS类持有DowngradeManager的实例。当降级情况触发时,LLS会调用DowngradeManager的函数降级
时间: 2024-03-26 17:40:22 浏览: 109
抱歉,由于平台限制,我无法直接为您画出逻辑类图。但我可以给您提供文字描述,希望能帮助到您。
逻辑类图:
```
+-----------------+ +-----------------+
| LLS |------------------| DowngradeManager|
+-----------------+ +-----------------+
| - hlsUrl: string | | - hlsUrl: string |
| - flvUrl: string | | - flvUrl: string |
| - dm: DowngradeM | +-----------------+
+-----------------+ |
| + play(): void | |
+-----------------+ |
|
+---------+ |
| HLS | |
+---------+ |
| | |
+---------+ |
|
+---------+ |
| FLV | |
+---------+ |
| | |
+---------+ |
|
+---------+ |
| Downgrad| |
+---------+ |
| | |
+---------+ |
|
+---------+ |
| User | |
+---------+ |
| | |
+---------+ |
```
类的功能描述:
LLS类:
- 属性:
- hlsUrl:string类型,HLS的播放地址
- flvUrl:string类型,FLV的播放地址
- dm:DowngradeManager类型,降级管理器实例
- 方法:
- play():void类型,播放函数。根据传入的参数,调用对应格式的播放方式。如果出现降级情况,调用DowngradeManager实例进行降级处理。
HLS类:
- 功能:HLS格式的播放
FLV类:
- 功能:FLV格式的播放
DowngradeManager类:
- 属性:
- hlsUrl:string类型,HLS的降级播放地址
- flvUrl:string类型,FLV的降级播放地址
- 方法:
- downgradeToHLS():void类型,触发HLS降级播放
- downgradeToFLV():void类型,触发FLV降级播放
User类:
- 功能:用户类,调用LLS类的接口进行播放。
阅读全文