您的位置:首页 > 编程语言

从零开始学习音视频编程技术(十七) 录屏软件开发之音频采集

2016-11-29 09:43 393 查看
前面讲解了如何使用libavdevice采集摄像头图像

同样 libavdevice 也可以采集麦克风的声音。

下面就讲解麦克风声音的采集:

采集声音和采集摄像头本质上没有多大的却别,基本上就是换个名字:

首先还是一样注册libavdevice:
然后打开音频设备:
其中"audio=麦克风 (Realtek High Definition Audio)"跟之前获取摄像头名字一样的方法,直接使用ffmpeg命令行获取即可,不懂得直接查看之前的教程传送门

成功打开麦克风之后,就是查找流然后打开解码器:
可以看出这个操作和打开摄像头的操作并没有多大的区别。

接着就是使用av_read_frame来读取麦克风了:
每一帧所发费的时间由aFrame->nb_samples * 1.0 / aCodecCtx->sample_rate;来获得。

上面总共采集了30秒,同时将采集得到的pcm音频数据写入了文件。

打开pcm数据可以使用cool edit这个软件。有需要的可以百度下载。

pcm是最原始的音频数据,是不带有任何采集率以及声道的信息的。

因此我们需要手动告诉cool edit软件需要打开的pcm数据的采样率和声道信息,否则打开之后会是全部杂音。

我们这里采集到的是44100 双声道的。



接着就可以看到漂亮的波形图了,



cool edit的使用这里就不说了,自行琢磨吧。

完整工程下载地址:http://download.csdn.net/detail/qq214517703/9696049
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐