- 博客(32)
- 资源 (5)
- 收藏
- 关注
原创 去除QVBoxLayout、QHBoxLayout、QWidget默认边距
去除QVBoxLayout、QHBoxLayout、QWidget默认边距
2022-10-24 17:00:06 1123 2
原创 WSL2 还原ext4.vhdx
起源:wsl2 安装了ubuntu-20.04,开发了很多项目后,发现c盘块满了,想办法将ubtuntu-20.04迁移到D盘,迁移方法。迁移后D盘会出现ext4.vhdx文件。后来系统出问题了,无法还原,只能重装系统,重装系统后wsl2只能导入tar包,无法在和D盘ext4.vhdx关联。解决办法:记住之前安装的版本是ubuntu-20.04 重新wsl --install -d ubuntu-20.04包,安装完成后找到安装目录文件ext4.vhdx.先将ubutun-20.04停止, 将该文件删除或备
2022-06-08 09:58:05 5147 1
原创 VST3主机开发(二)——插件调用
准备VST3 插件默认编译后都是以.vst3结尾的。做过com组件开发的人应该知道想要载入组件,首先你需要知道组件位置。那么本机装了很多个音频处理软件,我们怎么去寻找vst插件呢?1、VST3标准定义了几个用于安装VST3插件的目录。插件安装器将插件文件安装到该目录和子目录中。通常使用的是/Program Files/Common Files/VST3/或/Program Files (x86)/Common Files/VST3/。2、VST2标准与VST3标准不同,没有规定标准的安装目录。在W
2021-03-09 10:29:46 2787 6
原创 VST3宿主机开发(一)——开始
VST3主机开发所需的知识C++VST3 SDK的源代码是用c++写的。因此,在使用VST3 SDK时,需要一些基本的c++语法(指针/类/模板等)和c++生态系统(编译器/林卡/ IDE等)相关的知识。Component Object Model (COM)1、 COM是微软开发的二进制接口标准。2、在VST3标准中,由于在设计的基础部分采用了参考COM的VST-MA的结构,所以有COM的知识的话容易理解的部分。音频/实时编程1、为了处理音频数据,需要基本的音频编程知识(采样率/缓冲器大小
2021-03-08 16:15:28 2169
原创 QT 后台处理时间过长 主界面卡死解决办法
之前用WPF开发,处理逻辑就是1,处理显示等待窗口,2、同步处理改完异步,3、处理完毕后关闭等待窗口。Qt应该也是类似的处理逻辑:一、创建等待处理窗口(采用了QMoive 载入gif动画方式,更新方便)头文件:#ifndef QWAITINGDIALOG_H#define QWAITINGDIALOG_H#include <QWidget>#include <QMovie>#include <QLabel>class QWaitingDial
2020-11-16 18:00:44 3308 3
原创 QtCreator工程迁移到VisualStudio编译语法错误解决
QtCreator工程迁移到VisualStudio,编译时会报很多语法错误。问题原因,QtCreator默认是utf-8编码。VisualStudio默认是GB2132编码。解决方案:右键工程属性,添加-utf-8 参数。再次编译,语法错误都没了。...
2020-11-11 09:59:12 637
原创 git tag :gpg: skipped “xxx@xxx“: secret key not available
最近发生件奇怪的事,我的git管理,clone,add,commit 都可以。但是git tag 时候就报错:git tag :gpg: skipped "xxx@xxx": secret key not available。网上找了很久找到办法记录下:https://stackoverflow.com/questions/12061645/generating-a-gpg-key-for-%20git-tagging1、首先运行下面命令$ gpg --list-key运行完了...
2020-10-20 15:03:14 482
原创 char* 转QString 异常崩溃问题
崩溃场景:char* c_str; 值通过第三方获取,没有具体长度,是"中文字符中文字符中文字符中文字符中文字符..." (超过2000多个中文汉字)QString s_str(c_str);QString s_str=QString::fromUtf8(c_str);调用以上两个方法,程序都会崩溃,崩溃原因在于:构造QString时没有指定长度,默认为-1,QT自动通过strleng(cha*)获取长度为int类型,传人c_str后的strleng方法超出int范围,导致崩溃。解决办.
2020-09-01 17:27:32 1648
原创 QT 操作 msword.olb
1、安装word2.注册表找:HKLM\software\classes\typelib\{00020905-0000-0000-C000-000000000046}下面找到:win32,其默认值为olb控件,比如:"C:\Program Files (x86)\Microsoft Office\Office14\MSWORD.OLB"3、生成msword.h文件C:\Qt20200624\5.15.0\mingw81_64\bin\dumpcpp.exe -o msword --decl
2020-08-19 18:09:46 620 1
转载 QT .pro文件中各变量意义
◆ HEADERS 指定工程的 C++头文件(.h)。◆ SOURCES 指定工程的C++实现文件(.cpp)。◆ FORMS 指定需要 uic 处理的由 Qt 设计师生成的.ui 文件。◆ RESOURCES 指定需要 rcc 处理的.qrc 文件。◆ DEFINES 指定预定义的 C++预处理符号。◆ INCLUDEPATH 指定 C++编译器搜索全局头文件的路径。◆ LIBS 指定工程要链接的库。库既可以通过绝对路径指定,也可以使用源自 Unix 的-L 和-l 标识符来指定(例如,-L/
2020-07-10 23:19:34 355
原创 [modules\core\CMakeFiles\opencv_core.dir\build.make:1494: modules/core/CMakeFiles/opencv_core.dir/vs
QT:编译Opencv 错误:[modules\core\CMakeFiles\opencv_core.dir\build.make:1494: modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj解决办法:将CMake中的 OPENCV/OPENCV_ENABLE_ALLOCATOR_STATS 不打勾
2020-07-10 23:04:32 6692 5
原创 CMake Error: CMake was unable to find a build program corresponding to “MinGW Makefiles“. CMAKE_MAKE
QT 编译Opencv 一致报错:CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.解决办法:如图所示勾选Advanced,对变量:CMAKE_MAKE_PROGRAM 设置value .QT目录下的mingw
2020-07-10 18:15:31 11511
原创 c# 根据语音文件画波形
c#对于语音的操作,必然离不开NAudio了,直接NGUIT安装NAudio。效果图如下:核心代码:首先通过AudioFileReader获取到音频数据byte[],再将byte[]转换为float[]数据,就可以根据float画波形了。 /// <summary> /// 开始画波形 /// </summary> /// <param name="fileName"></param&g
2020-06-23 11:40:36 2779 7
原创 Blazor 初体验-----快速搭建文件共享系统
Blazor 这里不多介绍了,请参考微软官方文档。环境:visual studio 2019 v16.4.2 .Netcore 3.11、新建Blazor应用2、删除默认的官方示例,Data以及page.新建文件model和service,以及文件分类页面3、FileInfoData.cs public class FileInfoData { public DateTime Date { get; set; } p...
2020-06-09 17:19:23 2165 3
原创 c# 传中文字符给c++ 出现乱码问题
c++ char * 转换c# 一般直接string 或者Marshal.StringToHGlobalAnsi(“string”)为IntPtr 即可。但是如果string包含中文,c++收到中文是乱码。解决办法:把string转为byte[] 再放到内存指针即可。byte[] encodedBytes=Encoding.UTF8.GetBytes("string");IntPtr wordPtr = Marshal.AllocHGlobal(encodedBytes.Length);.
2020-05-26 09:56:23 3778 5
原创 wpf下基于opencv实现视频播放器
最近wpf项目用到视频播放,首先想到的就是vlc了,简单方便,网上教程也很多,实现也很顺利,但是正在和项目结合时候发现问题了,项目需求要视频帧上画出目标对象。使用vlc时发现。vlc的播放事件时按秒来的,且播放事件取到的帧和帧率无法对应,最后结果就是画上去的目标对象存在延迟,且不准确。 没办法,老老实实用opencv来实现把,比较opencv时可以取到每一帧图片的。其效果如下:1、首先准备opencv的库,wpf当然用得到的就是emgu.cv。只应用emgu.cv肯定不行。op...
2020-05-18 15:40:19 3495
原创 基于windows-docker的srs流媒体服务(二)推流
srs服务启动了。接下来就可以推流了,推流有很多方法,一、自带的多媒体处理神器ffmpeg推流。在.trunk下创建push.sh文件,内容如下: for((;;)); do \ objs/Platform-Linux-4.9.125-SRS3/ffmpeg/bin/ffmpeg -re -i doc/source.200kbps.768x320.flv \ -vcodec copy -acodec copy \ -f flv -y rtmp://10.1
2020-05-15 17:32:51 1068
原创 基于windows-docker的srs流媒体服务(一)部署
srs是一个流媒体集群,支持RTMP/HLS/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。基于c++开发的开源项目。开源地址:https://github.com/ossrs/srs-docker/tree/dev根据教程安装完docker 后,启动cmd 或者windows terminal 进入一个srs工作目录。本次进入F:/Docker 目录。执行下命令:git clone https://gitee.com/winlinvip/srs.oschina.git.
2020-05-15 16:07:25 4873 5
原创 使用CPython完成对linux编译库.so 封装提供windows c#调用
本人一直从事windows开发,linux系统也经常接触过,部署Docker什么的,但是还没有再linux环境下做过开发。最近跟第三方对接。对方提供了c++的linux编译库 .so文件,这时有人说让第三方重新编译dll。但是我还是尝试再linux环境下,通过CPython对多第三方接口进行封装,然后使用python编写WebAPI部署Docker服务,这样c#也就能正常调用了。虽然过程曲折,但是...
2019-12-19 11:48:31 2129
原创 WPF MaterialDesign 主颜色修改
MaterialDesign的确能方便独立开发人的效率,安装使用发现默认是紫色,想要修改默认颜色,捣鼓半天。最终找到默认设置默认颜色的方法,还是再Application.Resources里面设置:这样默认就修改成蓝色系了,light->mid->dark 分别对应颜色深度。可根据美工提供UI颜色调整,也可以使用官网提供的颜色对照表来设置:MaterialDesign颜色设置...
2019-12-06 18:19:39 6087
原创 WPF支持美工输出图片格式
原来做WPF项目。都是有美工用Microsoft Expression Design设计。可以直接导出xmal数据,在WPF直接使用。新换公司后,所有美工都用苹果电脑,没听说过Microsoft Expression Design。Microsoft Expression Design也只能在windows 运行。没办法只能让她们切图png格式。后来偶然知道美工那边能导出SVG,而SVG可...
2019-10-12 16:50:26 318
原创 windows下silk 转 wav(二)
之前使用的方法是用编译好的程序通过命令行转码,效率低了点。本次将SKP_SILK编译成动态库,通过c++接口调用。直接将sikl文件转码为wav格式的byte[]音频数据。可以直接保存即可。c++ 接口 /// <summary> /// Silks the decode. /// </summary> ...
2019-10-11 10:07:55 1047 6
原创 windows下silk 转 wav(一)
1、准备工具:silk_v3_decoder.exe、ffmpeg.exe。2、silk_v3_decoder.exe 10.silk 10.pcm3、ffmpeg.exe -f s16le -ar 24000 -ac 1 -acodec pcm_s16le -i 10.pcm 10.wav备注:silk_v3_decoder.exe 默认采样率是24000的。可以通过参数修改。...
2019-09-16 17:58:09 1375
原创 c++ short** char** 等类型转换成c#
最近封装个c++ sdk,发现接口参数使用了short** ,char** ,这些类型,由于之前没遇到过,按照理解应该对应c# 的short[][] ,char[][],但是测试是报错的。不支持二维数组的。最终的解决办法就是用IntPtr[],把short[]、char[] 通过marshal.copy成IntPtr,最后入参IntPtr[] 就正常了。...
2019-09-12 17:21:47 1879
原创 Advanced Installer 打包后运行 安装需要一个活动Internet链接。。
问题:Advanced Installer 打包后运行 安装需要一个活动Internet链接。。解决办法:找到Requirements/lanunch conditions,去掉勾选:Run only if an active Internet connection found...
2019-08-23 12:29:42 2822
原创 dotnet Docker 部署
相关工具:使用xshell 连接linux 执行命令。1、dotnet for docker 安装。在xshell中执行 docker pull mcr.microsoft.com/dotnet/core/sdk ;不要百度搜索命令,请找Docker 官网查找。百度搜到的命令可能已过期。2、WebApi工程文件、添加Dockerfile文件。FROM mcr.microsoft.co...
2019-08-20 11:04:28 1928
原创 WPF+Netcore 2.1 实现程序更新功能
最近用wpf做了个项目,安装用户很多,每次功能更新,都要打包后发给用户重新安装。为了避免麻烦,要实现远程更新势在必行。网上找了很多资料,有说用框架,有说自己实现。最终还是自己写吧,实现逻辑:1、主程序调用服务获取版本号比较,需求更新启动更新程序,杀死主程序进程。2、更新程序调用服务下载更新文件为zip压缩文件。下载完毕后解压缩,复制到主程序目前完成文件替换。3、启动主...
2019-08-19 17:33:01 1213
原创 基于netcore的webapi 返回json多重转义符导致反序列异常问题
最近用netcore做服务端来实现客户端更新下载功能。获取版本号如下: /// <summary> /// Gets this instance. /// </summary> /// <returns></returns> [HttpGet] [...
2019-07-29 18:10:59 1749
原创 WPF基于httpclient下文件的上传和下载
文件上传 /// <summary> /// 上传文件 /// </summary> /// <param name="url">api地址</param> /// <param name="filePath">上传文件路径</param...
2019-07-29 17:51:36 2011
原创 vs2019 企业版 离线安装
下载地址:https://download.csdn.net/download/esiangchioa/11214809密钥Visual Studio 2019 EnterpriseBF8Y8-GN2QH-T84XB-QVY3B-RC4DF如果需要重新打包:按照以下方法添加对应组件运行即可,重复组件会自行覆盖。.\vs_enterprise.exe --layout offl...
2019-05-29 16:19:50 11430
DrawWaveLine.rar
2020-06-23
silk语音转wav封装动态库
2019-10-11
WPF+Netcore 2.1 实现程序更新
2019-08-19
Visual Studio2019--offline.txt
2019-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人