标题:Qt音视频开发45-音视频类结构体参数的设计
作者:liudianwu
日期:2023-05-09 12:01
内容:
## 一、前言
视频监控内核组件重构和完善花了一年多时间,整个组件个人认为设计的最好的部分就是各种结构体参数的设计,而且分门别类,有枚举值,也有窗体相关的结构体参数,解码相关的结构体参数,同时将部分常用的结构体参数的获取和设置单独提供了函数,参阅海康大华等大厂的sdk的设计方式,也是将众多的参数统一归类的不同的结构体中,这样后期非常容易就能拓展,比如又新增一个参数,只需要动结构体就行,但是也有个不完美的地方就是,如果没有提供单独的参数设置接口,需要先获取之前的结构体参数,然后在此基础上修改,最后重新设置,因为如果你没有先获取再更新最后设置,而是重新定义了一个结构体参数,则很可能会把之前设置好的结构体参数覆盖掉。
窗体结构体参数设计如下:
```cpp
//窗体参数
struct WidgetPara {
int borderWidth;//边框大小
QColor borderColor; //边框颜色
QColor focusColor;//焦点颜色
QColor bgColor; //背景颜色
QColor textColor; //文字颜色
QColor fillColor; //填充颜色
int bgTextSize; //文字大小
QString bgText; //背景文字
QImage bgImage; //背景图片
QString videoFlag;//视频通道标识
ScaleMode scaleMode;//缩放显示模式
VideoMode vide ..