自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

龚建波

一切都是稍纵即逝的追寻

  • 博客(272)
  • 资源 (5)
  • 收藏
  • 关注

原创 Qt绘图:坐标轴

0.前言绘制图表很重要的一步就是确立坐标轴,有了标尺,才能找准自己的定位。每一个数据点都需要根据坐标轴来计算数据值对应的屏幕像素位置。本文代码源码链接及实现效果如下:github 链接(XYView类):https://github.com/gongjianbo/EasyQPainter1.实现细节对于固定的坐标范围,刻度可以直接根据最大最小值进行均分。但是加入缩放、移动等交互后,就需要保存一些额外的信息,如最小缩放范围、最大最小限定范围等。确定好范围后,就是刻度的位置计算。一些

2021-12-04 02:28:57 373

原创 Qt绘图:选中区域

0.前言选区操作是比较常见的需求,如截图、图表等。一般矩形选区居多,有的是四个边都可编辑,有的是横向可编辑。单个选区的操作逻辑也是比较简单的,之后会在此基础上增加更复杂的需求。本文代码源码链接及实现效果如下:github 链接(SimpleSelection类):https://github.com/gongjianbo/EasyQPainter1.实现细节矩形区域可以用 QRect 来保存,先对这个类有个基本的认识:QRect有四个成员变量,分别对应左上角和右下角点坐标x.

2021-12-01 23:52:04 290

原创 二维几何变换

前言应用于对象几何描述并改变它的位置、方向或大小的操作称为几何变换。最常见的就是平移、旋转和缩放这三种最基本的几何变换。相关名词关系示意:变换公式平移(translation)二维平移方程齐次坐标二维平移矩阵旋转(rotation)二维旋转矩阵(相对原点)齐次坐标二维旋转矩阵(相对原点,对于通用矩阵可以先平移到原点,操作完再平移回去)缩放(scaling)二维缩放矩阵(相对原点)齐次坐标缩放矩阵(相对原点,对于通...

2021-11-21 02:17:33 280

原创 平面多边形凹凸判断(叉乘法)

参照《计算机图形学》一书中的描述,多边形(polygon)是由三个及以上的顶面坐标位置描述的平面图形,这些顶点由多边形的边顺序连接。多边形的一个内角由两个相邻边形成的边界之内的角。如果所有内角均小于180度则称为凸(convex)多边形,否则为凹(concave)多边形。百度多边形凹凸的判断,主要方法有:凸包法、叉乘法(大于和小于180度的符号相反)、辛普森面积法。这里主要学习下叉乘的运用,并配上 C++ Qt 示例代码。判断方法:为每一条边建立一个向量,使用相邻边的叉积来测试凹凸性。凸多边形的所有

2021-11-19 00:30:33 595

原创 学习设计模式:Abstract Factory(抽象工厂)

别名Kit意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用性在以下情况下可以使用 Abstract Factory 模式:一个系统要独立于它的产品的创建、组合和表示时。 一个系统要由多个产品系列中的一个来配置时。 当你要强调一系列相关的产品对象的设计以便进行联合使用时。 当你提供一个产品类库,而只想显示它们的接口而不是实现时。结构AbstractFactory:声明一个创建抽象产品对象的操作接口。ConcreteFactory:实现创建具体

2021-11-09 23:08:36 187

原创 《QDebug 2021年11月》

一、Qt Widgets 问题交流1.QPushButton 双击与单击QPushButton 自带的只有点击信号,可在mouseDoubleClickEvent 中触发一个自定义信号。单击和双击最好不要做在同一个按钮上,判定的时间间隔不好定。在 QML 中双击会触发一次点击和一次双击,QPushButton 如果也想做成这个效果,可以增加一个标志位,然后在mouseDoubleClickEvent 中置位 true,mouseReleaseEvent 是判断是否双击触发不同的信号即可(双击..

2021-11-08 00:26:45 33

原创 Qt绘制旋转的轮播图

前言目前见的比较多的轮播图有平移和旋转两种方式。平移类似淘宝那种切换幻灯片一样的效果,旋转一般是近大远小,看起来有点3D的感觉。本文代码实现旋转轮播图效果如下:完整代码链接:https://github.com/gongjianbo/MyTestCode2021/tree/master/Qt/TestQt_20211029_Swiper设计思路思路1.计算坐标可以现在 3D 场景中设计效果,图片是绕着 Y 轴旋转的,如下图:但是由于我们的观察点是固定的,所以可以拆分成两个平.

2021-10-31 23:46:58 172

原创 QML处理[文件保存提示框]中的任务链问题

在做文件保存提示框需求时,发现很多地方都会判断文件是否保存,未保存时就需要弹框提示,但是操作完又需要根据调用时的情况做后续处理。保存要提示,保存方式覆盖还是另存要提示,另存命名要编辑,命名后有重命名检测,以此等等,所以我叫他任务链,要根据当前任务上下文来做不同的操作。一开始我就在对话框中放一个枚举变量,弹出时设置对应的值,操作结束后根据这个枚举做后续操作。如下: Connections{ target: warn_save onAccepted: {

2021-10-24 22:20:58 43

原创 OpenGL with QtWidgets:使用Assimp库加载模型

(本文是LearnOpenGL的学习笔记,教程中文翻译地址https://learnopengl-cn.github.io/(备用地址https://learnopengl-cn.readthedocs.io/zh/latest/),写于 2021-10-19)0.前言教程加载模型这一章节主要是讲 Assimp 库的基本使用,所以本文就记录下 Assimp 使用 VS2019 编译,以及在 Qt 中的基本使用。1.Assimp 下载与编译源码可以直接去 github 下载(搜 assimp.

2021-10-20 00:08:28 97

原创 《QDebug 2021年10月》

一、Qt Widgets 问题交流1.QListView 大量数据时卡顿默认情况下 QListView 会遍历所有项查询一些信息,如 size 等(QML ListView 默认是不会全部遍历的),可以设置uniformItemSizes(true), 提示所有项目具有相同的大小,这样 QListView 会取最后一项的 size 来作为所有项的 size,而不可见区域不会再去遍历。但是遇到大量数据且 size 不一致的情况就没法了。相关源码片段:void QListModeViewBa.

2021-10-14 09:13:29 17

原创 辨音项目阶段总结(2021-10-5)

该项目是一个处理音频的 PC 客户端,采用 QtQuick 框架开发,主要功能为对音频进行背景降噪、人声分离,以及音频批量比对、聚类等(就是调用下算法库和写写界面交互),在此基础上又增加了音频库(文件管理)、录音、微信语音转写等功能。从2020-11月参与项目到现在,历经多次迭代,也发现了不少软件设计上的问题,故做一个阶段总结。回顾先看看参与项目时已有代码的面貌:划分为主进程(UI交互)、封装的公共库、算法进程三个编译模块,UI 和 算法进程通过 rpc 交互。运行起来虽然像个 demo,但是基本的

2021-10-05 12:38:33 132 3

原创 OpenGL with QtWidgets:投光物、多光源

(本文是LearnOpenGL的学习笔记,教程中文翻译地址https://learnopengl-cn.github.io/(备用地址https://learnopengl-cn.readthedocs.io/zh/latest/),写于 2021-10-2)0.前言上一节学习了材质和光照贴图(https://gongjianbo1992.blog.csdn.net/article/details/120397134),教程接下来讲了投光物和多光源。1.知识点投光物就是在基础光照的内容上..

2021-10-02 15:26:59 44

原创 OpenGL with QtWidgets:材质、光照贴图

(本文是LearnOpenGL的学习笔记,教程中文翻译地址https://learnopengl-cn.github.io/(备用地址https://learnopengl-cn.readthedocs.io/zh/latest/),写于 2021-9-20)0.前言上一节学习了基础光照(https://mp.csdn.net/mp_blog/creation/editor/106005766),教程接下来讲了材质和光照贴图。1.知识点如果我们想要在OpenGL中模拟多种类型的物体,我们必.

2021-09-21 00:13:41 77

原创 Inno Setup覆盖安装前执行卸载、获取原安装路径

分享下目前用到的一个简单的 Inno Setup 安装包制作脚本:主要功能有3个:安装前检测是否已安装,如果是覆盖安装则提示是否先进行卸载(程序卸载时不会自动卸载打包列表外的文件,目前没有进行历史数据的清除) 安装和卸载时检测程序是否正在执行,目前没有提供强制结束程序的操作,不过可以百度到 获取原来的安装路径(通过注册表),设置为当前的的默认安装路径路径问题参照了两个博客:inno setup读取注册表遇到的一个坑 - 24K纯开源 - 博客园Innosetup 打包安装exe 读取上

2021-09-09 23:08:16 178

原创 Qt Remote Objects之静态Source

0.前言Qt Remote Objects 是从 Qt5.9 加入的 RPC 远程调用模块,详情可以从文档中了解:https://doc.qt.io/qt-5/qtremoteobjects-gettingstarted.html从个人使用实践来看,相比其他流行的 RPC 框架,也有一些优势:Qt-like:如果使用 grpc,那么一些Qt 自带的类型,如 QString 、QByteArray 等需要转换成 grpc 支持的几种基本类型,序列化时会有字符串编解码不一致的风险。使用 QtR.

2021-09-04 18:57:35 58

原创 《QDebug 2021年9月》

一、Qt Widgets 问题交流1.二、Qt Quick 问题交流1. QtQuick.Dialogs 的 FileDialog 切换nameFilters 等属性如果是在 FileDialog 的 visibleChanged 中修改 nameFilters 属性,会报警告,且设置不生效。可以在调用 open() 之前设置好nameFilters。(当前,也别绑定属性来动态切换,因为在弹出之后你没法重置这个属性) Button { text: 'dia..

2021-09-04 16:07:55 9

原创 Qt+Win32进行简单的多进程管理

项目需要将算法放到独立的进程运行,一来避免了算法不稳定导致主程序崩溃,二来避免了多个算法库的依赖冲突。本来首先想到的是使用 QProcess 来启动子进程,但是启动之后想要结束或者是判断进程状态属实不方便,索性直接全用 Win32 的接口来操作。由于需求简单,只是一个主程序对应多个子进程的形式,所以也不需要设计什么进程调度,只需要启动、关闭和检测进程运行状态,分别查找对应的接口。首先是启动进程,百度到主要有四种接口,参照:https://blog.csdn.net/qq_43812868/artic

2021-09-01 01:01:14 120

原创 Python selenium练习:华为保修查询

0.前言好久没写 Python 了,正好有小伙伴有个批量查询保修期得需求,就练习一下:查询地址:https://consumer.huawei.com/cn/support/warranty-query/需求就是根据序列号查询到对应的保修截止日期。个人感觉用 selenium 来做更简单点,然后验证码使用的pytesseract 来识别。1.准备工作A:selenium 库及谷歌浏览器、谷歌浏览器驱动驱动注意要下载浏览器对应版本的,可以从镜像下载:https://npm...

2021-08-23 22:47:42 635

原创 《QDebug 2021年8月》

一、Qt Widgets 问题交流1.二、Qt Quick 问题交流1.三、其他1.QtCreator 中编译时 [[deprecated]] 属性没有警告[[deprecated]] 是 C++14 标准出的一个弃用属性,可以标记一些弃用的接口[[deprecated]]void func1() {}详见文档:https://en.cppreference.com/w/cpp/language/attributes/deprecated在 VS2019 种使用该属

2021-08-14 14:26:25 47

原创 Qt实现HTTP文件上传下载(Flask服务端)

接上一篇 Qt HTTP 基本操作:https://blog.csdn.net/gongjianbo1992/article/details/975688631.准备服务端测试代码只需要上传和下载两个接口,实际应用时可能还需要 token 验证之类的,而且也没有对文件传输结果进行校验。#using flask 2.0.1import os,sysfrom flask import Flask,request,jsonify,send_file,send_from_directoryap

2021-08-07 18:28:19 374 1

原创 学习设计模式:Factory Method(工厂方法)

意图定义一个用于创建目标对象的接口,让子类决定实例化哪一个目标类。Factory Method 使一个类的实例化延迟到其子类。适用性以下情况可以使用Factory Method 模式:当一个类不知道它所必须创建的对象的类的时候。当一个类希望由它的子类来指定它所创建的对象的时候。当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

2021-07-31 22:18:05 58

原创 《QDebug 2021年7月》

一、Qt Widgets 问题交流1.二、Qt Quick 问题交流1.三、其他1.QPainterPath 的 fillRuleQPainterPath 填充路径时有两个规则,奇-偶(默认)和非零环绕。奇-偶规则(Odd-even Rule):路径内任意一点引向外任意方向引一条线,与路径相交的次数为奇数则在多边形内部,为偶数在外部。非零环绕数规则(Nonzero Winding Number Rule):路径内任意一点引向外任意方向引一条线,与顺时针方向路径相交+1,与逆时

2021-07-28 01:08:56 47

原创 OpenGL DSA(Direct State Access)

前言直接状态访问( DSA ) 是一种修改 OpenGL 对象而无需将它们绑定到上下文的方法。这允许在本地上下文中修改对象状态,而不会影响应用程序所有部分共享的全局状态,即直接访问一个对象的状态而不需要绑定到全局状态机上。它还使 API 更加面向对象,因为可以清楚地识别修改对象状态的函数。在 2014 年发布的 OpenGL4.5 标准,ARB_direct_state_access 扩展进入核心。在没有 DSA 的时代,需要按照状态机模式 bind 对象为当前操作对象后在进行全局操作。文档:h

2021-07-26 03:37:18 99

原创 QML实现一个IP地址输入框

前言以 Windows 网络设置里的 IP 地址输入框为参照,先看看他提供了哪些功能输入数值范围不满足 0-255 ,或者该段的规定值,会弹错误提示框;字符满三个后自动跳转到下一个 IP 段,或者按小数点也会进入下一段;删除键删除完本段后再按删除自动去上一段进行删除 ;按左右键如果光标在该段文本末尾或打头,光标自动进入相邻段;如果选中了某个段的文本,则复制的是选中的文本,否则复制完整 IP 地址;粘贴时如果是完整 IP 地址就覆盖每一项,如果是单个段数字则只覆盖当.

2021-07-17 18:19:59 227 1

原创 SQL字符串查找,instr、substr与like

前言最近做测试时发现 SQLite like 匹配文件路径有时会有问题,查文档才知道是没有处理 like 字符串中的通配符 _ 下划线和 % 百分号。% 匹配零个及多个任意字符; _ 与任意单字符匹配,如:select filepath from table where filepath like 'D:/aaa/123%/%';本来是想查找文件夹 123% 下的文件,但百分号被识别为了通配符,结果可能是:这时候有两种简便的选择,使用 instr 来匹配,或者 like 语句加 esc

2021-07-14 00:10:35 363

原创 学习设计模式:Bridge(桥接模式)

别名 Handle/Body意图将抽象部分(业务功能)与实现部分(平台实现)分离,是它们都可以独立地变化。适用性以下情况可以使用 Bridge 模式:你不希望在抽象和它的实现部分之间有一个固定的绑定关系。比如需要在程序运行时刻实现部分应可以被选择或者切换。 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。 对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。(PIMPL) 你想对客户完全隐藏抽象的实现部分。(PIMPL) 类的层次需要将一个对象分解成

2021-06-30 01:19:01 69 2

原创 《QDebug 2021年6月》

一、Qt Widgets 问题交流1.Qt 5.12 的 QComboBox 出现位置偏左,快速点击时可能有黑块闪一下[QTBUG-74442] QComboBox popup animation weirdly offset to the left - Qt Bug TrackerQComboBox popup animation glitch - Stack Overflow5.12 的下拉框弹出动画有点问题, Bug Tracker 有人评论的解决方式是禁用下拉动画: QAp

2021-06-29 17:51:28 41

原创 Qt Quick Scene Graph 学习2:纹理

上一节学习了画线,通过设置顶点参数也可以绘制任意几何图元,这一节学习纹理的基本操作。回顾下基本知识,一个几何节点 Node 由顶点 Geometry 和材质 Material 组成;QQuickItem 如果是可视类型需要设置 "setFlag(ItemHasContents, true);";Geometry、Material 及其他更新后单独设置 dirty 标志,这样在刷新时判断对应的 dirty 标志可以减少不必要的操作。

2021-06-27 02:28:22 153

原创 Python ctypes模块的基本使用

0、前言ctypes是Python的外部函数库。它提供了与C兼容的数据类型,并允许调用DLL或共享库中的函数。可使用该模块以纯Python形式对这些库进行封装。官方提供了详尽的文档:https://docs.python.org/zh-cn/3.9/library/ctypes.html,配合网友的示例可以很快上手。本文主要是记录一些基本操作。import platformfrom ctypes import *if platform.system() == 'Win...

2021-06-18 14:19:47 214 1

原创 Qt Quick Scene Graph 学习1:画线

使用 C++ 自定义 QML 可视组件有多种方式:自定义 render,使用 QSG 开头的场景图类,使用 QPainter 配合QQuickPaintedItem绘制(就像 QWidget paintEvent 那样)等等。QSG 库的封装思路和大部分 3D 库/引擎的封装差不多。像一个可视节点QSGGeometryNode 需要包含 geometry 顶点和 material 材质两部分,类似于其他架构中的entity、mesh、material。

2021-06-15 16:08:04 183

原创 项目开发总结(吐槽)(2021-6-12)

最近又参与了一个项目,刚觉很多槽点,特此记录。毕竟人总是更容易发现别人的缺点,但是我希望这些问题在我自己遇到的时候可以更好地解决,而不只是停留在无脑吐槽上。当然,对于好的地方也该化为己用...

2021-06-12 17:47:51 245 2

原创 诛仙3网游:物品无法快速销毁怎么办?

诛仙游戏中很多道具是不可丢弃又不可卖店的,这时候想要清理包裹只能到河阳城找剑师,坐标(376,335):他提供了两个销毁选项,物品快速销毁和装备销毁。快速销毁则物品会立即消失,而装备销毁会有一个销毁时间,使用后装备处于销毁状态保留7天。(装备销毁只能销毁处于绑定状态的道具)一般的道具使用快速销毁即可,但有少数道具是无法快速销毁的,会提示无法使用此功能:这时候我们可以先使用装备销毁功能,然后就可以对正在销毁的道具再使用快速销毁。这里拿一个可以绑定的武器来演示:...

2021-06-12 11:15:00 789 4

原创 QML使用ShaderEffect绘制波纹

0.前言对于 ShaderEffect 的介绍请看 Qt 文档:https://doc.qt.io/qt-5/qml-qtquick-shadereffect.html之前用QtGraphicalEffects 模块的镜像渐变做过波纹效果,但是那个GradientStop 不能放到 Repeator 里,要根据参数动态设置波纹大小就需要 createComponent 之类的。最近用 ShaderEffect 又重新实现了下波纹效果。感觉最麻烦的就是抗锯齿,最终效果勉强,不过没 QtGraphi..

2021-06-07 00:33:17 121

原创 《QDebug 2021年5月》

一、Qt Widgets 问题交流1.QWidget 和 QFrame 的 border 对布局的影响不一样#w_out {border:10px solid red;}#w_in {border:5px solid green;}很明显 QFrame 的布局是以 border 为边界的,感觉这更符合一般的盒模型,而 Widget 的叠加起来了。一开始我以为是 QWidget 样式没生效,但是设置setAttribute(Qt::WA_StyledBackground); 后.

2021-05-31 23:33:45 67

原创 QML快捷键(Shortcut、Keys)

(Qt 的 按键输入都是在应用激活时才能触发的,所以要注册系统全局快捷键请用系统 API)0.前言一般情况下,一个按键事件的流程是这样的:Qt接收按键动作并生成一个按键事件 KeyEvent 如果 QQuickWindow 是 active 的,则将按键事件传递给它 按键事件由 scene 传递到 activeFocus 的 Item,如果没有 activeFocus Item,则事件被忽略 如果按键事件被接受,即 accepted=true,则传递结束,否则将一直往父节点传递,知道根.

2021-05-19 01:09:54 502

原创 复习C++标准库多线程的基本使用

参考书籍:《C++并发编程实战》参考文档:https://en.cppreference.com/w/第一章:你好,C++并发世界(略)第二章:管理线程(2021-05-07 笔记)类 std::thread 表示单个执行线程,thread 对象允许 move 但不能 copy 。 构造函数:template< class Function, class... Args >explicit thread( Function&& f, Args&am

2021-05-08 00:21:11 204

原创 OpenGL with QtWidgets:练习之绘制2D波浪进度球

接上次的环形进度条练习:环形进度条1.实现思路在上次环形进度条的基础上稍加改进,通过调节着色器颜色绘制的波浪进度球。文本绘制:使用 Qt 自带的 QPainter 绘制,由于是平面图,没有自己做纹理或者字体。抗锯齿:还是使用的smoothstep 算过渡值,这也导致 shader 代码有点臃肿。圆形绘制:根据坐标到中心距离来填充不同的颜色,波浪也是根据幅度来填充不同的颜色,后面打算用几何着色器改一改。存在的两个问题:1.1.这里面有个比较麻烦的就是多个色块之间的抗锯齿,目前还没.

2021-05-05 20:01:17 176 4

原创 学习设计模式:Adapter(适配器)

别名包装器(Wrapper ,书上装饰器和适配器别名都叫 Wrapper)意图根据需求转换类接口,Adapter 模式使得原本由于接口不匹配/兼容而不能一起工作的那些类可以一起工作。适用性以下情况可以使用 Adapter 模式:你想使用一个已经存在的类,而它的接口不符合你的需求。 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即接口不一定兼容)协同工作。 你想使用一些已经存在的类子类,但是不可能对每一个都进行子类化匹配它们的接口。对象适配器可以适配它的父类的接口。

2021-05-02 16:01:18 71

原创 Qt写一个简易的ini文件读写类

.ini 文件是 Initialization File 的缩写,即初始化文件。Qt 提供的 QSettings 类可用于 ini 配置文件的读写,但还存在一些问题,比如:保存时会把已有的注释清掉,中文的分组和键编码有问题,字段长度限制,缓存问题等等。自己写一个ini读写类只是方便以后遇到问题用来替换。ini 格式是非常简单的,一般只有分组和键值对:[section] #分组/节 ;注释 #注释/注解key=value #键值对用等号连起来key2=123[section2

2021-04-28 18:33:35 388

原创 学习设计模式:Decorator(装饰模式)

别名包装器(Wrapper ,书上装饰器和适配器别名都叫 Wrapper)意图动态地给一个对象添加一些额外的职责。适用性以下情况可以使用 Decorator 模式:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。(关联第三点) 处理那些可以撤销的职责。(数据流加密开关) 当不能采用生成子类的方法进行扩充时。(不能作为被装饰类的直接子类时)结构Component:定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent:定义一个对

2021-04-18 00:46:25 72 3

QTableViewMoveAction.rar

QTableView拖拽交换行、列、单元格源码,GitHub链接:https://github.com/gongjianbo/MyTestCode/tree/master/Qt/QTableViewMoveAction

2020-06-23

QML与C++交互,解压后路径去掉中文.rar

博客的相关代码,演示QML与C++的交互。博客地址https://blog.csdn.net/gongjianbo1992/article/details/87965925

2020-06-26

GetAudioInfo_VS2017x64.rar

FFmpeg+Qt 从音频文件取PCM数据,使用重采样的方式转换为指定格式,git链接(https://github.com/gongjianbo/MyTestCode/tree/master/Qt/GetAudioInfo)(2021-04-01)之前转码的时候如果导出多声道,只导出了单个声道的数据,现已更正.(因为原本设计的是可以将原本双声道的拆成两个单声道)

2020-11-25

TestGPRC.rar

MSVC2017+GRPC1.36.2(64-bit MD lib)+Qt测试代码,配合博客做示例:https://gongjianbo1992.blog.csdn.net/article/details/114577010

2021-03-09

SilkToWav_VS2017.rar

SILK SDK+Qt 将微信/QQ的silk格式音频转换为wav(pcm s16)格式,包含VS SDK工程和Qt应用工程,git链接(https://github.com/gongjianbo/MyTestCode/tree/master/Qt/SilkToWav)

2020-11-30

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除