DirectX简介 第三篇 DirectSound简介

DirectSound简介

1.       DirectSound特性:速度快、可控制性强

(1)       当硬件空闲时自动启用硬件加速

(2)       不受数量限制的声源混音

(3)       声音重现延迟时间

(4)       Direct3D接口简单的3D声音定位效果

(5)       自动将输入的Wave数据装换成与输出匹配的格式—格式输入为复杂格式

(6)       支持属性设置,利用硬件的新特性而不改变API函数

2.       从声音缓冲区对象:代表一个声源,这个声源既可以是静态的声音对象,也可以是动态的声音对象。静态的声音对象是指声音数据一次性读入内存,它一般适用于较短的声音。动态的声音对象是指声音数据必须隔一段时间传送一部分到缓冲区中,所有缓冲区都含有脉冲编码调制(PCM)格式的声音样本数据

播放从声音缓冲区对象时,DirectSound从每个缓冲区中取出数据,然后在主缓冲区中进行混音(硬件混音和DirectSound软件混音),然后送往输出设备

3.       DirectSound只支持(.wav)格式的声音,不支持MIDI的回放

DirectSoundCapture独立与DirectSound,是DirectX中的一个组件,它允许捕获wave声音

4.       声音格式:声道数、采样率、采样点的位数、格式标签——标识采样数据的解释方法(格式信息被包含在WAVEFORMATEX结构中)

5.       设置DirectSound

(1)       步骤:1.声音设备获得一个“全局唯一标志符GUID)”(可选)

                2.生成DirectSound对象

3.设置协作优先级

4.设置主缓冲区对象的格式(可选)

      2)枚举输出设备:DirectSoundEnumerate函数(一般不用,DirectSound对象通常初始化系统中最好的设备)

      3)生成DirectSound对象:DirectSoundCreate函数

      4)设置协作优先级:SetCooperativeLevel方法——调用该方法后,把DirectSound对象捆绑到一个窗口上,并且决定了应用程序和其它程序间怎样分享声音设备

      5)设置主缓冲区格式:协作优先级至少设置为DSSCL_PRIORITY

      6)改变扬声器配置:GetSpeakerConfigSetSpeakerConfig

      7)获取设备支持能力:GetCaps方法会提供需要的设备信息(DSCAPS结构)

6. 属性设置:IKsPropertySet接口(QuerySupprot方法、Get方法、Set方法)

7.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值