【第22期】观点:IT 行业加班,到底有没有价值?

DirectSound录音

原创 2017年01月03日 16:47:34

DirectSound录音的基本流程

1.枚举系统录音设备,调用DirectSoundCaptureEnumerate函数;

2.创建设备对象,调用DirectSoundCaptureCreate8或DirectSoundFullDuplexCreate8函数可直接创建;

3.获取录音设备的性能,调用IDirectSoundCapture8::GetCaps方法;

4.创建录音缓冲区,调用IDirectSoundCapture8::CreateCaptureBuffer函数;

5.获取录音缓冲区信息,调用IDirectSoundCaptureBuffer8::GetCaps方法来获取缓冲区大小,GetFormat方法获取音频数据格式,GetStatus方法返回录音缓冲区目前的状态,GetCurrentPosition方法获取录音缓冲区中捕获指针和读指针的位置(捕获指针总是在读指针的前面,位于读指针之前的数据都是安全的,可以放心复制);

6.为录音缓冲区对象设置通知机制,通过IDirectSoundNotify8::SetNotificationPositions方法可以在缓冲区中设置一个或多个通知事件,当这些通知点到达时就从缓冲区中拷贝录音数据;

7.开始录音,调用IDirectSoundCaptureBuffer8::Start方法使录音缓冲区对象开始工作,传递一个DSCBSTART_LOOPING标志给Start的dwFlags成员,录音缓冲区就会不停地工作(循环填充缓冲区)。

注意事项

1.声音捕获缓冲区对象(DirectSoundCaptureBuffer)用以生成一个缓冲区来存放从输入设备捕获的数据,这个缓冲区是环形的,即输入指针到达缓冲区的尾部时,它又将从头开始。

2.在音频捕获时,通过DirectSound的通知机制(该功能由IDirectSoundNotify8接口来实现)可以在捕获的数据到达缓冲区的某一特定位置或在捕获数据停止时得到通知。应用程序可在这些特定位置读取录制的数据或进行界面更新等操作。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

利用DirectSound实现声卡录音

摘要:本文详细讲述了如何利用DirectSound对经过声卡和麦克风的数据进行捕获,进行录音,并保存为wave格式的文件。    曾经学习过Directshow的开发,对于Dsound一直没有仔细的...

DirectX编程:利用 DirectSound 录音

DirectX编程:利用 DirectSound 录音 转载:http://www.cnblogs.com/stg609/archive/2008/10/24/1318931.html     ...

C#中使用DirectSound录音

原文地址:http://blog.donews.com/uplook/archive/2005/12/14/657145.aspx 注:1.原文有程序终止后仍有线程在运行的情况,这里修正了下;  ...

DirectSound编程实现实时混音

利用DirectSound编程实现实时混音   摘要:将多个音频文件或多路音频数据同时输出到音频输出设备上,就可同时听到多个不同的声音,这就是混音。在游戏开发,网络视频会议开发中都会用到混音技术,...

(DirectX系列02)DirectSound 录音编码实现

前面已经发布了一篇音频特效播放相关的文章,今天开始学习DirectSound录音编码实现,这是DirectSound中另一个重要的地方。学会之后受益无穷啊!不过DirectSound设备录音编码其实不...

最简单的视音频播放示例8:DirectSound播放PCM

本文记录DirectSound播放音频的技术。DirectSound是Windows下最常见的音频播放技术。目前大部分的音频播放应用都是通过DirectSound来播放的。本文记录一个使用Direct...

利用DirectSound实现声卡录音【老毕改版】【Part1】

这几天一直在研究DSOUND的录音及播放,为了能实现网络音视频打基础,呵呵,在网上查找了大量的相关资料,有一定的收货,其中大量的工作用来修改从网上找出的源码,因为太多错误的了,不太适合初学者,为此我特...

DirectX编程:[初级]C# 中利用 DirectSound 录音

原文地址:http://www.cnblogs.com/stg609/archive/2008/10/24/1318931.html         花了一阵子,把DirectX安装后自带的...

使用MediaFoundation+DirectSound播放音频

使用 MediaFoundation的IMFSourceReader读取音频(视频)文件的音轨,转换成PCM格式用DSound播放。 主要步骤: 1. 初始化   hr = CoInitializ...

DirectSound录音,可以正确运行的

DirectSound录音
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)