音频处理
_寒潭雁影
中科大IT向博士,熟悉MFC,C++,C等语言,参与过ffmpeg、机器视觉、并行计算、数据库等相关项目的研发和代码的编写http://blog.csdn.net/weixinhum为本人博客,上面记录了本人的一些技术总结
展开
-
C++ pcm音频裸流的压缩和解码
跟视频一样,对于音频的传输,往往也需要经过压缩,下面是关于海思提供的PCM音频裸流文件压缩和解码库的运用,对比一个文件与其压缩、解码操作后的数据,可以明显的发现PCM->ADPCM的音频压缩过程是有损的。关于文件的对比,本人使用的是BCompare 这个软件,绝对是程序员必备的神器啊!如果没有的童鞋建议大家下来玩玩。下载地址:点击打开链接由于是用海思提供的压缩和解码库,所以其实并不需要做什么复原创 2014-06-16 00:37:44 · 6277 阅读 · 0 评论 -
C++ 播放音频流(PCM裸流)
直接上代码,如果有需要可以直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用了(注意将声道和频率与你自己的文件对应哦)。当然我自己也用VS2008(VS2013好用太多,强烈推荐还是用VS2013,只是它的工程太大,上传起来相当费劲,所以还是用VS2008重写了。。)写了个例子上传了,如果有需要下载地址如下(自己没什么下载分了,所以弄了3分,见谅哈哈):点击打开链接这份代码是打开原创 2014-06-11 01:13:42 · 22453 阅读 · 7 评论 -
C++ 播放音频文件
本篇文章利用“MCI API”来实现对音频文件的播放,只写到本人用到的最为简单的播放功能,这篇文章有对其详细的介绍,如果有需要可以去看看。 OK,下面直接上代码吧,本人用的是VS2013直接建的C++空白控制台程序,代码如下:#include "stdio.h"#include #pragma comment (lib, "winmm.lib") void main(){原创 2015-05-14 12:13:14 · 12121 阅读 · 5 评论 -
C++ 采集音频流(PCM裸流)实现录音功能
与上一篇的“C++ 播放音频流(PCM裸流)” 点击打开链接 相对应,本篇是关于用C++实现录音功能的。同样是直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用,也可以下载本人上传的相关工程,这个工程是用VS2013写的,如果是较低的版本就呵呵了。点击打开链接代码部分如下:#include "stdafx.h"#include #include #pragma原创 2014-06-16 01:08:59 · 19681 阅读 · 6 评论 -
C++ 调节PCM音频音量大小
在用解码器解码音频数据得到PCM音频数据块之后,可以在将数据送给声卡播放之前调节其音量大小,具体的实现函数如下:void RaiseVolume(char* buf, UINT32 size, UINT32 uRepeat, double vol)//buf为需要调节音量的音频数据块首地址指针,size为长度,uRepeat为重复次数,通常设为1,vol为增益倍数,可以小于1{ if (!转载 2014-06-26 18:24:33 · 11428 阅读 · 6 评论 -
C++ 采集音频流(PCM裸流)实现录音功能(双缓存版本)
上一次要用到音频已经是好几年前的事情了(毕竟本人是搞图象处理的)。当时写了一篇总结博客,没想到很多人看了,其中还有些在下载的地方和博客中问了些问题,虽然很想作答,但因为实在是忘了所以就没说什么。 最近又有项目要用到录制音频的功能,索性就把之前留下的双缓存坑填了。其实原理跟之前的差不多,最大的不同在于用到了回调函数。另外,本篇的代码基本上是参考这篇博客的,本人只修改了一部分,如有雷同,绝非偶然。原创 2017-07-26 18:39:08 · 14197 阅读 · 12 评论