5.如何初始化 XAudio2

这个例子创建一个XAudio2引擎实例,并创建一个Mastering Voice。

初始化XAudio2

1.创建一个XAudio2引擎实例通过XAudio2Create函数。

  1. #ifndef _XBOX
    CoInitializeEx(NULL, COINIT_MULTITHREADED);
    #endif
    IXAudio2* pXAudio2 = NULL;
    HRESULT hr;
    if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )return hr;

Windows
在Windows上,应用程序必须调用CoInitializeEx方法在XAudio2Create之前调用。此外,COM的规则需要CoInitialize或CoInitializeEx在任何线程被调用在使用XAudio2之前。

2.创建一个Mastering Voice通过CreateMasteringVoice函数。
Mastering Voice封装了一个音频设备,是所有音频的最终目的地,通过音频图。

  1. if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice, XAUDIO2_DEFAULT_CHANNELS,XAUDIO2_DEFAULT_SAMPLERATE, 0, 0, NULL ) ) )return hr;

注意
在这个例子中,CreateMasteringVoice使用默认值0 DeviceIndex参数。这导致XAudio2把全局默认的音频设备给Mastering Voice。这个值也可以由遍历可用的音频设备,并根据标准选择一个特定于应用程序的。例如选择音频设备基于特定于应用程序的标准,看如何:列举音频设备。

【XAudio2】5.如何初始化 XAudio2相关推荐

  1. 【XAudio2】8.怎么播放音效

    8.怎么播放音效 本主题描述所需的最小步骤在XAudio2播放预先加载的音频数据.XAudio2的初始化(看如何初始化XAudio2,在第五篇)和音频数据加载(看如何:XAudio2加载音频数据文件, ...

  2. 【XAudio2】3.关键概念

    3.关键概念 这对于使用XAudio2概述介绍了一些关键的概念. XAudio2引擎 声音 音频图 回调 相关主题 XAudio2 Engine IXAudio2是XAudio2引擎和核心接口.创建一 ...

  3. 【XAudio2】2.XAudio2 开始!

    2.XAudio2 开始! 本节包含使用XAudio2关键主题的概述. 本节 XAudio2关键概念 介绍了使用XAudio2的关键概念. XAudio2库版本 描述可用XAudio2库的版本. 如何 ...

  4. XAudio2 (一)

    最近在写游戏菜单,想做一个可以手动设置游戏场景音乐,音效,及音量的菜单,看许多书上用的都是DXMusic,DirectSound,可自从DirectX 9.0c之后,DXMusic和DirectSou ...

  5. 【XAudio2】1.XAudio2 介绍

    1.XAudio2 介绍 XAudio2是一个低级的.跨平台的音频API,用于Microsoft Windows和Xbox 360.它提供了音频混合用于游戏,类似于以前的DirectSound和XAu ...

  6. 【XAduio2】6.如何枚举音频设备

    这个例子向您展示了如何初始化XAudio2当可能存在多个音频设备.GetDeviceCount和GetDeviceDetails方法用于检查音频设备上可用的属性系统.这个过程允许选择最匹配的设备游戏的 ...

  7. XAudio2学习之混音

    XAudio2不仅能够进行採样率转换.还能够进行混音.所谓混音就是将多路音频混合成一路进行输出.混音主要是IXAudio2SubmixVoice进行此项功能. 数据由IXAudio2SourceVoi ...

  8. 【XAudio2】7.如何加载音频数据文件

    7.如何加载音频数据文件 本主题描述的步骤来填充所需的结构在XAudio2播放音频数据.以下步骤加载"fmt"和"data"块的一个音频文件,并使用它们来填充W ...

  9. 【XAudio2】4.库版本

    4.库版本 XAudio2客户可以选择发布-调试版本,两个版本之间的这只适用于在开发过程中,不能装在一个发布产品,发布版本,可再发行的.调试版本提供诊断信息来帮助发展.然而,它是更大,比发布版本慢.发 ...

最新文章

  1. python微控制器编程从零开始-Python微控制器编程从零开始 使用MicroPython
  2. NHibernate配置引发的异常
  3. debian重启ssh服务_Jenkins远程部署Linux服务器
  4. !function(){}()
  5. ssh连接不上linux虚拟机
  6. telegram 机器人_学习使用Python在Telegram中构建您的第一个机器人
  7. python制作点亮图片_MicroPython拼插编程实例:点亮心形8x8点阵
  8. gettext 国际化_如何使用Gettext在Phoenix应用程序中执行本地化
  9. Scrapy框架——CrawlSpider爬取某招聘信息网站
  10. (译).NET4.X并行任务Task需要释放吗?
  11. 解码H264文件的一些基础知识
  12. 金蝶K3线上采购价格审批生效系统开发
  13. Yolov5 Tensorrt win10 C++ 部署2022
  14. 坑爹!攻城狮老爸被苹果解雇 只因女儿晒iPhone X
  15. Idea项目如何打包
  16. Linux 机器重启reboot命令
  17. EWSTM8系列教程06_工程节点选项配置(一)
  18. PTA乙级 1100 校庆——25分
  19. 【C++】十进制转化二进制,二进制转化十进制
  20. Java Web 回顾-HCJ

热门文章

  1. android 网络图片查看器,Handler的用法
  2. 七十二、Python | Leetcode字符串系列(下篇)
  3. keras神经网络模型的保存与加载
  4. java string问题_Java关于String的问题?
  5. 小场景带来大提升:“AI之眼”加持工厂品控流水线,质检质量提升80%
  6. CVPR 2021 | 五官复原效果惊艳,腾讯ARC利用GAN人脸先验来解决
  7. 将SimCLR应用于NLP预训练模型,提升句子语义表征效果
  8. 活动 | INTERFACE#4 解读搜狗机器翻译技术,体验搜狗旅行翻译宝产品
  9. 「知识表示学习」专题论文推荐 | 每周论文清单
  10. 【腾讯面试题】SQL语句优化方法有哪些?