
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Qt在部件中进行拖放Qt中的拖放支持以QDrag为中心,拖放操作的大部分细节由该类处理。除了创建QDrag对象外,还需要重新实现dragMoveEvent()来接受事件和dropEvent()处理部件上的数据。最终DragEnterEvent()需要重新实现才能接受事件。在处理拖放操作的控件上,还需要调用setAcceptDrops(true);代码实现:mydialog.hclass MyDia
QWaitCondition允许线程告诉其他线程某种条件已经满足。一个或多个线程可以阻塞等待QWaitCondition来使用wakeOne()或wakeAll()设置条件。使用wakeOne()唤醒一个随机选择的线程或wakeAll()唤醒所有线程。QWaitCondition同样可以使多个线程同时访问同一资源,比单纯使用互斥锁的效率更高,类似于QSemaphore。
Ubuntu下使用ffmpeg调用设备摄像头采集视频,保存yuv文件并播放打开视频设备AVFormatContext* open_dev(){// 获取采集格式AVInputFormat *inputFmt = av_find_input_format("video4linux2"); // 视频int ret = 0;AVFormatContext *fmt_ctx = NULL;char *d
Qt网络-TCP,实现服务器、客户端传递文本消息和文件

1. 前言之前写了如何使用Qt mingw编译CyAPI源码生成静态库,Qt MinGW编译CyAPI源码生成静态库今天写一下使用方法和测试过程。2. 使用2.1 将准备好的静态库和头文件拷贝到工程目录下,或者放到自定义的目录下,我的目录结构:2.2 新建Qt工程,在项目文件(.pro文件)中加入以下内容:我的库和头文件都在工程目录下,所以此处配置路径如下,如果自己修改了路径直接在此处修改即可。或
udp组播

Ubuntu下使用Qt和ffmpeg,打开音频采集设备引入编译好的ffmpeg库文件和头文件。在.pro文件中加入:unix:!macx: LIBS += -L$$PWD/../../../usr/local/ffmpeg/lib/-lavcodec -lavdevice -lavfilter -lavformat -lavutil -lswresample -lswscaleINCLUDEPAT
几种常见音频编码器的比较常见的音频编码器:OPUE,AAC,Ogg,Speex,iLBC,AMR,G.711等。常见的音频编码器特性:OPUS:延迟小,压缩率高,适合实时通讯,WebRTC默认使用OPUS。AAC:应用最广泛的一款解码器。Ogg:收费的,应用不如前面2个应用广泛Speex:在前面3个之前是应用广泛的,因为它包含了回音消除这个功能。在之前是很多编解码器不支持的。G.711系列:用于固
音频编码基础1.音频压缩技术音频有损压缩:在保证音频不失真的前提下,对音频数据进行尽可能大的压缩。压缩的主要方法是消除音频中的冗余信息,包括人耳听觉范围外的音频以及被遮蔽掉的音频信号,分为频域遮蔽和时域遮蔽。音频无损压缩:无损压缩编码方式:熵编码,包括哈夫曼编码,算术编码,香农编码使用音频压缩技术的原因:一个PCM音频流的码率=采样率值×采样大小值×声道数。假设一个采样率为44.1KHz,采样大小
Qt Model/View 自定义代理(五): 使用代理给QTableView单元格添加按钮QPushButton效果图:构造函数中传入按钮列表,即可添加多个按钮,可设置按钮样式表,使用信号槽连接按钮事件。1. 头文件#include <QObject>#include <QPushButton>#include<QStyledItemDelegate>clas








