DirectSound学习笔记(4):设备性能

设备性能

DirectSound使你的应用程序可以检查声音设备的硬件性能。许多应用程序不需要这么做,因为DirectSound自动利用任何可用的硬件加速。然而,性能良好的应用程序能够使用这些信息,根据可用的硬件扩展它们的声音需求。比如,如果硬件混频可用,一个应用程序可能选择播放多道声音。

在调用DirectSoundCreate8 函数创建一个设备对象后,你的应用程序能够通过调用IDirectSound8::GetCaps方法获取声音设备的性能。
下面的例子获取了由IDirectSound8接口指针lpDirectSound标识的设备的性能。

DSCAPS dscaps; 
 
dscaps.dwSize 
= sizeof
(DSCAPS); 
HRESULT hr 
= lpDirectSound->GetCaps(&
dscaps); 
if
 (FAILED(hr))
{
  ErrorHandler(hr);  
// Add error-handling here.

}

DSCAPS结构获取了声音设备的性能和资源信息,包括各种资源的最大量和当前可用资源数。注意这个结构的dwSize成员必须在方法调用前被初始化。

如果你的应用程序依赖于硬件性能,你必须在每次缓冲区定位期间调用IDirectSound8::GetCaps方法,以决定是否拥有足够资源来创建下一个缓冲区。

扬声器配置

DirectSound使用扬声器配置-即扬声器相对于听众的位置-以优化用户声音系统的3D效果。
在Windows 98,Windows 2000,及以后的操作系统中,扬声器配置能由用户在控制面板中设置。一个应用程序能够通过使用IDirectSound8::GetSpeakerConfig 来获取这个值。应用程序不应该通过调用IDirectSound8::SetSpeakerConfig 来覆盖设置,因为这是一个全局设置,它将影像其他用户和应用程序。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值