前面我们说到了如何用Visual Studio编译portAudio,下面我们开始讲下如何使用PortAudio,先从最简单的开始,这篇文章我们主要讲如何枚举音频相关设备。代码如下: [crayon-69d0e0f9ba9c8485326060/] 如下是deviceinfo对应结构体声明: [crayon-69d0e0f9ba9d4745987874/] 编译运行得到如下结果: 在最后几行打印的结果中出现的一些设备名汉字乱码是因为有些设备名以UTF-8编码,我没做转换,转化后即可正常显示。
前面我们说到了如何用Visual Studio编译portAudio,下面我们开始讲下如何使用PortAudio,先从最简单的开始,这篇文章我们主要讲如何枚举音频相关设备。代码如下: [crayon-69d0e0f9ba9c8485326060/] 如下是deviceinfo对应结构体声明: [crayon-69d0e0f9ba9d4745987874/] 编译运行得到如下结果: 在最后几行打印的结果中出现的一些设备名汉字乱码是因为有些设备名以UTF-8编码,我没做转换,转化后即可正常显示。
分享我的一个歌单,里面都是些小清新的英文歌曲,戴上耳机聆听这清新的调子,感受这惬意的时光吧。
IP地址分内网的与外网的,通过下面的VC代码可以获取本机IP(如果连接路由器,会得到两个IP地址,一个内网(192.168.1.*)的,一个外网的)。 [crayon-69d0e0f9bbeb0296384996/]
最近在写一些小工具,打算用一个体积小,跨平台,不要求界面美观的GUI库,QT太庞大,后来在stackoverflow找到了FLTK这个库,刚好满足我的要求,话说这个GUI库写的界面确实很丑。从FLTK官网下载了1.3.3的代码,解压,打开IDE文件夹里的VisualC2010文件夹中的fltk.sln编译即可得到需要的lib文件(我用的是vs2012),没有什么难度,不明白的可以参考http://www.c-jump.com/bcc/common/Talk2/Cxx/FltkInstallVC/FltkInstallVC.html。 构建我的第一个FLTK程序时遇到了一个问题,程序报如下错误: [crayon-69d0e0f9bc831079101240/] 我想我用的是VS编译的,是windows系统啊,又不是linux系统,怎么会报这个错误,而且要用的头文件以及.lib文件我都包含了。后来上谷歌找了一段时间,在一个论坛找到了答案(虽然作者没有明确提出解决方法,但我明白了作者意思),把FL文件夹里的math.h文件移除就可以,重新编译就不会报这个错误了,这解决方法也太暴力了吧。 虽然FLTK写出来的界面很丑,不过对于小工具而言可以了,只有几百Kb的程序,能用就行,只需要简单的几个控件即可。
There is no excerpt because this is a protected post.
下面这个函数实现了让Windows系统重启的功能,首先是提升权限,然后主要是函数ExitWindowsEx的使用: [crayon-69d0e0f9bd188228300479/] ExitWindowsEx函数使用说明参考:https://msdn.microsoft.com/en-us/library/windows/desktop/aa376868(v=vs.85).aspx
Windows系统下通过winapi获取当前显示器屏幕分辨率VC示例代码: [crayon-69d0e0f9bda81189205056/]
由于要做一个音频采集程序,可以将桌面声音采集到远程播放,直接用DirectSound或Wasapi比较麻烦,所以用PortAudio这个封装好的库。 1)首先到http://www.portaudio.com/download.html下载相应压缩包,解压到本地; 2)用VS打开build\msvc目录下的portaudio.sln文件,由于我用的是VS2012,所以打开后会有Upgrade提示,Upgrde出现的一些警告没什么影响; 3)打开 Project -> portaudio Properties然后选择"Configuration Properties",在"Configurations" 下拉框选择 "all configurations" . 在"Platforms"下拉框选择"All Platforms",接着在C/C++ -> Code Generation -> Runtime library 选择/MT 4)由于我不需要ASIO,所以需要移除ASIO相关文件,如下图: 接着在portaudio.def移除跟ASIO有关的入口 5)Build PortAudio工程,此时会报“ LINK : fatal error LNK1104: cannot open file 'ksguid.lib'”的错误,由于该lib文件不再是Windows SDK的一部分,所以我们可以不需要它,在Configuration Properties->Linker->Input->Additional Dependencies中移除ksguid.lib,然后在Configuration Properties->C/C++ ->Preprocessor->Preprocesser Definitions中添加PA_WDMKS_NO_KSGUID_LIB 6)重新Build,就不会报错了,在相应目录下就会生成我们需要的文件。 参考链接:1)官网:Windows下编译PortAudio 2)老外写的VS编译图解portAudio
Unauthorized reproduction or plagiarism in any form is strictly prohibited. For reprint requests, please contact via email.