设备性能

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 来覆盖设置,因为这是一个全局设置,它将影像其他用户和应用程序。

DirectSound学习笔记(4):设备性能相关推荐

  1. i.MX6ULL学习笔记--字符设备驱动程序

    i.MX6ULL学习笔记--字符设备驱动程序 简介 1.驱动的配置过程 1.1设备号 1.2哈希表-chrdevs 1.3哈希表-obj_map->probes 1.4文件操作接口 1.5简单了 ...

  2. Windows phone 8 学习笔记(7) 设备

    Windows phone 8 学习笔记(7) 设备 原文:Windows phone 8 学习笔记(7) 设备 本节主要涉及到 Windows phone 8 手机支持的各类设备,包括相机.设备状态 ...

  3. tornado学习笔记day01-高并发性能web框架

    tornado的安装 这里我使用的是虚拟环境中的pip安装,配合清华大学镜像源安装的 pip install tornado -i https://pypi.tuna.tsinghua.edu.cn/ ...

  4. 树莓派学习笔记——I2C设备载入和速率设置

    1.载入设备 方法1--临时载入设备 sudo modprobe -r i2c_bcm2708 #卸载设备 -r代表removesudo modprobe i2c_bcm2708 #重新载入设备 方法 ...

  5. RT-Thread学习笔记——PIN 设备

    前言 本文主要学习RT-Thread的设备驱动框架之PIN 设备,这里以及后面更新的博客内容将不会详细介绍I/O 设备模型,当学习PIN 设备以及其他设备需要对I/O 设备模型有所了解,请和我一样刚学 ...

  6. DirectSound学习笔记(2):创建设备对象

    创建设备对象 创建设备对象最简单的方式是使用 DirectSoundCreate8 函数.函数的第一个参数指定了与对象关联的设备的GUID.你能够通过枚举设备获取这个GUID,也可以传递以下GUID中 ...

  7. RHCA学习笔记:RH442-Unit6 磁盘性能调整

    UNIT 6 Compensating for Physical Disk Characteristics 学习目标:     A. 了解影响磁盘IO的物理因素     B. 应用队列技术调整IO调度 ...

  8. DirectSound学习笔记(3):协作级别

     协作级别 因为Windows是一个多任务环境,多个应用程序可能在任意时刻对一个设备驱动器进行操作.虽然使用协作级别,DirectX仍然确保每个应用程序不能以错误方式或在错误时刻访问设备.每个Dire ...

  9. Zynq SOC学习笔记之设备树

    一. 概述 DTS即DeviceTree Source 设备树源码,是一种描述硬件的数据结构 以树状节点的方式描述一个设备的各种硬件信息细节:CPU.GPIO.时钟.中断.内存等,形成类似文本文件dt ...

  10. JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-命令行方式

    性能优化的步骤 第1步(发现问题):性能监控 一种以非强行或者入侵方式收集或查看应用运营性能数据的活动. 监控通常是指一种在生产.质量评估或者开发环境下实施的带有预防或主动性的活动. 当应用相关干系人 ...

最新文章

  1. 重新定义 AI 服务器架构
  2. 巧用Eclipse中用户自定义包(User Libraries)
  3. java基础---设计一个死锁
  4. python3 安装模块_python3 Crypto模块的安装与使用
  5. 【UIKit】UITableView.02
  6. io流图解 java_详细讲解JAVA中的IO流
  7. LoRa 和NB-IoT 那个才是智慧停车低成本的最佳选择
  8. Spring的Lifecycle
  9. android 回车键事件编程
  10. Star Schema完全参考手册学习笔记七
  11. 被问到一个简单的脚本后
  12. 题解 CF1399D 【Binary String To Subsequences】
  13. 多级队列调度算法可视化界面_多级反馈队列调度算法
  14. Apache Ant 安装教程
  15. 企业级即时通讯通信平台的实现
  16. 2021年国内外离线下载服务全面评测与总结
  17. Redis:字符串MSET、MSETNX、MGET命令介绍
  18. 一个直肠癌患者的最后50天,转发自阮一峰博客
  19. STM32标准库与HAL库全系列下载地址
  20. c语言魔方还原程序案例,利用C语言玩转魔方阵实例教程

热门文章

  1. Unity实现导航到鼠标点击位置并显示路线
  2. 前端实践(4)——表单验证(密码重复输入检查)
  3. sublime双击选中$
  4. session如何和浏览器保持联系
  5. 使用序列标注方法进行关系抽取的相关论文推荐
  6. 解方程c语言程序,C语言程序解线性方程组
  7. android单例模式代码,在Android studio 中使用单例模式(示例代码)
  8. flask服务器获取多个文件,python - OkHttp将带有名称的多个文件上传到Python Flask服务器 - 堆栈内存溢出...
  9. echarts大屏模板_大屏数据展示模板智慧城市
  10. mysql工厂模式_工厂模式IDAL详解